--- jsr166/src/test/tck/ArrayDequeTest.java 2015/05/24 01:42:14 1.38 +++ jsr166/src/test/tck/ArrayDequeTest.java 2016/10/16 20:44:18 1.41 @@ -22,12 +22,20 @@ public class ArrayDequeTest extends JSR1 } public static Test suite() { - return new TestSuite(ArrayDequeTest.class); + class Implementation implements CollectionImplementation { + public Class klazz() { return ArrayDeque.class; } + public Collection emptyCollection() { return new ArrayDeque(); } + public Object makeElement(int i) { return i; } + public boolean isConcurrent() { return false; } + public boolean permitsNulls() { return false; } + } + return newTestSuite(ArrayDequeTest.class, + CollectionTest.testSuite(new Implementation())); } /** * Returns a new deque of given size containing consecutive - * Integers 0 ... n. + * Integers 0 ... n - 1. */ private ArrayDeque populatedDeque(int n) { ArrayDeque q = new ArrayDeque(); @@ -36,6 +44,8 @@ public class ArrayDequeTest extends JSR1 assertTrue(q.offerLast(new Integer(i))); assertFalse(q.isEmpty()); assertEquals(n, q.size()); + assertEquals((Integer) 0, q.peekFirst()); + assertEquals((Integer) (n - 1), q.peekLast()); return q; } @@ -530,6 +540,7 @@ public class ArrayDequeTest extends JSR1 */ public void testRemoveFirstOccurrence() { ArrayDeque q = populatedDeque(SIZE); + assertFalse(q.removeFirstOccurrence(null)); for (int i = 1; i < SIZE; i += 2) { assertTrue(q.removeFirstOccurrence(new Integer(i))); } @@ -538,6 +549,11 @@ public class ArrayDequeTest extends JSR1 assertFalse(q.removeFirstOccurrence(new Integer(i + 1))); } assertTrue(q.isEmpty()); + assertFalse(q.removeFirstOccurrence(null)); + assertFalse(q.removeFirstOccurrence(42)); + q = new ArrayDeque(); + assertFalse(q.removeFirstOccurrence(null)); + assertFalse(q.removeFirstOccurrence(42)); } /** @@ -545,6 +561,7 @@ public class ArrayDequeTest extends JSR1 */ public void testRemoveLastOccurrence() { ArrayDeque q = populatedDeque(SIZE); + assertFalse(q.removeLastOccurrence(null)); for (int i = 1; i < SIZE; i += 2) { assertTrue(q.removeLastOccurrence(new Integer(i))); } @@ -553,6 +570,11 @@ public class ArrayDequeTest extends JSR1 assertFalse(q.removeLastOccurrence(new Integer(i + 1))); } assertTrue(q.isEmpty()); + assertFalse(q.removeLastOccurrence(null)); + assertFalse(q.removeLastOccurrence(42)); + q = new ArrayDeque(); + assertFalse(q.removeLastOccurrence(null)); + assertFalse(q.removeLastOccurrence(42)); } /**