package util
import (
"reflect"
"testing"
)
func TestUniqueStrings(t *testing.T) {
cases := map[string]struct {
In []string
Out []string
}{
"empty": {
In: []string{},
Out: []string{},
},
"single": {
In: []string{"A"},
Out: []string{"A"},
},
"dedup": {
In: []string{"A", "A", "B", "A"},
Out: []string{"A", "B"},
},
"sort": {
In: []string{"C", "A", "A", "B", "A"},
Out: []string{"A", "B", "C"},
},
}
for k, testCase := range cases {
out := UniqueStrings(testCase.In)
if !reflect.DeepEqual(out, testCase.Out) {
t.Errorf("%s: Expected %#v, got %#v", k, testCase.Out, out)
}
}
}