X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FMockotlin.kt;h=dcd139bf3cca6a9591818e18853d5fc7d8f325a0;hb=d070aabe9a9e2fc525022fb1ab24bdb6d3d4b2c3;hp=5ce82dff0344640cb92e008b8ad0c1cfd59f262b;hpb=5331998f4c37d54637737b79e5ef8844dc64d72b;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt b/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt index 5ce82df..dcd139b 100644 --- a/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt +++ b/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt @@ -1,7 +1,24 @@ package net.pterodactylus.sone.test +import com.google.inject.Module import org.mockito.ArgumentCaptor import org.mockito.Mockito +import org.mockito.stubbing.OngoingStubbing inline fun mock(): T = Mockito.mock(T::class.java)!! +inline fun mockBuilder(): T = Mockito.mock(T::class.java, Mockito.RETURNS_SELF)!! +inline fun deepMock(): T = Mockito.mock(T::class.java, Mockito.RETURNS_DEEP_STUBS)!! +inline fun selfMock(): T = Mockito.mock(T::class.java, Mockito.RETURNS_SELF)!! inline fun capture(): ArgumentCaptor = ArgumentCaptor.forClass(T::class.java) + +inline fun OngoingStubbing<*>.doThrow(): OngoingStubbing<*> = thenThrow(E::class.java) + +inline fun bind(implementation: T): Module = + Module { it!!.bind(T::class.java).toInstance(implementation) } + +inline fun bindMock(): Module = + Module { it!!.bind(T::class.java).toInstance(mock()) } + +inline fun whenever(methodCall: T) = Mockito.`when`(methodCall)!! + +inline fun OngoingStubbing.thenReturnMock(): OngoingStubbing = this.thenReturn(mock())