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