Files
gonic/server/ctrladmin/ctrl_test.go
2020-03-12 01:25:24 +00:00

40 lines
750 B
Go

package ctrladmin
import "testing"
// silly test for a simple function. i was getting used to
// testing in go at the time. might aswell keep it though
func TestFirstExisting(t *testing.T) {
cases := []struct {
name string
values []string
or string
exp string
}{
{
"none present",
[]string{"one", "two", "three"}, "default",
"one",
},
{
"first missing",
[]string{"", "two", "three"}, "default",
"two",
},
{
"all missing",
[]string{"", "", ""}, "default",
"default",
},
}
for _, tc := range cases {
tc := tc // pin
t.Run(tc.name, func(t *testing.T) {
actu := firstExisting(tc.or, tc.values...)
if actu != tc.exp {
t.Errorf("expected %q, got %q", tc.exp, actu)
}
})
}
}