--- jsr166/src/test/tck/ArrayDequeTest.java 2016/10/17 01:57:00 1.45 +++ jsr166/src/test/tck/ArrayDequeTest.java 2016/10/17 15:31:19 1.47 @@ -14,6 +14,7 @@ import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Queue; import java.util.Random; +import java.util.Spliterator; import java.util.concurrent.ThreadLocalRandom; import junit.framework.Test; @@ -989,6 +990,33 @@ public class ArrayDequeTest extends JSR1 } /** + * Spliterator characteristics are as advertised + */ + public void testSpliterator_characteristics() { + ArrayDeque q = new ArrayDeque(); + Spliterator s = q.spliterator(); + int characteristics = s.characteristics(); + int required = Spliterator.NONNULL + | Spliterator.ORDERED + | Spliterator.SIZED + | Spliterator.SUBSIZED; + assertEquals(required, characteristics & required); + assertEquals(0, characteristics + & (Spliterator.CONCURRENT + | Spliterator.DISTINCT + | Spliterator.IMMUTABLE + | Spliterator.SORTED)); + } + + /** + * Spliterator.getComparator always throws IllegalStateException + */ + public void testSpliterator_getComparator() { + assertThrows(IllegalStateException.class, + () -> new ArrayDeque().spliterator().getComparator()); + } + + /** * Handle capacities near Integer.MAX_VALUE. * ant -Dvmoptions=-Xmx24g -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDequeTest -Djsr166.methodFilter=testHuge tck */