1
0
Fork 0
golang-github-nicholas-fedo.../internal/dedupe/dedupe_test.go
Daniel Baumann c0c4addb85
Adding upstream version 0.8.9.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-22 10:16:14 +02:00

41 lines
892 B
Go

package dedupe_test
import (
"reflect"
"testing"
"github.com/nicholas-fedor/shoutrrr/internal/dedupe"
)
func TestRemoveDuplicates(t *testing.T) {
tests := map[string]struct {
input []string
want []string
}{
"no duplicates": {
input: []string{"a", "b", "c"},
want: []string{"a", "b", "c"},
},
"duplicate inside slice": {
input: []string{"a", "b", "a", "c"},
want: []string{"a", "b", "c"},
},
"duplicate at end of slice": {
input: []string{"a", "b", "c", "a"},
want: []string{"a", "b", "c"},
},
"duplicate next to each other inside slice": {
input: []string{"a", "b", "b", "c"},
want: []string{"a", "b", "c"},
},
}
for name, tc := range tests {
t.Run(name, func(t *testing.T) {
got := dedupe.RemoveDuplicates(tc.input)
if !reflect.DeepEqual(tc.want, got) {
t.Fatalf("expected: %#v, got: %#v", tc.want, got)
}
})
}
}