Skip to content

Commit b36a2b1

Browse files
onewhlVassiliy-Kudryashov
authored andcommitted
Add summary tests for ListWrapperReturnsVoidExample (#444)
* Add summary tests for ListWrapperReturnsVoidExample * Review fixes: add KDoc with the link to the corresponding issue on GitHub
1 parent 9a75263 commit b36a2b1

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
package examples.collections
2+
3+
import examples.SummaryTestCaseGeneratorTest
4+
import org.junit.jupiter.api.Test
5+
import org.utbot.examples.DoNotCalculate
6+
import org.utbot.examples.collections.ListWrapperReturnsVoidExample
7+
import org.utbot.framework.plugin.api.MockStrategyApi
8+
9+
/**
10+
* Tests verify that the previously discovered bug is not reproducible anymore.
11+
*
12+
* To get more details, see [issue-437](https://github.com/UnitTestBot/UTBotJava/issues/437)
13+
*/
14+
class SummaryListWrapperReturnsVoidTest : SummaryTestCaseGeneratorTest(
15+
ListWrapperReturnsVoidExample::class,
16+
) {
17+
@Test
18+
fun testRunForEach() {
19+
val summary1 = "Test throws NullPointerException in: list.forEach(o -> {\n" +
20+
" if (o == null)\n" +
21+
" i[0]++;\n" +
22+
"});"
23+
val summary2 = "Test returns from: return i[0];"
24+
val summary3 = "Test returns from: return i[0];"
25+
val summary4 = "Test returns from: return i[0];"
26+
27+
val methodName1 = "testRunForEach_ThrowNullPointerException"
28+
val methodName2 = "testRunForEach_Return0OfI"
29+
val methodName3 = "testRunForEach_Return0OfI_1"
30+
val methodName4 = "testRunForEach_Return0OfI_2"
31+
32+
val displayName1 = "list.forEach(o -> { if (o == null) i[0]++ }) : True -> ThrowNullPointerException"
33+
val displayName2 = "-> return i[0]"
34+
val displayName3 = "-> return i[0]"
35+
val displayName4 = "-> return i[0]"
36+
37+
val summaryKeys = listOf(
38+
summary1,
39+
summary2,
40+
summary3,
41+
summary4
42+
)
43+
44+
val displayNames = listOf(
45+
displayName1,
46+
displayName2,
47+
displayName3,
48+
displayName4
49+
)
50+
51+
val methodNames = listOf(
52+
methodName1,
53+
methodName2,
54+
methodName3,
55+
methodName4
56+
)
57+
58+
val method = ListWrapperReturnsVoidExample::runForEach
59+
val mockStrategy = MockStrategyApi.NO_MOCKS
60+
val coverage = DoNotCalculate
61+
62+
check(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames)
63+
}
64+
65+
@Test
66+
fun testSumPositiveForEach() {
67+
val summary1 = "Test throws NullPointerException in: list.forEach(i -> {\n" +
68+
" if (i > 0) {\n" +
69+
" sum[0] += i;\n" +
70+
" }\n" +
71+
"});"
72+
val summary2 = "Test invokes: List::forEach once\n" +
73+
"throws NullPointerException in: list.forEach(i -> {\n" +
74+
" if (i > 0) {\n" +
75+
" sum[0] += i;\n" +
76+
" }\n" +
77+
"});"
78+
val summary3 = "Test executes conditions:\n" +
79+
" (sum[0] == 0): True\n" +
80+
"returns from: return 0;"
81+
val summary4 = "Test executes conditions:\n" +
82+
" (sum[0] == 0): True\n" +
83+
"returns from: return 0;"
84+
val summary5 = "Test executes conditions:\n" +
85+
" (sum[0] == 0): False\n" +
86+
"returns from: return sum[0];"
87+
88+
val methodName1 = "testSumPositiveForEach_ThrowNullPointerException"
89+
val methodName2 = "testSumPositiveForEach_ListForEach"
90+
val methodName3 = "testSumPositiveForEach_0OfSumEqualsZero"
91+
val methodName4 = "testSumPositiveForEach_0OfSumEqualsZero_1"
92+
val methodName5 = "testSumPositiveForEach_0OfSumNotEqualsZero"
93+
94+
val displayName1 = "list.forEach(i -> { if (i > 0) { sum[0] += i } }) : True -> ThrowNullPointerException"
95+
val displayName2 = "list.forEach(i -> { if (i > 0) { sum[0] += i } }) : True -> ThrowNullPointerException"
96+
val displayName3 = "sum[0] == 0 : True -> return 0"
97+
val displayName4 = "sum[0] == 0 : True -> return 0"
98+
val displayName5 = "sum[0] == 0 : False -> return sum[0]"
99+
100+
val summaryKeys = listOf(
101+
summary1,
102+
summary2,
103+
summary3,
104+
summary4,
105+
summary5
106+
)
107+
108+
val displayNames = listOf(
109+
displayName1,
110+
displayName2,
111+
displayName3,
112+
displayName4,
113+
displayName5
114+
)
115+
116+
val methodNames = listOf(
117+
methodName1,
118+
methodName2,
119+
methodName3,
120+
methodName4,
121+
methodName5
122+
)
123+
124+
val method = ListWrapperReturnsVoidExample::sumPositiveForEach
125+
val mockStrategy = MockStrategyApi.NO_MOCKS
126+
val coverage = DoNotCalculate
127+
128+
check(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames)
129+
}
130+
}

0 commit comments

Comments
 (0)