< prev index next >
test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntPrimitiveOpsTests.java
Print this page
@@ -26,17 +26,24 @@
import org.testng.annotations.Test;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
+import java.util.Spliterator;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.IntConsumer;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+/**
+ * @test
+ * @bug 8153293
+ */
@Test
public class IntPrimitiveOpsTests {
public void testSum() {
long sum = IntStream.range(1, 10).filter(i -> i % 2 == 0).sum();
@@ -83,10 +90,33 @@
public void testUnBox() {
long sum = Arrays.asList(1, 2, 3, 4, 5).stream().mapToInt(i -> (int) i).sum();
assertEquals(sum, 15);
}
+ public void testFlags() {
+ assertTrue(IntStream.range(1, 10).boxed().spliterator()
+ .hasCharacteristics(Spliterator.SORTED | Spliterator.DISTINCT));
+ assertFalse(IntStream.of(1, 10).boxed().spliterator()
+ .hasCharacteristics(Spliterator.SORTED));
+ assertFalse(IntStream.of(1, 10).boxed().spliterator()
+ .hasCharacteristics(Spliterator.DISTINCT));
+
+ assertTrue(IntStream.range(1, 10).asLongStream().spliterator()
+ .hasCharacteristics(Spliterator.SORTED | Spliterator.DISTINCT));
+ assertFalse(IntStream.of(1, 10).asLongStream().spliterator()
+ .hasCharacteristics(Spliterator.SORTED));
+ assertFalse(IntStream.of(1, 10).asLongStream().spliterator()
+ .hasCharacteristics(Spliterator.DISTINCT));
+
+ assertTrue(IntStream.range(1, 10).asDoubleStream().spliterator()
+ .hasCharacteristics(Spliterator.SORTED));
+ assertFalse(IntStream.range(1, 10).asDoubleStream().spliterator()
+ .hasCharacteristics(Spliterator.DISTINCT));
+ assertFalse(IntStream.of(1, 10).boxed().spliterator()
+ .hasCharacteristics(Spliterator.SORTED));
+ }
+
public void testToArray() {
{
int[] array = IntStream.range(1, 10).map(i -> i * 2).toArray();
assertEquals(array, new int[]{2, 4, 6, 8, 10, 12, 14, 16, 18});
}
< prev index next >