< prev index next >
test/jdk/java/util/Optional/Basic.java
Print this page
rev 48216 : 8140281: add no-arg Optional.orElseThrow() as preferred alternative to get()
Reviewed-by: XXX
*** 130,139 ****
--- 130,146 ----
Optional<Boolean> empty = Optional.empty();
Boolean got = empty.orElseThrow(ObscureException::new);
}
+ @Test(expectedExceptions=NoSuchElementException.class)
+ public void testEmptyOrElseThrowNoArg() throws Exception {
+ Optional<Boolean> empty = Optional.empty();
+
+ Boolean got = empty.orElseThrow();
+ }
+
@Test(groups = "unit")
public void testPresent() {
Optional<Boolean> empty = Optional.empty();
Optional<String> presentEmptyString = Optional.of("");
Optional<Boolean> present = Optional.of(Boolean.TRUE);
*** 145,154 ****
--- 152,162 ----
assertTrue(Boolean.TRUE.hashCode() == present.hashCode());
assertTrue(!present.toString().isEmpty());
assertTrue(!present.toString().equals(presentEmptyString.toString()));
assertTrue(-1 != present.toString().indexOf(Boolean.TRUE.toString()));
assertSame(Boolean.TRUE, present.get());
+ assertSame(Boolean.TRUE, present.orElseThrow());
AtomicBoolean presentCheck = new AtomicBoolean();
present.ifPresent(v -> presentCheck.set(true));
assertTrue(presentCheck.get());
presentCheck.set(false);
*** 189,198 ****
--- 197,207 ----
assertFalse(instance.isPresent());
instance = Optional.ofNullable("Duke");
assertTrue(instance.isPresent());
assertEquals(instance.get(), "Duke");
+ assertEquals(instance.orElseThrow(), "Duke");
}
@Test(groups = "unit")
public void testFilter() {
// Null mapper function
*** 212,226 ****
--- 221,237 ----
result = duke.filter(String::isEmpty);
assertFalse(result.isPresent());
result = duke.filter(s -> s.startsWith("D"));
assertTrue(result.isPresent());
assertEquals(result.get(), "Duke");
+ assertEquals(result.orElseThrow(), "Duke");
Optional<String> emptyString = Optional.of("");
result = emptyString.filter(String::isEmpty);
assertTrue(result.isPresent());
assertEquals(result.get(), "");
+ assertEquals(result.orElseThrow(), "");
}
@Test(groups = "unit")
public void testMap() {
Optional<String> empty = Optional.empty();
*** 285,294 ****
--- 296,306 ----
// Map to value
Optional<Integer> fixture = Optional.of(Integer.MAX_VALUE);
l = duke.flatMap(s -> Optional.of(s.length()));
assertTrue(l.isPresent());
assertEquals(l.get().intValue(), 4);
+ assertEquals(l.orElseThrow().intValue(), 4);
// Verify same instance
l = duke.flatMap(s -> fixture);
assertSame(l, fixture);
}
< prev index next >