Lines Matching +full:non +full:- +full:unique
7 // http://www.apache.org/licenses/LICENSE-2.0
21 func checkSameStringSet(t *testing.T, set *StringSet, unique []string) {
23 want := len(unique)
27 t.Errorf("NewStringSet(%v) want length %v, got %v", unique, want, got)
31 for _, s := range unique {
41 sort.Strings(unique)
44 want := unique[i]
61 unique := []string{"a", "b", "c"}
62 set := NewStringSet(unique...)
63 checkSameStringSet(t, set, unique)
65 // Append an already-present element.
66 nonUnique := append(unique, unique[0])
69 // Non-unique unique should collapse to one.
70 want = len(unique)
95 unique := []string{"a", "b", "c"}
96 set := NewStringSet(unique...)
98 // Insert existing element, which should basically be a no-op.
99 set.Insert(unique[0])
100 checkSameStringSet(t, set, unique)
102 // Actually insert new unique elements.
104 longer := append(unique, additional...)
110 unique := []string{"a", "b", "c"}
111 set := NewStringSet(unique...)
113 // Delete non-existent element, which should basically be a no-op.
115 checkSameStringSet(t, set, unique)
118 set.Delete(unique[1:]...)
119 checkSameStringSet(t, set, unique[:1])
181 // Check two non-empty, non-nil disjoint sets.
216 // Check A - A returns the empty set.
228 // Check A - C simply returns elements in A if A and C are disjoint.
236 // Check A - B returns elements in A not in B.
246 // Check B - A returns elements in B not in A.
260 // Check Unique(nil) returns a copy of the receiver.
262 got := setA.Unique(nil)
267 // Check Unique returns only elements in A and B not in both A and B.
269 got = setA.Unique(setB)
276 // Check Unique of two disjoint sets is the Union of those sets.
278 got = setA.Unique(setC)
286 // Check Unique is the Union of A - B and B - A.
292 got = setA.Unique(setB)
327 // Check Equal returns false for sets of non-equal length.
338 // Check Equal returns false for equal-length sets with different elements.