minitor-go/util_test.go
Ian Fijolek 32745c816c
Some checks failed
continuous-integration/drone/push Build is failing
Improve test structures using subtests
2024-11-14 11:35:26 -08:00

42 lines
810 B
Go

package main
import (
"fmt"
"testing"
)
func TestUtilEqualSliceString(t *testing.T) {
cases := []struct {
a, b []string
expected bool
}{
// Equal cases
{nil, nil, true},
{nil, []string{}, true},
{[]string{}, nil, true},
{[]string{"a"}, []string{"a"}, true},
// Inequal cases
{nil, []string{"b"}, false},
{[]string{"a"}, nil, false},
{[]string{"a"}, []string{"b"}, false},
{[]string{"a"}, []string{"a", "b"}, false},
{[]string{"a", "b"}, []string{"b"}, false},
}
for _, c := range cases {
c := c
t.Run(fmt.Sprintf("%v %v", c.a, c.b), func(t *testing.T) {
t.Parallel()
actual := EqualSliceString(c.a, c.b)
if actual != c.expected {
t.Errorf(
"EqualSliceString(%v, %v), expected=%v actual=%v",
c.a, c.b, c.expected, actual,
)
}
})
}
}