X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FMockotlin.kt;h=4d345b3363af25c177d06949636033902348b19b;hp=dcd139bf3cca6a9591818e18853d5fc7d8f325a0;hb=HEAD;hpb=d070aabe9a9e2fc525022fb1ab24bdb6d3d4b2c3 diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt b/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt index dcd139b..4d345b3 100644 --- a/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt +++ b/src/test/kotlin/net/pterodactylus/sone/test/Mockotlin.kt @@ -1,9 +1,9 @@ package net.pterodactylus.sone.test import com.google.inject.Module -import org.mockito.ArgumentCaptor -import org.mockito.Mockito -import org.mockito.stubbing.OngoingStubbing +import org.mockito.* +import org.mockito.invocation.InvocationOnMock +import org.mockito.stubbing.* inline fun mock(): T = Mockito.mock(T::class.java)!! inline fun mockBuilder(): T = Mockito.mock(T::class.java, Mockito.RETURNS_SELF)!! @@ -17,8 +17,18 @@ 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()) } + Module { it!!.bind(T::class.java).toInstance(mock()) } inline fun whenever(methodCall: T) = Mockito.`when`(methodCall)!! +inline fun Stubber.whenever(mock: T) = `when`(mock)!! -inline fun OngoingStubbing.thenReturnMock(): OngoingStubbing = this.thenReturn(mock()) +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)!! + +fun eq(t: T): T { + ArgumentMatchers.eq(t) + return null as T +}