(t *testing.T)
| 22 | ) |
| 23 | |
| 24 | func TestStringSet(t *testing.T) { |
| 25 | assert := assert.New(t) |
| 26 | |
| 27 | set := NewStringSet() |
| 28 | vals := []string{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"} |
| 29 | for i := range vals { |
| 30 | set.Insert(vals[i]) |
| 31 | set.Insert(vals[i]) |
| 32 | set.Insert(vals[i]) |
| 33 | set.Insert(vals[i]) |
| 34 | set.Insert(vals[i]) |
| 35 | } |
| 36 | assert.Equal(len(vals), set.Count()) |
| 37 | |
| 38 | assert.Equal(len(vals), len(set)) |
| 39 | for i := range vals { |
| 40 | assert.True(set.Exist(vals[i])) |
| 41 | } |
| 42 | |
| 43 | assert.False(set.Exist("11")) |
| 44 | |
| 45 | set = NewStringSet("1", "2", "3", "4", "5", "6") |
| 46 | for i := 1; i < 7; i++ { |
| 47 | assert.True(set.Exist(fmt.Sprintf("%d", i))) |
| 48 | } |
| 49 | assert.False(set.Exist("7")) |
| 50 | |
| 51 | s1 := NewStringSet("1", "2", "3") |
| 52 | s2 := NewStringSet("4", "2", "3") |
| 53 | s3 := s1.Intersection(s2) |
| 54 | assert.Equal(NewStringSet("2", "3"), s3) |
| 55 | |
| 56 | s4 := NewStringSet("4", "5", "3") |
| 57 | assert.Equal(NewStringSet("3"), s3.Intersection(s4)) |
| 58 | |
| 59 | s5 := NewStringSet("4", "5") |
| 60 | assert.Equal(NewStringSet(), s3.Intersection(s5)) |
| 61 | |
| 62 | s6 := NewStringSet() |
| 63 | assert.Equal(NewStringSet(), s3.Intersection(s6)) |
| 64 | } |
nothing calls this directly
no test coverage detected