summaryrefslogtreecommitdiffstats
path: root/pkg/utils/utils_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/utils/utils_test.go')
-rw-r--r--pkg/utils/utils_test.go42
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)
+ }
+ }
+}