package resolve import ( "strings" "testing" ) func TestResolveLimitsStart(t *testing.T) { cases := map[string]struct { in string out string }{ "explicit": {in: "no", out: "no"}, } for name, c := range cases { input := strings.Split(c.in, ",") out := LimitsStart(input) if out != c.out { t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in) } } } func TestResolveLimitsStop(t *testing.T) { cases := map[string]struct { in string out string }{ "short arr": {in: "", out: "}}}}}}"}, "explicit": {in: ",no", out: "no"}, } for name, c := range cases { input := strings.Split(c.in, ",") out := LimitsStop(input) if out != c.out { t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in) } } } func TestResolveLimitsLimit(t *testing.T) { cases := map[string]struct { in string out string }{ "15": {in: ",,15", out: "15"}, "0 set": {in: ",,0", out: "0"}, "0 default": {in: ",,", out: "0"}, } for name, c := range cases { input := strings.Split(c.in, ",") out := LimitsLimit(input) if out != c.out { t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in) } } } func TestResolveLimitsAscending(t *testing.T) { cases := map[string]struct { in string out string }{ "desc": {in: "a,b,c,-", out: "false"}, "asc": {in: "a,b,c,+", out: "true"}, "default asc prev": {in: "a,b,c,", out: "true"}, "default asc empty": {in: ",,,", out: "true"}, } for name, c := range cases { input := strings.Split(c.in, ",") out := LimitsAscending(input) if out != c.out { t.Errorf("%v: got %v, want %v from %v", name, out, c.out, c.in) } } }