--- a/jdk/test/java/util/Optional/Basic.java Mon Feb 02 14:19:00 2015 +0100
+++ b/jdk/test/java/util/Optional/Basic.java Mon Feb 02 14:19:12 2015 +0100
@@ -29,6 +29,7 @@
import java.util.NoSuchElementException;
import java.util.Optional;
+import java.util.stream.Stream;
import static org.testng.Assert.*;
import org.testng.annotations.Test;
@@ -54,8 +55,8 @@
assertSame(null, empty.orElse(null));
RuntimeException orElse = new RuntimeException() { };
assertSame(Boolean.FALSE, empty.orElse(Boolean.FALSE));
- assertSame(null, empty.orElseGet(()-> null));
- assertSame(Boolean.FALSE, empty.orElseGet(()-> Boolean.FALSE));
+ assertSame(null, empty.orElseGet(() -> null));
+ assertSame(Boolean.FALSE, empty.orElseGet(() -> Boolean.FALSE));
}
@Test(expectedExceptions=NoSuchElementException.class)
@@ -104,15 +105,15 @@
try {
present.ifPresent(v -> { throw new ObscureException(); });
fail();
- } catch(ObscureException expected) {
+ } catch (ObscureException expected) {
}
assertSame(Boolean.TRUE, present.orElse(null));
assertSame(Boolean.TRUE, present.orElse(Boolean.FALSE));
assertSame(Boolean.TRUE, present.orElseGet(null));
- assertSame(Boolean.TRUE, present.orElseGet(()-> null));
- assertSame(Boolean.TRUE, present.orElseGet(()-> Boolean.FALSE));
- assertSame(Boolean.TRUE, present.<RuntimeException>orElseThrow( null));
+ assertSame(Boolean.TRUE, present.orElseGet(() -> null));
+ assertSame(Boolean.TRUE, present.orElseGet(() -> Boolean.FALSE));
+ assertSame(Boolean.TRUE, present.<RuntimeException>orElseThrow(null));
assertSame(Boolean.TRUE, present.<RuntimeException>orElseThrow(ObscureException::new));
}
@@ -226,6 +227,26 @@
assertSame(l, fixture);
}
+ @Test(groups = "unit")
+ public void testStream() {
+ {
+ Stream<String> s = Optional.<String>empty().stream();
+ assertFalse(s.isParallel());
+
+ Object[] es = s.toArray();
+ assertEquals(es.length, 0);
+ }
+
+ {
+ Stream<String> s = Optional.of("Duke").stream();
+ assertFalse(s.isParallel());
+
+ String[] es = s.toArray(String[]::new);
+ assertEquals(es.length, 1);
+ assertEquals(es[0], "Duke");
+ }
+ }
+
private static class ObscureException extends RuntimeException {
}