storage/resolve/resolve_test.go

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)
}
}
}