X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FMockotlin.kt;h=c4fd7cb02fea5a00f30c8741388088dded017d01;hb=51b58fad3a00b2d9cae45345ac066e89233ba0b5;hp=4549641527e77ad951cb1b6dca8c302ef016df41;hpb=acfc86d839d5a8b8c75b0198f48dd12e10128c65;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 4549641..c4fd7cb 100644 --- a/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt +++ b/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt @@ -3,6 +3,7 @@ package net.pterodactylus.sone.test import com.google.inject.Module import org.mockito.ArgumentCaptor import org.mockito.Mockito +import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.OngoingStubbing inline fun mock(): T = Mockito.mock(T::class.java)!! @@ -11,6 +12,8 @@ inline fun deepMock(): T = Mockito.mock(T::class.java, Mock 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) } @@ -20,3 +23,7 @@ inline fun bindMock(): Module = inline fun whenever(methodCall: T) = Mockito.`when`(methodCall)!! inline fun OngoingStubbing.thenReturnMock(): OngoingStubbing = this.thenReturn(mock()) + +operator fun InvocationOnMock.get(index: Int): T = getArgument(index) + +inline fun argumentCaptor(): ArgumentCaptor = ArgumentCaptor.forClass(T::class.java)!!