@@ -41,12 +41,16 @@ fun after(millis: Long) = Mockito.after(millis)
4141
4242/* * Matches any object, excluding nulls. */
4343inline fun <reified T : Any > any () = Mockito .any(T ::class .java) ? : createInstance<T >()
44+
4445/* * Matches anything, including nulls. */
4546inline fun <reified T : Any > anyOrNull (): T = Mockito .any<T >() ? : createInstance<T >()
47+
4648/* * Matches any vararg object, including nulls. */
4749inline fun <reified T : Any > anyVararg (): T = Mockito .any<T >() ? : createInstance<T >()
50+
4851/* * Matches any array of type T. */
4952inline fun <reified T : Any ? > anyArray (): Array <T > = Mockito .any(Array <T >::class .java) ? : arrayOf()
53+
5054inline fun <reified T : Any > argThat (noinline predicate : T .() -> Boolean ) = Mockito .argThat<T > { it -> (it as T ).predicate() } ? : createInstance(T ::class )
5155inline fun <reified T : Any > argForWhich (noinline predicate : T .() -> Boolean ) = argThat(predicate)
5256
@@ -80,8 +84,11 @@ inline fun <reified T : Any> mock(defaultAnswer: Answer<Any>): T = Mockito.mock(
8084inline fun <reified T : Any > mock (s : MockSettings ): T = Mockito .mock(T ::class .java, s)!!
8185inline fun <reified T : Any > mock (s : String ): T = Mockito .mock(T ::class .java, s)!!
8286
83- inline fun <reified T : Any > mock (stubbing : KStubbing <T >.() -> Unit ): T
84- = Mockito .mock(T ::class .java)!! .apply { stubbing(KStubbing (this )) }
87+ inline fun <reified T : Any > mock (stubbing : KStubbing <T >.(T ) -> Unit ): T {
88+ return mock<T >().apply {
89+ KStubbing (this ).stubbing(this )
90+ }
91+ }
8592
8693class KStubbing <out T >(private val mock : T ) {
8794 fun <R > on (methodCall : R ) = Mockito .`when `(methodCall)
0 commit comments