--- old/test/jdk/java/util/Optional/Basic.java 2018-04-16 10:24:17.741023856 -0700 +++ new/test/jdk/java/util/Optional/Basic.java 2018-04-16 10:24:17.431995405 -0700 @@ -33,6 +33,7 @@ import java.util.NoSuchElementException; import java.util.Optional; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.Predicate; import static java.util.stream.Collectors.toList; @@ -52,6 +53,7 @@ assertFalse(empty.equals("unexpected")); assertFalse(empty.isPresent()); + assertTrue(empty.isEmpty()); assertEquals(empty.hashCode(), 0); assertEquals(empty.orElse("x"), "x"); assertEquals(empty.orElseGet(() -> "y"), "y"); @@ -200,4 +202,15 @@ public void testStreamPresent() { assertEquals(Optional.of("xyzzy").stream().collect(toList()), List.of("xyzzy")); } + + @Test(groups = "unit") + public void testIsEmpty() { + var integerList = List.of(1, 2, 3, 4, 5); + Predicate isPositiveNumber = x -> x > 0; + Predicate isNegativeNumber = x -> x < 0; + Optional positiveNumber = integerList.stream().filter(isPositiveNumber).findAny(); + Optional negativeNumber = integerList.stream().filter(isNegativeNumber).findAny(); + assertFalse(positiveNumber.isEmpty()); + assertTrue(negativeNumber.isEmpty()); + } }