< prev index next >
test/jdk/java/util/Optional/Basic.java
Print this page
@@ -31,10 +31,11 @@
import java.util.List;
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;
import static org.testng.Assert.*;
import org.testng.annotations.Test;
@@ -50,10 +51,11 @@
assertFalse(empty.equals(Optional.of("unexpected")));
assertFalse(Optional.of("unexpected").equals(empty));
assertFalse(empty.equals("unexpected"));
assertFalse(empty.isPresent());
+ assertTrue(empty.isEmpty());
assertEquals(empty.hashCode(), 0);
assertEquals(empty.orElse("x"), "x");
assertEquals(empty.orElseGet(() -> "y"), "y");
assertThrows(NoSuchElementException.class, () -> empty.get());
@@ -198,6 +200,17 @@
@Test(groups = "unit")
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<Integer> isPositiveNumber = x -> x > 0;
+ Predicate<Integer> isNegativeNumber = x -> x < 0;
+ Optional<Integer> positiveNumber = integerList.stream().filter(isPositiveNumber).findAny();
+ Optional<Integer> negativeNumber = integerList.stream().filter(isNegativeNumber).findAny();
+ assertFalse(positiveNumber.isEmpty());
+ assertTrue(negativeNumber.isEmpty());
+ }
}
< prev index next >