X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Futils%2FOptionalsTest.kt;h=6d355095d0b750f58eb616abe81d01229421d915;hp=2a49db06787d959ce40b99a11583911583bc31f1;hb=aab46ff18650e49e9c812ec61cf80cf62af82f49;hpb=4d98a47a88176d904960594f1aaaac9e7db15f9a diff --git a/src/test/kotlin/net/pterodactylus/sone/utils/OptionalsTest.kt b/src/test/kotlin/net/pterodactylus/sone/utils/OptionalsTest.kt index 2a49db0..6d35509 100644 --- a/src/test/kotlin/net/pterodactylus/sone/utils/OptionalsTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/utils/OptionalsTest.kt @@ -5,6 +5,7 @@ import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.equalTo import org.hamcrest.Matchers.nullValue import org.junit.Test +import java.util.concurrent.atomic.AtomicBoolean /** * Test for [Optional] utils. @@ -24,6 +25,20 @@ class OptionalsTest { } @Test + 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().also { called.set(true) } + assertThat(called.get(), equalTo(false)) + } + + @Test fun `1 as optional is correct optional`() { val optional = 1.asOptional() assertThat(optional.get(), equalTo(1))