package com.levelup.java.util; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.OptionalLong; import java.util.function.LongSupplier; import org.junit.Test; /** * This java example will demonstrate uses * of OptionalLong. * * @author Justin Musgrove * @see <a href='http://www.leveluplunch.com/java/examples/java-util-optionallong-example/'>OptionalLong example</a> */ public class OptionalLongExample { @Test public void optional_long_getAsLong() { OptionalLong optionalLong = OptionalLong.of(90); assertEquals(90, optionalLong.getAsLong(), 0); } @Test public void optional_long_ifPresent() { OptionalLong optionalLong = OptionalLong.of(56); optionalLong.ifPresent(p -> System.out.println(p)); // or optionalLong.ifPresent(System.out::println); } @Test public void optional_long_isPresent() { OptionalLong optionalLong = OptionalLong.of(56); assertTrue(optionalLong.isPresent()); } @Test public void optional_long_orElse() { OptionalLong optionalLong = OptionalLong.empty(); assertEquals(77, optionalLong.orElse(77), 0); } @Test public void optional_long_orElseGet() { OptionalLong optionalLong = OptionalLong.empty(); assertEquals(10, optionalLong.orElseGet(() -> 10), 0); // or LongSupplier longSupplier = new LongSupplier() { @Override public long getAsLong() { return 10; } }; assertEquals(10, optionalLong.orElseGet(longSupplier), 0); } @Test(expected=IllegalStateException.class) public void optional_long_orElseThrow() { OptionalLong optionalFramework = OptionalLong.empty(); optionalFramework.orElseThrow(IllegalStateException::new); } @Test public void optional_long_empty() { OptionalLong optionalLong = OptionalLong.empty(); assertFalse(optionalLong.isPresent()); } @Test public void optional_long_of() { OptionalLong optionalLong = OptionalLong.of(89); assertEquals(89, optionalLong.getAsLong(), 0); } }