diff options
Diffstat (limited to 'pkg/utils/utils_test.go')
-rw-r--r-- | pkg/utils/utils_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/pkg/utils/utils_test.go b/pkg/utils/utils_test.go index 02aded559..4933cf073 100644 --- a/pkg/utils/utils_test.go +++ b/pkg/utils/utils_test.go @@ -87,3 +87,45 @@ func TestSafeTruncate(t *testing.T) { assert.EqualValues(t, s.expected, SafeTruncate(s.str, s.limit)) } } + +func TestModuloWithWrap(t *testing.T) { + type scenario struct { + n int + max int + expected int + } + + scenarios := []scenario{ + { + n: 0, + max: 0, + expected: 0, + }, + { + n: 0, + max: 1, + expected: 0, + }, + { + n: 1, + max: 0, + expected: 0, + }, + { + n: 3, + max: 2, + expected: 1, + }, + { + n: -1, + max: 2, + expected: 1, + }, + } + + for _, s := range scenarios { + if s.expected != ModuloWithWrap(s.n, s.max) { + t.Errorf("expected %d, got %d, for n: %d, max: %d", s.expected, ModuloWithWrap(s.n, s.max), s.n, s.max) + } + } +} |