package com.insightfullogic.java8.examples.chapter4; import org.junit.Test; import java.util.Optional; import static org.junit.Assert.*; public class OptionalExampleTest { @Test public void examples() { // BEGIN value_creation Optional<String> a = Optional.of("a"); assertEquals("a", a.get()); // END value_creation // BEGIN is_present Optional emptyOptional = Optional.empty(); Optional alsoEmpty = Optional.ofNullable(null); assertFalse(emptyOptional.isPresent()); // a is defined above assertTrue(a.isPresent()); // END is_present // BEGIN orElse assertEquals("b", emptyOptional.orElse("b")); assertEquals("c", emptyOptional.orElseGet(() -> "c")); // END orElse } }