81 lines
1.7 KiB
Go
Executable File
81 lines
1.7 KiB
Go
Executable File
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)
|
|
}
|
|
}
|
|
}
|