@Parameters public static ObjectHashSet[] data() { return new ObjectHashSet[] { new ObjectHashSet<String>(INITIAL_CAPACITY), new ObjectHashSet<String>(INITIAL_CAPACITY, Hashing.DEFAULT_LOAD_FACTOR, false)}; }
@Test public void containsEmptySet() { final ObjectHashSet<Integer> other = new ObjectHashSet<>(100); assertTrue(testSet.containsAll(other)); }
@Test public void differenceReturnsSetDifference() { addTwoElements(testSet); final ObjectHashSet<String> other = new ObjectHashSet<>(100); other.add("1"); final ObjectHashSet<String> diff = testSet.difference(other); assertThat(diff, containsInAnyOrder("1001")); }
@Test public void copiesOtherIntHashSet() { addTwoElements(testSet); final ObjectHashSet<Integer> other = new ObjectHashSet<>(100); other.copy(testSet); assertContainsElements(other); }
@Test public void setsWithTheSameValuesAreEqual() { final ObjectHashSet<Integer> other = new ObjectHashSet<>(100); addTwoElements(testSet); addTwoElements(other); assertEquals(testSet, other); }
@Test public void setsWithTheDifferentSizesAreNotEqual() { final ObjectHashSet<Integer> other = new ObjectHashSet<>(100); addTwoElements(testSet); other.add(1001); assertNotEquals(testSet, other); }
@Test public void containsSubset() { addTwoElements(testSet); final ObjectHashSet<String> subset = new ObjectHashSet<>(100); subset.add("1"); assertTrue(testSet.containsAll(subset)); }
@Test public void removingEmptySetDoesNothing() { addTwoElements(testSet); assertFalse(testSet.removeAll(new ObjectHashSet<>(100))); assertContainsElements(testSet); }
@Test public void addingEmptySetDoesNothing() { addTwoElements(testSet); assertFalse(testSet.addAll(new ObjectHashSet<>(100))); assertContainsElements(testSet); }
@Test public void doesNotContainSuperset() { addTwoElements(testSet); final ObjectHashSet<String> superset = new ObjectHashSet<>(100); addTwoElements(superset); superset.add("15"); assertFalse(testSet.containsAll(superset)); }
@Test public void setsWithTheSameValuesHaveTheSameHashcode() { addTwoElements(testSet); final ObjectHashSet<Integer> secondSet = new ObjectHashSet<>(100); addTwoElements(secondSet); assertEquals(testSet.hashCode(), secondSet.hashCode()); }
@Test public void doesNotContainSuperset() { addTwoElements(testSet); final ObjectHashSet<Integer> superset = new ObjectHashSet<>(100); addTwoElements(superset); superset.add(15); assertFalse(testSet.containsAll(superset)); }
@Test public void addingSubsetDoesNothing() { addTwoElements(testSet); final ObjectHashSet<Integer> subset = new ObjectHashSet<>(100); subset.add(1); assertFalse(testSet.addAll(subset)); assertContainsElements(testSet); }
@Test public void addingSubsetDoesNothing() { addTwoElements(testSet); final ObjectHashSet<String> subset = new ObjectHashSet<>(100); subset.add("1"); assertFalse(testSet.addAll(subset)); assertContainsElements(testSet); }
@Test public void addingEqualSetDoesNothing() { addTwoElements(testSet); final ObjectHashSet<String> equal = new ObjectHashSet<>(100); addTwoElements(equal); assertFalse(testSet.addAll(equal)); assertContainsElements(testSet); }
@Test public void isEmptyAfterRemovingEqualSet() { addTwoElements(testSet); final ObjectHashSet<Integer> equal = new ObjectHashSet<>(100); addTwoElements(equal); assertTrue(testSet.removeAll(equal)); assertTrue(testSet.isEmpty()); }
@Test public void doesNotContainRemovedIntersectingSet() { addTwoElements(testSet); final ObjectHashSet<Integer> intersecting = new ObjectHashSet<>(100); intersecting.add(1); intersecting.add(1002); assertTrue(testSet.removeAll(intersecting)); assertTrue(testSet.contains(1001)); assertFalse(testSet.containsAll(intersecting)); }
@Test public void containsValuesAddedFromIntersectingSet() { addTwoElements(testSet); final ObjectHashSet<Integer> intersecting = new ObjectHashSet<>(100); intersecting.add(1); intersecting.add(1002); assertTrue(testSet.addAll(intersecting)); assertTrue(testSet.contains(1)); assertTrue(testSet.contains(1001)); assertTrue(testSet.containsAll(intersecting)); }
@Test public void containsValuesAddedFromDisjointSet() { addTwoElements(testSet); final ObjectHashSet<String> disjoint = new ObjectHashSet<>(100); disjoint.add("2"); disjoint.add("1002"); assertTrue(testSet.addAll(disjoint)); assertTrue(testSet.contains("1")); assertTrue(testSet.contains("1001")); assertTrue(testSet.containsAll(disjoint)); }
@Test public void containsValuesAddedFromIntersectingSet() { addTwoElements(testSet); final ObjectHashSet<String> intersecting = new ObjectHashSet<>(100); intersecting.add("1"); intersecting.add("1002"); assertTrue(testSet.addAll(intersecting)); assertTrue(testSet.contains("1")); assertTrue(testSet.contains("1001")); assertTrue(testSet.containsAll(intersecting)); }