@Test(dataProvider = "elementCountMaxElementData", dependsOnMethods = {"testCompositionByCollectionConstructor","testIndexOf"}) public void testRemoveHalf(final int elementCount, final int maxElement) { final List<Integer> elementList = generateElementCollection(elementCount, maxElement); final IndexedSet<Integer> subject = new IndexedSet<>(elementList); final Set<Integer> elementSet = new LinkedHashSet<>(elementList); final int removeCount = (subject.size() + 1) / 2; final Random rnd = Utils.getRandomGenerator(); for (int i = 0; i < removeCount; i++) { final int removeIndex = rnd.nextInt(subject.size()); final int removeElement = subject.get(removeIndex); subject.remove(removeElement); elementSet.remove(removeElement); } assertEquals(subject,elementSet); }
@Test(dataProvider = "elementCountMaxElementData", dependsOnMethods = {"testCompositionByCollectionConstructor","testIndexOf"}) public void testRemoveAll(final int elementCount, final int maxElement) { final List<Integer> elementList = generateElementCollection(elementCount, maxElement); final IndexedSet<Integer> subject = new IndexedSet<>(elementList); final Set<Integer> elementSet = new LinkedHashSet<>(elementList); final int removeCount = subject.size(); final Random rnd = Utils.getRandomGenerator(); for (int i = 0; i < removeCount; i++) { final int removeIndex = rnd.nextInt(subject.size()); final int removeElement = subject.get(removeIndex); subject.remove(removeElement); elementSet.remove(removeElement); } assertEquals(subject,elementSet); }
@Test(dataProvider = "elementCountMaxElementData", dependsOnMethods = {"testCompositionByCollectionConstructor","testIndexOf"}) public void testRemoveAndAdd(final int elementCount, final int maxElement) { final List<Integer> elementList = generateElementCollection(elementCount, maxElement); final IndexedSet<Integer> subject = new IndexedSet<>(elementList); final Set<Integer> elementSet = new LinkedHashSet<>(elementList); final int removeCount = subject.size(); final Random rnd = Utils.getRandomGenerator(); for (int i = 0; i < removeCount; i++) { final int removeIndex = rnd.nextInt(subject.size()); final int removeElement = subject.get(removeIndex); subject.remove(removeElement); elementSet.remove(removeElement); } subject.addAll(elementList); elementSet.addAll(elementList); assertEquals(subject, elementSet); }