Skip to content

Commit a4d0bee

Browse files
m-koopsTimvdLippe
authored andcommitted
Add more stubbing tests for consecutive calls and builder mocking
1 parent 93934a1 commit a4d0bee

File tree

1 file changed

+58
-26
lines changed

1 file changed

+58
-26
lines changed

tests/src/test/kotlin/test/OngoingStubbingTest.kt

Lines changed: 58 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,64 @@ class OngoingStubbingTest : TestBase() {
2828
expect(result).toBe("A")
2929
}
3030

31+
@Test
32+
fun `should stub consecutive function calls`() {
33+
/* Given */
34+
val mock = mock<Open> {
35+
on { stringResult() }.doReturn ("A", "B", "C")
36+
}
37+
38+
/* When */
39+
val result =(1..3).map { _ ->
40+
mock.stringResult()
41+
}
42+
43+
/* Then */
44+
expect(result).toBe(listOf("A", "B", "C"))
45+
}
46+
47+
@Test
48+
fun `should stub consecutive function calls by a list of answers`() {
49+
/* Given */
50+
val mock = mock<Open> {
51+
on { stringResult() } doReturnConsecutively listOf("A", "B", "C")
52+
}
53+
54+
/* When */
55+
val result =(1..3).map { _ ->
56+
mock.stringResult()
57+
}
58+
59+
/* Then */
60+
expect(result).toBe(listOf("A", "B", "C"))
61+
}
62+
63+
@Test
64+
fun `should stub builder method returning mock itself via answer`() {
65+
/* Given */
66+
val mock = mock<SynchronousFunctions> {
67+
on { builderMethod() } doAnswer Mockito.RETURNS_SELF
68+
}
69+
70+
/* When */
71+
val result = mock.builderMethod()
72+
73+
/* Then */
74+
expect(result).toBe(mock)
75+
}
76+
77+
@Test
78+
fun `should stub builder method returning mock itself via defaultAnswer`() {
79+
/* Given */
80+
val mock = mock<SynchronousFunctions>(defaultAnswer = Mockito.RETURNS_SELF)
81+
82+
/* When */
83+
val result = mock.builderMethod()
84+
85+
/* Then */
86+
expect(result).toBeTheSameAs(mock)
87+
}
88+
3189
@Test
3290
fun `should stub builder method returning mock itself`() {
3391
/* Given */
@@ -149,20 +207,6 @@ class OngoingStubbingTest : TestBase() {
149207
expect(result).toBe("result")
150208
}
151209

152-
@Test
153-
fun `should stub builder method returning mock itself via answer`() {
154-
/* Given */
155-
val mock = mock<SynchronousFunctions> {
156-
on { builderMethod() } doAnswer Mockito.RETURNS_SELF
157-
}
158-
159-
/* When */
160-
val result = mock.builderMethod()
161-
162-
/* Then */
163-
expect(result).toBe(mock)
164-
}
165-
166210
@Test
167211
fun `should stub function call with result from lambda with argument`() {
168212
/* Given */
@@ -207,18 +251,6 @@ class OngoingStubbingTest : TestBase() {
207251
expect(result).toBe(true)
208252
}
209253

210-
@Test
211-
fun `should stub consecutive function calls by a list of answers`() {
212-
/* Given */
213-
val mock = mock<Open> {
214-
on { stringResult() } doReturnConsecutively listOf("a", "b")
215-
}
216-
217-
/* Then */
218-
expect(mock.stringResult()).toBe("a")
219-
expect(mock.stringResult()).toBe("b")
220-
}
221-
222254
@Test
223255
fun `should stub function call with integer result`() {
224256
/* Given */

0 commit comments

Comments
 (0)