@Test public void testClone() { set.add(1, 2, 3); IntDoubleLinkedSet cloned = set.clone(); cloned.remove(1); assertSortedListEquals(set.toArray(), 1, 2, 3); assertSortedListEquals(cloned.toArray(), 2, 3); }
@Test public void testFromMethod() { IntOpenHashSet list2 = new IntOpenHashSet(); list2.add(1, 3, 5); IntDoubleLinkedSet s1 = IntDoubleLinkedSet.from(1, 3, 5); IntDoubleLinkedSet s2 = IntDoubleLinkedSet.from(1, 3, 5); assertSortedListEquals(list2.toArray(), s1.toArray()); assertSortedListEquals(list2.toArray(), s2.toArray()); }
/** * Run some random insertions/ deletions and compare the results against <code>java.util.HashSet * </code>. */ @Test public void testAgainstHashMap() { final java.util.Random rnd = new java.util.Random(0x11223344); final java.util.HashSet<Integer> other = new java.util.HashSet<Integer>(); for (int size = 1000; size < 20000; size += 4000) { other.clear(); set.clear(); for (int round = 0; round < size * 20; round++) { Integer key = rnd.nextInt(size); if (rnd.nextBoolean()) { assertEquals(other.add(key), set.add(key)); assertTrue(set.contains(key)); } else { assertEquals(other.remove(key), set.remove(key)); } assertEquals(other.size(), set.size()); } int[] actual = set.toArray(); int[] expected = new int[other.size()]; int i = 0; for (Integer v : other) expected[i++] = v; Arrays.sort(expected); Arrays.sort(actual); assertArrayEquals(expected, actual); } }
@Test public void testClear() { set.add(1, 2, 3); set.clear(); assertEquals(0, set.size()); assertEquals(0, set.toArray().length); }
@Test public void testRemove() { set.add(0, 1, 2, 3, 4); assertTrue(set.remove(2)); assertFalse(set.remove(2)); assertEquals(4, set.size()); assertSortedListEquals(set.toArray(), 0, 1, 3, 4); }
@Test public void testConstructorFromContainer() { IntOpenHashSet list2 = new IntOpenHashSet(); list2.add(1, 3, 5); set = new IntDoubleLinkedSet(list2); assertEquals(3, set.size()); assertSortedListEquals(list2.toArray(), set.toArray()); }
@Test public void testRemoveAllFromLookupContainer() { set.add(0, 1, 2, 3, 4); IntOpenHashSet list2 = new IntOpenHashSet(); list2.add(1, 3, 5); assertEquals(2, set.removeAll(list2)); assertEquals(3, set.size()); assertSortedListEquals(set.toArray(), 0, 2, 4); }
@Test public void testAddAll() { IntDoubleLinkedSet set2 = new IntDoubleLinkedSet(); set2.add(1, 2); set.add(0, 1); assertEquals(1, set.addAll(set2)); assertEquals(0, set.addAll(set2)); assertEquals(3, set.size()); assertSortedListEquals(set.toArray(), 0, 1, 2); }
@Test public void testRetainAllWithPredicate() { set.add(0, key1, key2, 3, 4, 5); assertEquals( 4, set.retainAll( new IntPredicate() { public boolean apply(int v) { return v == key1 || v == key2; }; })); assertSortedListEquals(set.toArray(), key1, key2); }
@Test public void testRemoveAllWithPredicate() { set.add(0, key1, key2); assertEquals( 1, set.removeAll( new IntPredicate() { public boolean apply(int v) { return v == key1; }; })); assertSortedListEquals(set.toArray(), 0, key2); }
@Test public void testAddVarArgs() { set.add(0, 1, 2, 1, 0); assertEquals(3, set.size()); assertSortedListEquals(set.toArray(), 0, 1, 2); }