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)) } }