1 package test 2 3 import org.mockito.kotlin.any 4 import org.mockito.kotlin.mock 5 import org.mockito.kotlin.verify 6 import org.junit.Test 7 import org.mockito.exceptions.verification.TooLittleActualInvocations 8 import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent 9 10 class VerifyTest : TestBase() { 11 12 @Test verify0Callsnull13 fun verify0Calls() { 14 val iface = mock<TestInterface>() 15 16 verify(iface) { 17 0 * { call(any()) } 18 } 19 } 20 21 @Test verifyNCallsnull22 fun verifyNCalls() { 23 val iface = mock<TestInterface>() 24 25 iface.call(42) 26 iface.call(42) 27 28 verify(iface) { 29 2 * { call(42) } 30 } 31 } 32 33 @Test(expected = TooLittleActualInvocations::class) verifyFailsWithWrongCountnull34 fun verifyFailsWithWrongCount() { 35 val iface = mock<TestInterface>() 36 37 iface.call(0) 38 39 verify(iface) { 40 2 * { call(0) } 41 } 42 } 43 44 @Test(expected = ArgumentsAreDifferent::class) verifyFailsWithWrongArgnull45 fun verifyFailsWithWrongArg() { 46 val iface = mock<TestInterface>() 47 48 iface.call(3) 49 50 verify(iface) { 51 1 * { call(0) } 52 } 53 } 54 55 @Test verifyDefaultArgs_firstParameternull56 fun verifyDefaultArgs_firstParameter() { 57 /* Given */ 58 val m = mock<TestInterface>() 59 60 /* When */ 61 m.defaultArgs(a = 2) 62 63 /* Then */ 64 verify(m).defaultArgs(2) 65 } 66 67 @Test verifyDefaultArgs_secondParameternull68 fun verifyDefaultArgs_secondParameter() { 69 /* Given */ 70 val m = mock<TestInterface>() 71 72 /* When */ 73 m.defaultArgs(b = 2) 74 75 /* Then */ 76 verify(m).defaultArgs(b = 2) 77 } 78 79 @Test verifyDefaultArgs_verifyDefaultValuenull80 fun verifyDefaultArgs_verifyDefaultValue() { 81 /* Given */ 82 val m = mock<TestInterface>() 83 84 /* When */ 85 m.defaultArgs(b = 2) 86 87 /* Then */ 88 verify(m).defaultArgs(a = 3, b = 2) 89 } 90 91 interface TestInterface { callnull92 fun call(arg: Int) 93 94 fun defaultArgs(a: Int = 3, b: Int = 42) 95 } 96 }