@Test public void of() throws Exception { Assert.assertTrue(OptionalShort.of(((short) 42)).isPresent()); }
@Test public void ifPresent() throws Exception { OptionalShort.of(((short) 42)).ifPresent(new ShortConsumer() { @Override public void consume(short value) { Assert.assertEquals(((short) 42), value); } }); OptionalShort.absent().ifPresent(new ShortConsumer() { @Override public void consume(short value) { Assert.fail("ifPresent() on an absent optional should never call its consumer"); } }); }
@Test public void isPresent() throws Exception { Assert.assertTrue(OptionalShort.of(((short) 42)).isPresent()); Assert.assertFalse(OptionalShort.absent().isPresent()); }
@Test public void ifPresentOrElse() throws Exception { OptionalShort.of(((short) 42)).ifPresentOrElse(new ShortConsumer() { @Override public void consume(short value) { Assert.assertEquals(((short) 42), value); } }, new Function() { @Override public void call() { Assert.fail("ifPresent() on an non-absent optional should call its consumer"); } }); OptionalShort.absent().ifPresentOrElse(new ShortConsumer() { @Override public void consume(short value) { Assert.fail("ifPresent() on an absent optional should never call its consumer"); } }, new Function() { @Override public void call() { Assert.assertTrue(true); // No-op. This is the expected behaviour. } }); } }
@Test public void get() throws Exception { Assert.assertEquals(((short) 42), OptionalShort.of(((short) 42)).get()); try { OptionalShort.absent().get(); Assert.fail("Invoking get() on an absent optional should raise an exception."); } catch (IllegalStateException expected) { // No-op. This is the expected behaviour. } }