< prev index next >
test/jdk/java/util/Optional/BasicLong.java
Print this page
@@ -29,11 +29,13 @@
* @run testng BasicLong
*/
import java.util.NoSuchElementException;
import java.util.OptionalLong;
+import java.util.function.LongPredicate;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.List;
import static org.testng.Assert.*;
import org.testng.annotations.Test;
public class BasicLong {
@@ -49,10 +51,11 @@
assertFalse(empty.equals(OptionalLong.of(UNEXPECTED)));
assertFalse(OptionalLong.of(UNEXPECTED).equals(empty));
assertFalse(empty.equals("unexpected"));
assertFalse(empty.isPresent());
+ assertTrue(empty.isEmpty());
assertEquals(empty.hashCode(), 0);
assertEquals(empty.orElse(UNEXPECTED), UNEXPECTED);
assertEquals(empty.orElseGet(() -> UNEXPECTED), UNEXPECTED);
assertThrows(NoSuchElementException.class, () -> empty.getAsLong());
@@ -124,6 +127,22 @@
@Test(groups = "unit")
public void testStreamPresent() {
assertEquals(OptionalLong.of(LONGVAL).stream().toArray(), new long[] { LONGVAL });
}
+
+ @Test(groups = "unit")
+ public void testIsEmpty() {
+ OptionalLong empty = OptionalLong.empty();
+ assertTrue(empty.isEmpty());
+ OptionalLong present = OptionalLong.of(LONGVAL);
+ assertFalse(present.isEmpty());
+ var longList = List.of(1L,2L,3L,4L,5L);
+ LongPredicate isPositiveNumber = x -> x > 0;
+ LongPredicate isNegativeNumber = x -> x < 0;
+ OptionalLong positiveNumber = longList.stream().mapToLong(Long::longValue).filter(isPositiveNumber).findAny();
+ OptionalLong negativeNumber = longList.stream().mapToLong(Long::longValue).filter(isNegativeNumber).findAny();
+ assertFalse(positiveNumber.isEmpty());
+ assertTrue(negativeNumber.isEmpty());
+ }
+
}
< prev index next >