X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FParserFilterTest.kt;h=0e445680d38d05fb85cd30297b4fc0ad9767e8bb;hb=ea7ad5e87074576d17b7df74365a726bd95d7665;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..0e44568 100644 --- a/src/test/kotlin/net/pterodactylus/sone/template/ParserFilterTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/template/ParserFilterTest.kt @@ -1,8 +1,10 @@ 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.getInstance +import net.pterodactylus.sone.test.isProvidedByMock import net.pterodactylus.sone.test.mock import net.pterodactylus.sone.text.SoneTextParser import net.pterodactylus.sone.text.SoneTextParserContext @@ -10,6 +12,8 @@ import net.pterodactylus.util.template.TemplateContext import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.`is` 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` @@ -35,7 +39,7 @@ class ParserFilterTest { private fun setupSone(identity: String): Sone { val sone = mock() `when`(sone.id).thenReturn(identity) - `when`(core.getSone(identity)).thenReturn(of(sone)) + `when`(core.getSone(identity)).thenReturn(sone) return sone } @@ -58,8 +62,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()) + verify(soneTextParser).parse(eq("text") ?: "", context.capture()) assertThat(context.value.postingSone, `is`(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)) + + } + }