107 public void testEmptyOrElseGetNull() {
108 OptionalDouble empty = OptionalDouble.empty();
109
110 double got = empty.orElseGet(null);
111 }
112
113 @Test(expectedExceptions=NullPointerException.class)
114 public void testEmptyOrElseThrowNull() throws Throwable {
115 OptionalDouble empty = OptionalDouble.empty();
116
117 double got = empty.orElseThrow(null);
118 }
119
120 @Test(expectedExceptions=ObscureException.class)
121 public void testEmptyOrElseThrow() throws Exception {
122 OptionalDouble empty = OptionalDouble.empty();
123
124 double got = empty.orElseThrow(ObscureException::new);
125 }
126
127 @Test(groups = "unit")
128 public void testPresent() {
129 OptionalDouble empty = OptionalDouble.empty();
130 OptionalDouble present = OptionalDouble.of(1.0);
131
132 // present
133 assertTrue(present.equals(present));
134 assertFalse(present.equals(OptionalDouble.of(0.0)));
135 assertTrue(present.equals(OptionalDouble.of(1.0)));
136 assertTrue(!present.equals(empty));
137 assertTrue(Double.hashCode(1.0) == present.hashCode());
138 assertFalse(present.toString().isEmpty());
139 assertTrue(-1 != present.toString().indexOf(Double.toString(present.getAsDouble()).toString()));
140 assertEquals(1.0, present.getAsDouble());
141
142 AtomicBoolean presentCheck = new AtomicBoolean();
143 present.ifPresent(v -> presentCheck.set(true));
144 assertTrue(presentCheck.get());
145 presentCheck.set(false);
146 present.ifPresentOrElse(v -> presentCheck.set(true), () -> fail());
147 assertTrue(presentCheck.get());
148
149 try {
150 present.ifPresent(v -> { throw new ObscureException(); });
151 fail();
152 } catch (ObscureException expected) {
153 } catch (AssertionError e) {
154 throw e;
155 } catch (Throwable t) {
156 fail();
157 }
158 try {
159 present.ifPresentOrElse(v -> { throw new ObscureException(); }, () -> fail());
160 fail();
|
107 public void testEmptyOrElseGetNull() {
108 OptionalDouble empty = OptionalDouble.empty();
109
110 double got = empty.orElseGet(null);
111 }
112
113 @Test(expectedExceptions=NullPointerException.class)
114 public void testEmptyOrElseThrowNull() throws Throwable {
115 OptionalDouble empty = OptionalDouble.empty();
116
117 double got = empty.orElseThrow(null);
118 }
119
120 @Test(expectedExceptions=ObscureException.class)
121 public void testEmptyOrElseThrow() throws Exception {
122 OptionalDouble empty = OptionalDouble.empty();
123
124 double got = empty.orElseThrow(ObscureException::new);
125 }
126
127 @Test(expectedExceptions=NoSuchElementException.class)
128 public void testEmptyOrElseThrowNoArg() throws Exception {
129 OptionalDouble empty = OptionalDouble.empty();
130
131 double got = empty.orElseThrow();
132 }
133
134 @Test(groups = "unit")
135 public void testPresent() {
136 OptionalDouble empty = OptionalDouble.empty();
137 OptionalDouble present = OptionalDouble.of(1.0);
138
139 // present
140 assertTrue(present.equals(present));
141 assertFalse(present.equals(OptionalDouble.of(0.0)));
142 assertTrue(present.equals(OptionalDouble.of(1.0)));
143 assertTrue(!present.equals(empty));
144 assertTrue(Double.hashCode(1.0) == present.hashCode());
145 assertFalse(present.toString().isEmpty());
146 assertTrue(-1 != present.toString().indexOf(Double.toString(present.getAsDouble()).toString()));
147 assertTrue(-1 != present.toString().indexOf(Double.toString(present.orElseThrow()).toString()));
148 assertEquals(1.0, present.getAsDouble());
149 assertEquals(1.0, present.orElseThrow());
150
151 AtomicBoolean presentCheck = new AtomicBoolean();
152 present.ifPresent(v -> presentCheck.set(true));
153 assertTrue(presentCheck.get());
154 presentCheck.set(false);
155 present.ifPresentOrElse(v -> presentCheck.set(true), () -> fail());
156 assertTrue(presentCheck.get());
157
158 try {
159 present.ifPresent(v -> { throw new ObscureException(); });
160 fail();
161 } catch (ObscureException expected) {
162 } catch (AssertionError e) {
163 throw e;
164 } catch (Throwable t) {
165 fail();
166 }
167 try {
168 present.ifPresentOrElse(v -> { throw new ObscureException(); }, () -> fail());
169 fail();
|