blob: 403b6df884928983dd9a69b89e6d50801df230ce (
plain)
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
|
package set
import (
"testing"
"github.com/matryer/is"
)
func TestSet(t *testing.T) {
is := is.New(t)
s := make(Set)
is.Equal(s.Len(), 0)
is.True(s.IsEmpty())
s.Add("1")
is.Equal(s.Len(), 1)
is.True(!s.IsEmpty())
is.True(s.Contains("1"))
is.True(!s.Contains("2"))
is.Equal(s.Slice(), []string{"1"})
r := make(Set)
r.Add("2")
is.True(s.Intersection(&r).IsEmpty())
is.Equal(s.Union(&r).Len(), 2)
is.Equal(s.Union(&r).SortedSlice(), []string{"1", "2"})
r.Add("3")
r.Add("4")
r.Add("5")
r.Add("6")
r.Add("7")
r.Add("8")
top := make(Set)
top.Add("2")
top.Add("3")
is.Equal(r.TopK(2), &top)
r.Clear()
is.Equal(r.Len(), 0)
}
|