< 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 >