@Test public void testAddBack() { assertEquals("<>", deque.toString()); deque.addBack(3); deque.addBack(7); deque.addBack(4); assertEquals("<3, 7, 4>", deque.toString()); }
@Test public void testGenericity() { Deque<String> d = new Deque<String>(); d.addBack("a"); d.addBack("b"); d.addBack("c"); assertEquals("<a, b, c>", d.toString()); }
@Test public void testRemoveFront() { deque.addBack(3); deque.addBack(7); deque.addBack(4); assertEquals(new Integer(3), deque.removeFront()); assertEquals("<7, 4>", deque.toString()); assertEquals(new Integer(7), deque.removeFront()); assertEquals("<4>", deque.toString()); assertEquals(new Integer(4), deque.removeFront()); assertEquals("<>", deque.toString()); }
@Test public void testIterator() { deque.addBack(3); deque.addBack(7); deque.addBack(4); Iterator<Integer> iterator = deque.iterator(); assertTrue(iterator.hasNext()); assertEquals(new Integer(3), iterator.next()); assertTrue(iterator.hasNext()); assertEquals(new Integer(7), iterator.next()); assertTrue(iterator.hasNext()); assertEquals(new Integer(4), iterator.next()); assertFalse(iterator.hasNext()); // The deque should not have been modified by the iteration assertEquals("<3, 7, 4>", deque.toString()); }
@Test public void testAddThenRemove() { deque.addBack(3); assertEquals(new Integer(3), deque.removeBack()); deque.addFront(7); assertEquals(new Integer(7), deque.removeBack()); assertTrue(deque.isEmpty()); }