package net.pterodactylus.sone.test
import com.google.inject.Module
-import org.mockito.ArgumentCaptor
-import org.mockito.Mockito
+import org.mockito.*
import org.mockito.invocation.InvocationOnMock
import org.mockito.stubbing.OngoingStubbing
Module { it!!.bind(T::class.java).toInstance(implementation) }
inline fun <reified T : Any> bindMock(): Module =
- Module { it!!.bind(T::class.java).toInstance(mock<T>()) }
+ Module { it!!.bind(T::class.java).toInstance(mock()) }
inline fun <reified T: Any?> whenever(methodCall: T) = Mockito.`when`(methodCall)!!
-inline fun <reified T : Any> OngoingStubbing<T>.thenReturnMock(): OngoingStubbing<T> = this.thenReturn(mock<T>())
+inline fun <reified T : Any> OngoingStubbing<T>.thenReturnMock(): OngoingStubbing<T> = this.thenReturn(mock())
operator fun <T> InvocationOnMock.get(index: Int): T = getArgument(index)
+
+inline fun <reified T> argumentCaptor(): ArgumentCaptor<T> = ArgumentCaptor.forClass<T, T>(T::class.java)!!
+
+fun <T> eq(t: T): T {
+ ArgumentMatchers.eq(t)
+ return null as T
+}