✅ Add test for parser to be injectable
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / test / Guice.kt
index 360b0cd..e27ad07 100644 (file)
@@ -2,6 +2,7 @@ package net.pterodactylus.sone.test
 
 import com.google.inject.Injector
 import com.google.inject.Module
+import org.mockito.*
 import javax.inject.Provider
 import kotlin.reflect.KClass
 
@@ -17,6 +18,7 @@ fun <T : Any> supply(javaClass: Class<T>): Source<T> = object : Source<T> {
        override fun byInstance(instance: T) = Module { it.bind(javaClass).toProvider(Provider<T> { instance }) }
        override fun byProvider(provider: com.google.inject.Provider<T>) = Module { it.bind(javaClass).toProvider(provider) }
        override fun byProvider(provider: Class<Provider<T>>) = Module { it.bind(javaClass).toProvider(provider) }
+       override fun byMock() = Module { it.bind(javaClass).toInstance(Mockito.mock(javaClass)) }
 }
 
 interface Source<T : Any> {
@@ -24,4 +26,5 @@ interface Source<T : Any> {
        fun byInstance(instance: T): Module
        fun byProvider(provider: com.google.inject.Provider<T>): Module
        fun byProvider(provider: Class<Provider<T>>): Module
+       fun byMock(): Module
 }