-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathslice_test.go
43 lines (40 loc) · 1.13 KB
/
slice_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package gutil
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestUniqueStrings(t *testing.T) {
var testTable = []struct {
tag string
strings []string
unique []string
}{
{"t1", nil, nil},
{"t2", []string{}, []string{}},
{"t3", []string{"a", "b"}, []string{"a", "b"}},
{"t4", []string{"a", "b", "b", "c"}, []string{"a", "b", "c"}},
}
for _, data := range testTable {
assert.Equal(t, data.unique, UniqueStrings(data.strings), data.tag)
}
}
func TestRemoveFromStrings(t *testing.T) {
var testTable = []struct {
tag string
strings []string
removal []string
cleanList []string
}{
{"t1", nil, nil, nil},
{"t2", nil, []string{}, nil},
{"t3", nil, []string{"a"}, nil},
{"t4", []string{}, []string{}, []string{}},
{"t5", []string{"a"}, nil, []string{"a"}},
{"t6", []string{"a", "b"}, []string{"b"}, []string{"a"}},
{"t7", []string{"a", "b"}, []string{"b", "b"}, []string{"a"}},
{"t8", []string{"a", "b", "b", "c"}, []string{"a", "b", "c"}, []string{}},
}
for _, data := range testTable {
assert.Equal(t, data.cleanList, RemoveFromStrings(data.strings, data.removal...), data.tag)
}
}