/** * {@inheritDoc} */ public boolean containsAll(final Collection<?> coll) { for (final Object t : coll) { if (!contains(t)) { return false; } } return true; }
@Test public void containsValuesAddedFromDisjointSet() { addTwoElements(testSet); final ObjectHashSet<Integer> 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<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)); }
/** * Fast Path set difference for comparison with another ObjectHashSet. * <p> * NB: garbage free in the identical case, allocates otherwise. * * @param other the other set to subtract * @return null if identical, otherwise the set of differences */ public ObjectHashSet<T> difference(final ObjectHashSet<T> other) { ObjectHashSet<T> difference = null; for (final T value : values) { if (value != MISSING_VALUE && !other.contains(value)) { if (difference == null) { difference = new ObjectHashSet<>(size); } difference.add(value); } } return difference; }
@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 doesNotContainMissingValue() { assertFalse(testSet.contains(2048)); }
@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)); }
@Test public void shouldResizeWhenItHitsCapacity() { for (int i = 0; i < 2 * INITIAL_CAPACITY; i++) { assertTrue(testSet.add(String.valueOf(i))); } for (int i = 0; i < 2 * INITIAL_CAPACITY; i++) { assertTrue(testSet.contains(String.valueOf(i))); } }
@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 doesNotContainRemovedIntersectingSet() { addTwoElements(testSet); final ObjectHashSet<String> 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 containsAddedElement() { assertTrue(testSet.add(1)); assertTrue(testSet.contains(1)); }
@Test public void shouldResizeWhenItHitsCapacity() { for (int i = 0; i < 2 * INITIAL_CAPACITY; i++) { assertTrue(testSet.add(i)); } for (int i = 0; i < 2 * INITIAL_CAPACITY; i++) { assertTrue(testSet.contains(i)); } }
@Test public void containsAddedElement() { assertTrue(testSet.add("1")); assertTrue(testSet.contains("1")); }
@Test public void removingAPresentElementRemovesIt() { assertTrue(testSet.add(1)); assertTrue(testSet.remove(1)); assertFalse(testSet.contains(1)); }
@Test public void removingAPresentElementRemovesIt() { assertTrue(testSet.add("1")); assertTrue(testSet.remove("1")); assertFalse(testSet.contains("1")); }
/** * {@inheritDoc} */ public boolean containsAll(final Collection<?> coll) { for (final Object t : coll) { if (!contains(t)) { return false; } } return true; }
/** * {@inheritDoc} */ public boolean containsAll(final Collection<?> coll) { for (final Object t : coll) { if (!contains(t)) { return false; } } return true; }