< prev index next >

test/java/util/stream/test/org/openjdk/tests/java/util/stream/FindAnyOpTest.java

Print this page




  44         assertFalse(countTo(10).stream().filter(x -> x > 10).findAny().isPresent(), "no result");
  45         assertTrue(countTo(10).stream().filter(pEven).findAny().isPresent(), "with result");
  46     }
  47 
  48     public void testFindAnyParallel() {
  49         assertFalse(Collections.emptySet().parallelStream().findAny().isPresent(), "no result");
  50         assertFalse(countTo(1000).parallelStream().filter(x -> x > 1000).findAny().isPresent(), "no result");
  51         assertTrue(countTo(1000).parallelStream().filter(pEven).findAny().isPresent(), "with result");
  52     }
  53 
  54     @Test(dataProvider = "StreamTestData<Integer>", dataProviderClass = StreamTestDataProvider.class)
  55     public void testStream(String name, TestData.OfRef<Integer> data) {
  56         exerciseStream(data, s -> s);
  57         exerciseStream(data, s -> s.filter(pTrue));
  58         exerciseStream(data, s -> s.filter(pFalse));
  59         exerciseStream(data, s -> s.filter(pEven));
  60     }
  61 
  62     void exerciseStream(TestData.OfRef<Integer> data, Function<Stream<Integer>, Stream<Integer>> fs) {
  63         Optional<Integer> or = withData(data).terminal(fs, s -> s.findAny()).equalator(VALID_ANSWER).exercise();
  64         if (or.isPresent()) {
  65             Integer r = or.get();
  66             Iterator<Integer> it = fs.apply(data.stream()).iterator();
  67             boolean contained = false;
  68             while (!contained && it.hasNext()) {
  69                 contained = Objects.equals(r, it.next());
  70             }
  71             assertTrue(contained);
  72         }
  73         else {
  74             assertFalse(fs.apply(data.stream()).iterator().hasNext());
  75         }
  76     }
  77 
  78     @Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class)
  79     public void testIntStream(String name, TestData.OfInt data) {
  80         exerciseIntStream(data, s -> s);
  81         exerciseIntStream(data, s -> s.filter(ipTrue));
  82         exerciseIntStream(data, s -> s.filter(ipFalse));
  83         exerciseIntStream(data, s -> s.filter(ipEven));
  84     }
  85 
  86     void exerciseIntStream(TestData.OfInt data, Function<IntStream, IntStream> fs) {
  87         OptionalInt or = withData(data).terminal(fs, s -> s.findAny()).equalator(INT_VALID_ANSWER).exercise();
  88         if (or.isPresent()) {
  89             int r = or.getAsInt();
  90             PrimitiveIterator.OfInt it = fs.apply(data.stream()).iterator();
  91             boolean contained = false;
  92             while (!contained && it.hasNext()) {
  93                 contained = r == it.nextInt();
  94             }
  95             assertTrue(contained);




  44         assertFalse(countTo(10).stream().filter(x -> x > 10).findAny().isPresent(), "no result");
  45         assertTrue(countTo(10).stream().filter(pEven).findAny().isPresent(), "with result");
  46     }
  47 
  48     public void testFindAnyParallel() {
  49         assertFalse(Collections.emptySet().parallelStream().findAny().isPresent(), "no result");
  50         assertFalse(countTo(1000).parallelStream().filter(x -> x > 1000).findAny().isPresent(), "no result");
  51         assertTrue(countTo(1000).parallelStream().filter(pEven).findAny().isPresent(), "with result");
  52     }
  53 
  54     @Test(dataProvider = "StreamTestData<Integer>", dataProviderClass = StreamTestDataProvider.class)
  55     public void testStream(String name, TestData.OfRef<Integer> data) {
  56         exerciseStream(data, s -> s);
  57         exerciseStream(data, s -> s.filter(pTrue));
  58         exerciseStream(data, s -> s.filter(pFalse));
  59         exerciseStream(data, s -> s.filter(pEven));
  60     }
  61 
  62     void exerciseStream(TestData.OfRef<Integer> data, Function<Stream<Integer>, Stream<Integer>> fs) {
  63         Optional<Integer> or = withData(data).terminal(fs, s -> s.findAny()).equalator(VALID_ANSWER).exercise();
  64         assertContains(or, fs.apply(data.stream()).iterator());











  65     }
  66 
  67     @Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class)
  68     public void testIntStream(String name, TestData.OfInt data) {
  69         exerciseIntStream(data, s -> s);
  70         exerciseIntStream(data, s -> s.filter(ipTrue));
  71         exerciseIntStream(data, s -> s.filter(ipFalse));
  72         exerciseIntStream(data, s -> s.filter(ipEven));
  73     }
  74 
  75     void exerciseIntStream(TestData.OfInt data, Function<IntStream, IntStream> fs) {
  76         OptionalInt or = withData(data).terminal(fs, s -> s.findAny()).equalator(INT_VALID_ANSWER).exercise();
  77         if (or.isPresent()) {
  78             int r = or.getAsInt();
  79             PrimitiveIterator.OfInt it = fs.apply(data.stream()).iterator();
  80             boolean contained = false;
  81             while (!contained && it.hasNext()) {
  82                 contained = r == it.nextInt();
  83             }
  84             assertTrue(contained);


< prev index next >