X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FParserFilterTest.kt;h=5864a6ad7fb97d2322213e7d4e8f8ad443f92b3c;hb=faf66247a34f64946990a985d2ea3003465969cb;hp=3c735c2fd002d1f22bc993150db7bcf4133d7ed2;hpb=f6bb52d378645bf821febd6696bc69f250a92280;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/template/ParserFilterTest.kt b/src/test/kotlin/net/pterodactylus/sone/template/ParserFilterTest.kt index 3c735c2..5864a6a 100644 --- a/src/test/kotlin/net/pterodactylus/sone/template/ParserFilterTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/template/ParserFilterTest.kt @@ -1,18 +1,19 @@ package net.pterodactylus.sone.template -import com.google.common.base.Optional.of +import com.google.inject.Guice import net.pterodactylus.sone.core.Core import net.pterodactylus.sone.data.Sone -import net.pterodactylus.sone.test.mock +import net.pterodactylus.sone.test.* import net.pterodactylus.sone.text.SoneTextParser import net.pterodactylus.sone.text.SoneTextParserContext import net.pterodactylus.util.template.TemplateContext import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.`is` +import org.hamcrest.Matchers.equalTo import org.hamcrest.Matchers.emptyIterable +import org.hamcrest.Matchers.notNullValue +import org.hamcrest.Matchers.sameInstance import org.junit.Test import org.mockito.ArgumentCaptor.forClass -import org.mockito.Mockito.`when` import org.mockito.Mockito.eq import org.mockito.Mockito.verify @@ -34,8 +35,8 @@ class ParserFilterTest { private fun setupSone(identity: String): Sone { val sone = mock() - `when`(sone.id).thenReturn(identity) - `when`(core.getSone(identity)).thenReturn(of(sone)) + whenever(sone.id).thenReturn(identity) + whenever(core.getSone(identity)).thenReturn(sone) return sone } @@ -58,8 +59,29 @@ class ParserFilterTest { parameters.put("sone", soneOrSoneId) filter.format(templateContext, "text", parameters) val context = forClass(SoneTextParserContext::class.java) - verify(soneTextParser).parse(eq("text"), context.capture()) - assertThat(context.value.postingSone, `is`(sone)) + verify(soneTextParser).parse(eq("text") ?: "", context.capture()) + assertThat(context.value.postingSone, equalTo(sone)) + } + + @Test + fun `parser filter can be created by guice`() { + val injector = Guice.createInjector( + Core::class.isProvidedByMock(), + SoneTextParser::class.isProvidedByMock() + ) + assertThat(injector.getInstance(), notNullValue()) + } + + @Test + fun `parser filter is created as singleton`() { + val injector = Guice.createInjector( + Core::class.isProvidedByMock(), + SoneTextParser::class.isProvidedByMock() + ) + val firstInstance = injector.getInstance() + val secondInstance = injector.getInstance() + assertThat(firstInstance, sameInstance(secondInstance)) + } }