< prev index next >
test/java/util/stream/test/org/openjdk/tests/java/util/stream/FindFirstOpTest.java
Print this page
@@ -57,19 +57,23 @@
exerciseStream(data, s -> s.filter(pFalse));
exerciseStream(data, s -> s.filter(pEven));
}
void exerciseStream(TestData.OfRef<Integer> data, Function<Stream<Integer>, Stream<Integer>> fs) {
- Optional<Integer> r = exerciseTerminalOps(data, fs, s -> s.findFirst());
- if (r.isPresent()) {
Iterator<Integer> i = fs.apply(data.stream()).iterator();
- assertTrue(i.hasNext());
- assertEquals(i.next(), r.get());
+ Optional<Integer> expected = i.hasNext() ? Optional.of(i.next()) : Optional.empty();
+ withData(data).terminal(fs, s -> s.findFirst())
+ .expectedResult(expected)
+ .resultAsserter((act, exp, ord, par) -> {
+ if (par & !ord) {
+ assertContains(act, fs.apply(data.stream()).iterator());
}
else {
- assertFalse(fs.apply(data.stream()).iterator().hasNext());
+ assertEquals(act, exp);
}
+ })
+ .exercise();
}
@Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class)
public void testIntStream(String name, TestData.OfInt data) {
exerciseIntStream(data, s -> s);
< prev index next >