X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Futils%2FOptionalsTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Futils%2FOptionalsTest.kt;h=2a49db06787d959ce40b99a11583911583bc31f1;hb=5a54ea664e862c910b1766d8ba0dd5efb6ea0151;hp=0000000000000000000000000000000000000000;hpb=2cdde02993e81e73a3b7edc3bcee13f56b43d6d5;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/utils/OptionalsTest.kt b/src/test/kotlin/net/pterodactylus/sone/utils/OptionalsTest.kt new file mode 100644 index 0000000..2a49db0 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/utils/OptionalsTest.kt @@ -0,0 +1,38 @@ +package net.pterodactylus.sone.utils + +import com.google.common.base.Optional +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.equalTo +import org.hamcrest.Matchers.nullValue +import org.junit.Test + +/** + * Test for [Optional] utils. + */ +class OptionalsTest { + + @Test + fun `present optional can be transformed with let`() { + val optional = Optional.of(1) + assertThat(optional.let { it + 1 }, equalTo(2)) + } + + @Test + fun `empty optional is transform to null with let`() { + val optional = Optional.absent() + assertThat(optional.let { it + 1 }, nullValue()) + } + + @Test + fun `1 as optional is correct optional`() { + val optional = 1.asOptional() + assertThat(optional.get(), equalTo(1)) + } + + @Test + fun `null as optional is asent optional`() { + val optional = null.asOptional() + assertThat(optional.isPresent, equalTo(false)) + } + +}