+ fun `present optional can be processed with also`() {
+ val called = AtomicBoolean(false)
+ Optional.of(1).also { if (it == 1) called.set(true) }
+ assertThat(called.get(), equalTo(true))
+ }
+
+ @Test
+ fun `absent optional is not processed with also`() {
+ val called = AtomicBoolean(false)
+ Optional.absent<Int>().also { called.set(true) }
+ assertThat(called.get(), equalTo(false))
+ }
+
+ @Test