@Test public void Deque_addLast_AddsTwo() { deque.addLast("firstString"); deque.addLast("secondString"); assertFalse(deque.isEmpty()); assertEquals(deque.size(), 2); }
@Test public void Deque_addLast_removeLast_AddsRemovesTwo() { deque.addLast("firstString"); deque.addLast("secondString"); assertFalse(deque.isEmpty()); assertEquals(deque.size(), 2); String returnedString = deque.removeLast(); assertEquals(returnedString, "secondString"); assertFalse(deque.isEmpty()); assertEquals(deque.size(), 1); returnedString = deque.removeLast(); assertEquals(returnedString, "firstString"); assertTrue(deque.isEmpty()); assertEquals(deque.size(), 0); }
@Test public void testIsEmpty() { Deque<String> deque = new Deque<String>(); assertTrue(deque.isEmpty()); deque.addFirst(new String("test first")); deque.addLast(new String("test last")); deque.addLast(new String("test last")); deque.addFirst(new String("test first")); deque.addLast(new String("test last")); assertFalse(deque.isEmpty()); deque.removeFirst(); deque.removeFirst(); deque.removeFirst(); deque.removeLast(); deque.removeLast(); assertTrue(deque.isEmpty()); }
@Test public void testAddition() { Deque<String> deque = new Deque<String>(); deque.addFirst(new String("test")); assertFalse(deque.isEmpty()); deque.addFirst(new String("test first")); deque.addLast(new String("test last")); assertEquals(deque.size(), 3); }
@Test public void testAdditionReverseOrdered() { Deque<Integer> deque = new Deque<Integer>(); for (int i = 0; i < 10; i++) { deque.addLast(i); } for (int i = 0; i < 10; i++) { assertEquals(deque.removeFirst(), new Integer(i)); } }
@Test(expected = NoSuchElementException.class) public void testNextFromEmptyIterator() { Deque<String> deque = new Deque<String>(); deque.addLast("last"); deque.addFirst("first"); Iterator<String> i = deque.iterator(); i.next(); i.next(); i.next(); // should throw exception }
@Test(expected = UnsupportedOperationException.class) public void testRemoveFromIterator() { Deque<String> deque = new Deque<String>(); deque.addFirst("middle"); deque.addLast("last"); deque.addFirst("first"); Iterator<String> i = deque.iterator(); i.next(); i.remove(); // should throw exception }
@Test public void Deque_iterator_iterates() { deque.addFirst("firstString"); deque.addFirst("secondString"); deque.addLast("thirdString"); Iterator<String> dequeIterator = deque.iterator(); assertEquals(dequeIterator.next(), "secondString"); assertEquals(dequeIterator.next(), "firstString"); assertEquals(dequeIterator.next(), "thirdString"); }
@Test(expected = NoSuchElementException.class) public void testRemoveLastFromEmptyDeque() { Deque<Integer> deque = new Deque<Integer>(); int count = 10; for (int i = 0; i < count; i++) { deque.addLast(i); } for (int i = 0; i < count; i++) { deque.removeLast(); } deque.removeLast(); // should throw }
@Test public void testRemove() { Deque<String> deque = new Deque<String>(); deque.addFirst(new String("test")); deque.addFirst(new String("test first")); deque.addLast(new String("test last")); deque.removeLast(); deque.removeFirst(); assertTrue(deque.size() == 1); deque.removeLast(); assertTrue(deque.size() == 0); }
@Test(expected = NullPointerException.class) public void testAddNullLastNullPointerException() { Deque<String> deque = new Deque<String>(); deque.addLast(null); }
@Test public void Deque_addLast_AddsOne() { deque.addLast("firstString"); assertFalse(deque.isEmpty()); assertEquals(deque.size(), 1); }
@Test(expected = NullPointerException.class) public void Deque_addLast_throwsIfNullAdded() { deque.addLast(null); }