/
StaticMockkTest.kt
109 lines (73 loc) · 2.08 KB
/
StaticMockkTest.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package io.mockk.it
import io.mockk.every
import io.mockk.mockkStatic
import io.mockk.unmockkStatic
import io.mockk.verify
import java.time.Instant
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
import kotlin.test.assertNotEquals
val Int.selfOp get() = this * this
class StaticMockkTest {
/**
* GitHub issue #92
*/
@Test
fun staticMockkJavaFunction() {
val epochSeconds = 123L
mockkStatic(Instant::class)
every { Instant.now().epochSecond } returns epochSeconds
assertEquals(123L, Instant.now().epochSecond)
}
/**
* GitHub issue #99
*/
@Test
fun unmockStatic_unmocksStaticMocks() {
mockkStatic(Instant::class)
every { Instant.now().toEpochMilli() } returns 123L
assertEquals(123L, Instant.now().toEpochMilli())
unmockkStatic(Instant::class)
assertNotEquals(123L, Instant.now().toEpochMilli())
}
@Test
fun extensionFunctionStaticMock() {
mockkStatic(Int::op)
every { 5 op 6 } returns 2
assertEquals(2, 5 op 6)
verify { 5 op 6 }
}
@Test
fun extensionFunctionClearStateStaticMock() {
mockkStatic(Int::op)
every { 5 op 6 } returns 2
assertEquals(2, 5 op 6)
verify { 5 op 6 }
mockkStatic(Int::op)
verify(exactly = 0) { 5 op 6 }
assertEquals(11, 5 op 6)
every { 5 op 6 } returns 3
assertEquals(3, 5 op 6)
verify { 5 op 6 }
}
@Test
fun extensionPropertyStaticMock() {
mockkStatic(Int::selfOp)
every { 5.selfOp } returns 2
assertEquals(2, 5.selfOp)
verify { 5.selfOp }
}
@Test
fun extensionPropertyClearStateStaticMock() {
mockkStatic(Int::selfOp)
every { 5.selfOp } returns 2
assertEquals(2, 5.selfOp)
verify { 5.selfOp }
mockkStatic(Int::selfOp)
verify(exactly = 0) { 5.selfOp }
assertEquals(25, 5.selfOp)
every { 5.selfOp } returns 3
assertEquals(3, 5.selfOp)
verify { 5.selfOp }
}
}