@Test(dataProvider = "capacityData",dependsOnMethods = {"testCapacity"}) public void testEmptynessAndSize(final int initialCapacity, final int elementCount) { final IntMaxHeap heap = new IntMaxHeap(initialCapacity); final Random rnd = Utils.getRandomGenerator(); Assert.assertEquals(heap.size(),0); Assert.assertTrue(heap.isEmpty()); for (int i = 0; i < elementCount; i++) { final int v = rnd.nextInt(); heap.add(v); Assert.assertEquals(heap.size(),i+1); Assert.assertFalse(heap.isEmpty()); } }
@Test(dataProvider = "capacityData", dependsOnMethods = {"testEmptynessAndSize"}) public void testClear(final int initialCapacity, final int elementCount) { final IntMaxHeap heap = new IntMaxHeap(initialCapacity); final Random rnd = Utils.getRandomGenerator(); for (int i = 0; i < elementCount; i++) { final int v = rnd.nextInt(); heap.add(v); } heap.clear(); Assert.assertEquals(heap.size(),0); Assert.assertTrue(heap.isEmpty()); }
@Test(dataProvider = "capacityData", dependsOnMethods = {"testCapacity"}) public void testAddArray(final int initialCapacity, final int elementCount) { final IntMaxHeap addHeap = new IntMaxHeap(initialCapacity); final IntMaxHeap arrayAddHeap = new IntMaxHeap(initialCapacity); final Random rnd = Utils.getRandomGenerator(); final int[] values = new int[elementCount]; for (int i = 0; i < elementCount; i++) { final int v = rnd.nextInt(); values[i] = v; addHeap.add(v); } arrayAddHeap.add(values); Assert.assertEquals(arrayAddHeap.size(),addHeap.size()); while (!arrayAddHeap.isEmpty()) Assert.assertEquals(arrayAddHeap.remove(),addHeap.remove()); }