--- jsr166/src/test/tck/Collection8Test.java 2016/11/03 16:53:13 1.9 +++ jsr166/src/test/tck/Collection8Test.java 2016/11/05 05:09:57 1.11 @@ -49,6 +49,13 @@ public class Collection8Test extends JSR impl); } + Object bomb() { + return new Object() { + public boolean equals(Object x) { throw new AssertionError(); } + public int hashCode() { throw new AssertionError(); } + }; + } + /** Checks properties of empty collections. */ public void testEmptyMeansEmpty() { Collection c = impl.emptyCollection(); @@ -83,12 +90,14 @@ public class Collection8Test extends JSR assertFalse(c.spliterator().tryAdvance(alwaysThrows)); if (c.spliterator().hasCharacteristics(Spliterator.SIZED)) assertEquals(0, c.spliterator().estimateSize()); - if (Queue.class.isAssignableFrom(impl.klazz())) { + assertFalse(c.contains(bomb())); + assertFalse(c.remove(bomb())); + if (c instanceof Queue) { Queue q = (Queue) c; assertNull(q.peek()); assertNull(q.poll()); } - if (Deque.class.isAssignableFrom(impl.klazz())) { + if (c instanceof Deque) { Deque d = (Deque) c; assertNull(d.peekFirst()); assertNull(d.peekLast()); @@ -96,6 +105,8 @@ public class Collection8Test extends JSR assertNull(d.pollLast()); assertIteratorExhausted(d.descendingIterator()); d.descendingIterator().forEachRemaining(alwaysThrows); + assertFalse(d.removeFirstOccurrence(bomb())); + assertFalse(d.removeLastOccurrence(bomb())); } }