X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FGuice.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FGuice.kt;h=d8a2d3286f292c8e8631bf5fa2792f9f00d4cc1f;hb=a8b58a357bcd4b12a0f2bd676458e96227986d24;hp=a5df14e1b374356c56b9af4b0aa46da8a6ce7f18;hpb=a1b3db7a8bb0c03d291371e0d15b5681f7ec0083;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Guice.kt b/src/test/kotlin/net/pterodactylus/sone/test/Guice.kt index a5df14e..d8a2d32 100644 --- a/src/test/kotlin/net/pterodactylus/sone/test/Guice.kt +++ b/src/test/kotlin/net/pterodactylus/sone/test/Guice.kt @@ -1,5 +1,6 @@ package net.pterodactylus.sone.test +import com.google.inject.Injector import com.google.inject.Module import javax.inject.Provider import kotlin.reflect.KClass @@ -8,6 +9,9 @@ fun KClass.isInstance(instance: T) = Module { it.bind(this.java).to fun KClass.isProvidedBy(instance: T) = Module { it.bind(this.java).toProvider { instance } } fun KClass.isProvidedBy(provider: com.google.inject.Provider) = Module { it.bind(this.java).toProvider(provider) } fun KClass.isProvidedBy(provider: KClass>) = Module { it.bind(this.java).toProvider(provider.java) } +inline fun KClass.isProvidedByMock() = Module { it.bind(this.java).toProvider { mock() } } + +inline fun Injector.getInstance() = getInstance(T::class.java)!! fun supply(javaClass: Class): Source = object : Source { override fun fromInstance(instance: T) = Module { it.bind(javaClass).toInstance(instance) }