File tree Expand file tree Collapse file tree 2 files changed +15
-1
lines changed
main/kotlin/com/nhaarman/mockito_kotlin Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -29,3 +29,7 @@ import org.mockito.ArgumentCaptor
2929
3030inline fun <reified T : Any > argumentCaptor () = ArgumentCaptor .forClass(T ::class .java)
3131inline fun <reified T : Any > capture (captor : ArgumentCaptor <T >): T = captor.capture() ? : createInstance<T >()
32+ inline fun <reified T : Any > capture (noinline consumer : (T ) -> Unit ): T {
33+ var times = 0
34+ return argThat { if (++ times == 1 ) consumer.invoke(this ); true }
35+ }
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ import java.util.*
99class ArgumentCaptorTest {
1010
1111 @Test
12- fun captor () {
12+ fun explicitCaptor () {
1313 val date: Date = mock()
1414 val time = argumentCaptor<Long >()
1515
@@ -18,4 +18,14 @@ class ArgumentCaptorTest {
1818 verify(date).time = capture(time)
1919 expect(time.value).toBe(5L )
2020 }
21+
22+ @Test
23+ fun implicitCaptor () {
24+ val date: Date = mock()
25+ date.time = 5L
26+
27+ verify(date).time = capture {
28+ expect(it).toBe(5L )
29+ }
30+ }
2131}
You can’t perform that action at this time.
0 commit comments