@Override public void addTail(final T t, final int priority) { checkHighest(priority); levels[priority].addTail(t); exclusiveIncrementSize(1); }
@Override public void addTail(final T t, final int priority) { checkHighest(priority); levels[priority].addTail(t); exclusiveIncrementSize(1); }
@Override public void addTail(final T t, final int priority) { checkHighest(priority); levels[priority].addTail(t); exclusiveIncrementSize(1); }
@Override public void addTail(final T t, final int priority) { checkHighest(priority); levels[priority].addTail(t); exclusiveIncrementSize(1); }
@Override public void addTail(final T t, final int priority) { checkHighest(priority); levels[priority].addTail(t); exclusiveIncrementSize(1); }
@Override public void addTail(final T t, final int priority) { checkHighest(priority); levels[priority].addTail(t); exclusiveIncrementSize(1); }
@Override public void addTail(final T t, final int priority) { checkHighest(priority); levels[priority].addTail(t); exclusiveIncrementSize(1); }
@Test public void testCreateIteratorBeforeAddElements() { int num = 10; LinkedListIterator<Integer> iter = list.iterator(); assertNotNull(iter); for (int i = 0; i < num; i++) { list.addTail(i); } testIterate1(num, iter); }
@Test public void testCreateIteratorAfterAddElements() { int num = 10; for (int i = 0; i < num; i++) { list.addTail(i); } LinkedListIterator<Integer> iter = list.iterator(); assertNotNull(iter); testIterate1(num, iter); }
@Test public void testRemoveHeadAndTail1() { LinkedListIterator<Integer> iter = list.iterator(); int num = 10; for (int i = 0; i < num; i++) { list.addTail(i); assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); iter.remove(); } }
@Test public void testRemoveHead3() { int num = 10; LinkedListIterator<Integer> iter = list.iterator(); for (int i = 0; i < num; i++) { list.addTail(i); } for (int i = 0; i < num; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); iter.remove(); } for (int i = num; i < num * 2; i++) { list.addTail(i); } for (int i = num; i < num * 2; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); iter.remove(); } }
@Test public void testAddTail() { int num = 10; assertEquals(0, list.size()); for (int i = 0; i < num; i++) { list.addTail(i); assertEquals(i + 1, list.size()); } for (int i = 0; i < num; i++) { assertEquals(i, list.poll().intValue()); assertEquals(num - i - 1, list.size()); } }
@Test public void testRemoveTail3() { int num = 10; LinkedListIterator<Integer> iter = list.iterator(); for (int i = 0; i < num; i++) { list.addTail(i); } for (int i = 0; i < num; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } assertFalse(iter.hasNext()); // This should remove the 9th element and move the iterator back to position 8 iter.remove(); for (int i = num; i < num * 2; i++) { list.addTail(i); } assertTrue(iter.hasNext()); assertEquals(8, iter.next().intValue()); for (int i = num; i < num * 2; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } }
@Test public void testRemoveHead1() { int num = 10; LinkedListIterator<Integer> iter = list.iterator(); for (int i = 0; i < num; i++) { list.addTail(i); } iter.next(); iter.remove(); for (int i = 1; i < num; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } assertFalse(iter.hasNext()); }
@Test public void testRemoveHeadAndTail3() { LinkedListIterator<Integer> iter = list.iterator(); int num = 10; for (int i = 0; i < num; i++) { if (i % 2 == 0) { list.addHead(i); } else { list.addTail(i); } assertEquals(1, list.size()); assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); iter.remove(); } }
@Test public void testRemoveInTurn() { LinkedListIterator<Integer> iter = list.iterator(); int num = 10; for (int i = 0; i < num; i++) { list.addTail(i); } for (int i = 0; i < num; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); iter.remove(); } assertFalse(iter.hasNext()); assertEquals(0, list.size()); }
@Test public void testRemoveHead2() { int num = 10; for (int i = 0; i < num; i++) { list.addTail(i); } LinkedListIterator<Integer> iter = list.iterator(); iter.next(); iter.remove(); iter = list.iterator(); for (int i = 1; i < num; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } assertFalse(iter.hasNext()); }
@Test public void testRemoveMiddle() { int num = 10; for (int i = 0; i < num; i++) { list.addTail(i); } LinkedListIterator<Integer> iter = list.iterator(); for (int i = 0; i < num / 2; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } // Remove the 4th element iter.remove(); iter = list.iterator(); for (int i = 0; i < num; i++) { if (i != num / 2 - 1) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } } assertFalse(iter.hasNext()); }
@Test public void testRemoveTail1() { int num = 10; LinkedListIterator<Integer> iter = list.iterator(); for (int i = 0; i < num; i++) { list.addTail(i); } for (int i = 0; i < num; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } assertFalse(iter.hasNext()); // Remove the last one, that's element 9 iter.remove(); iter = list.iterator(); for (int i = 0; i < num - 1; i++) { assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); } assertFalse(iter.hasNext()); }
@Test public void testMultipleIterators1() { int num = 10; for (int i = 0; i < num; i++) { list.addTail(i); } LinkedListIterator<Integer> iter1 = list.iterator(); LinkedListIterator<Integer> iter2 = list.iterator(); LinkedListIterator<Integer> iter3 = list.iterator(); for (int i = 0; i < num; ) { assertTrue(iter1.hasNext()); assertEquals(i++, iter1.next().intValue()); iter1.remove(); if (i == 10) { break; } assertTrue(iter2.hasNext()); assertEquals(i++, iter2.next().intValue()); iter2.remove(); assertTrue(iter3.hasNext()); assertEquals(i++, iter3.next().intValue()); iter3.remove(); } }