@Test public void testAddFront() { assertEquals("<>", deque.toString()); deque.addFront(3); deque.addFront(7); deque.addFront(4); assertEquals("<4, 7, 3>", deque.toString()); }
@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 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 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 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()); }
public static void main(String[] args) { Deque<String> Ds = new LinkedDeque<String>(); Ds.pushLeft("Hello"); Ds.pushRight("KevinRight"); Ds.pushLeft("KevinLeft"); System.out.println("Three Pushes - " + Ds.toString()); Ds.popLeft(); System.out.println("Popped Left - " + Ds.toString()); Ds.pushRight("188"); System.out.println("Push Right - " + Ds.toString()); Ds.popRight(); System.out.println("Pop Right - " + Ds.toString()); System.out.println(Ds.toString()); Ds.pushRight("KevinRight2"); System.out.println(Ds.toString() + " Stack Size: " + Ds.size()); Ds.popLeft(); Ds.popLeft(); System.out.println("Popping until empty: " + Ds.toString()); // Ds.popRight(); // Uncomment for error messages. }