aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiek Haarman <haarman.niek@gmail.com>2019-06-19 20:39:09 +0200
committerNiek Haarman <haarman.niek@gmail.com>2019-06-19 20:39:09 +0200
commit0edd8fc2eefaf6ecbd0485b74c8267c9d990280d (patch)
treeeedb2fba09fc5edbe106b835302814f7e74d70ac
parent76198eab935700356643fd8b8d417aec9b09bee4 (diff)
parent84783a503221b19cef538b64cced9bc5eedc7901 (diff)
downloadmockito-kotlin-0edd8fc2eefaf6ecbd0485b74c8267c9d990280d.tar.gz
Merge branch 'unlimitedsola-2.x' into 2.x
-rw-r--r--mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/BDDMockito.kt5
-rw-r--r--tests/src/test/kotlin/test/BDDMockitoTest.kt15
2 files changed, 18 insertions, 2 deletions
diff --git a/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/BDDMockito.kt b/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/BDDMockito.kt
index 02f8c3c..ead224d 100644
--- a/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/BDDMockito.kt
+++ b/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/BDDMockito.kt
@@ -27,6 +27,7 @@ package com.nhaarman.mockitokotlin2
import org.mockito.BDDMockito
import org.mockito.BDDMockito.BDDMyOngoingStubbing
+import org.mockito.invocation.InvocationOnMock
import org.mockito.stubbing.Answer
/**
@@ -60,8 +61,8 @@ infix fun <T> BDDMyOngoingStubbing<T>.will(value: Answer<T>): BDDMockito.BDDMyOn
/**
* Alias for [BBDMyOngoingStubbing.willAnswer], accepting a lambda.
*/
-infix fun <T> BDDMyOngoingStubbing<T>.willAnswer(value: () -> T): BDDMockito.BDDMyOngoingStubbing<T> {
- return willAnswer { value() }
+infix fun <T> BDDMyOngoingStubbing<T>.willAnswer(value: (InvocationOnMock) -> T?): BDDMockito.BDDMyOngoingStubbing<T> {
+ return willAnswer { value(it) }
}
/**
diff --git a/tests/src/test/kotlin/test/BDDMockitoTest.kt b/tests/src/test/kotlin/test/BDDMockitoTest.kt
index 0d090b2..3d43ac4 100644
--- a/tests/src/test/kotlin/test/BDDMockitoTest.kt
+++ b/tests/src/test/kotlin/test/BDDMockitoTest.kt
@@ -91,6 +91,21 @@ class BDDMockitoTest {
expect(mock.stringResult()).toBe("Test")
}
+ @Test
+ fun given_willAnswerInfix_withInvocationInfo_properlyStubs() {
+ /* Given */
+ val mock = mock<Methods>()
+
+ /* When */
+ given(mock.stringResult(any())) willAnswer { invocation ->
+ (invocation.arguments[0] as String)
+ .reversed()
+ }
+
+ /* Then */
+ expect(mock.stringResult("Test")).toBe("tseT")
+ }
+
@Test(expected = IllegalStateException::class)
fun given_willThrowInfix_properlyStubs() {
/* Given */