--- old/test/java/util/stream/test/org/openjdk/tests/java/util/stream/FindFirstOpTest.java 2016-01-23 18:28:32.078472600 +0600 +++ new/test/java/util/stream/test/org/openjdk/tests/java/util/stream/FindFirstOpTest.java 2016-01-23 18:28:31.890448700 +0600 @@ -59,15 +59,19 @@ } void exerciseStream(TestData.OfRef data, Function, Stream> fs) { - Optional r = exerciseTerminalOps(data, fs, s -> s.findFirst()); - if (r.isPresent()) { - Iterator i = fs.apply(data.stream()).iterator(); - assertTrue(i.hasNext()); - assertEquals(i.next(), r.get()); - } - else { - assertFalse(fs.apply(data.stream()).iterator().hasNext()); - } + Iterator i = fs.apply(data.stream()).iterator(); + Optional 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 { + assertEquals(act, exp); + } + }) + .exercise(); } @Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class)