1
+ package examples.structures
2
+
3
+ import examples.SummaryTestCaseGeneratorTest
4
+ import org.junit.jupiter.api.Test
5
+ import org.utbot.examples.DoNotCalculate
6
+ import org.utbot.examples.structures.MinStack
7
+ import org.utbot.framework.plugin.api.MockStrategyApi
8
+
9
+ class SummaryMinStackTest : SummaryTestCaseGeneratorTest (
10
+ MinStack : :class
11
+ ) {
12
+ @Test
13
+ fun testGetMin () {
14
+ val summary1 = " @utbot.classUnderTest {@link MinStack}\n " +
15
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#getMin()}\n " +
16
+ " @utbot.throwsException {@link ArrayIndexOutOfBoundsException} in: return minStack[size - 1];"
17
+
18
+ val summary2 = " @utbot.classUnderTest {@link MinStack}\n " +
19
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#getMin()}\n " +
20
+ " @utbot.throwsException {@link NullPointerException} in: return minStack[size - 1];"
21
+
22
+ val summary3 = " @utbot.classUnderTest {@link MinStack}\n " +
23
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#getMin()}\n " +
24
+ " @utbot.returnsFrom {@code return minStack[size - 1];}\n "
25
+
26
+ val methodName1 = " testGetMin_ThrowArrayIndexOutOfBoundsException"
27
+ val methodName2 = " testGetMin_ThrowNullPointerException"
28
+ val methodName3 = " testGetMin_ReturnSize1OfMinStack"
29
+
30
+ val displayName1 = " return minStack[size - 1] : True -> ThrowArrayIndexOutOfBoundsException"
31
+ val displayName2 = " return minStack[size - 1] : True -> ThrowNullPointerException"
32
+ val displayName3 = " -> return minStack[size - 1]"
33
+
34
+ val summaryKeys = listOf (
35
+ summary1,
36
+ summary2,
37
+ summary3
38
+ )
39
+
40
+ val displayNames = listOf (
41
+ displayName1,
42
+ displayName2,
43
+ displayName3
44
+ )
45
+
46
+ val methodNames = listOf (
47
+ methodName1,
48
+ methodName2,
49
+ methodName3
50
+ )
51
+
52
+ val method = MinStack ::getMin
53
+ val mockStrategy = MockStrategyApi .NO_MOCKS
54
+ val coverage = DoNotCalculate
55
+
56
+ checkSummariesWithCustomTags(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames)
57
+ }
58
+
59
+ @Test
60
+ fun testRemoveValue () {
61
+ val summary1 = " @utbot.classUnderTest {@link MinStack}\n " +
62
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#removeValue()}\n " +
63
+ " @utbot.executesCondition {@code (size <= 0): True}\n " +
64
+ " @utbot.throwsException {@link RuntimeException} after condition: {@code size <= 0}"
65
+
66
+ val summary2 = " @utbot.classUnderTest {@link MinStack}\n " +
67
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#removeValue()}\n " +
68
+ " @utbot.executesCondition {@code (size <= 0): False}\n "
69
+
70
+ val methodName1 = " testRemoveValue_SizeLessOrEqualZero"
71
+ val methodName2 = " testRemoveValue_SizeGreaterThanZero"
72
+
73
+ val displayName1 = " size <= 0 -> ThrowRuntimeException"
74
+ val displayName2 = " -> size <= 0 : False"
75
+
76
+ val summaryKeys = listOf (
77
+ summary1,
78
+ summary2
79
+ )
80
+
81
+ val displayNames = listOf (
82
+ displayName1,
83
+ displayName2
84
+ )
85
+
86
+ val methodNames = listOf (
87
+ methodName1,
88
+ methodName2
89
+ )
90
+
91
+ val method = MinStack ::removeValue
92
+ val mockStrategy = MockStrategyApi .NO_MOCKS
93
+ val coverage = DoNotCalculate
94
+
95
+ checkSummariesWithCustomTags(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames)
96
+ }
97
+
98
+ @Test
99
+ fun testAddValue () {
100
+ val summary1 = " @utbot.classUnderTest {@link MinStack}\n " +
101
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
102
+ " @utbot.throwsException {@link ArrayIndexOutOfBoundsException} in: stack[size] = value;"
103
+
104
+ val summary2 = " @utbot.classUnderTest {@link MinStack}\n " +
105
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
106
+ " @utbot.throwsException {@link NullPointerException} in: stack[size] = value;"
107
+
108
+ val summary3 = " @utbot.classUnderTest {@link MinStack}\n " +
109
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
110
+ " @utbot.executesCondition {@code (size == 0): True}\n " +
111
+ " @utbot.throwsException {@link ArrayIndexOutOfBoundsException} in: minStack[size] = value;"
112
+
113
+ val summary4 = " @utbot.classUnderTest {@link MinStack}\n " +
114
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
115
+ " @utbot.executesCondition {@code (size == 0): True}\n " +
116
+ " @utbot.throwsException {@link NullPointerException} in: minStack[size] = value;"
117
+
118
+ val summary5 = " @utbot.classUnderTest {@link MinStack}\n " +
119
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
120
+ " @utbot.executesCondition {@code (size == 0): False}\n " +
121
+ " @utbot.throwsException {@link NullPointerException} in: minStack[size] = Math.min(minStack[size - 1], value);"
122
+
123
+ val summary6 = " @utbot.classUnderTest {@link MinStack}\n " +
124
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
125
+ " @utbot.executesCondition {@code (size == 0): False}\n " +
126
+ " @utbot.throwsException {@link ArrayIndexOutOfBoundsException} in: minStack[size] = Math.min(minStack[size - 1], value);"
127
+ val summary7 = " @utbot.classUnderTest {@link MinStack}\n " +
128
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
129
+ " @utbot.executesCondition {@code (size == 0): False}\n " +
130
+ " @utbot.invokes {@code {@link java.lang.Math#min(long,long)}}\n " +
131
+ " @utbot.throwsException {@link ArrayIndexOutOfBoundsException} in: minStack[size] = Math.min(minStack[size - 1], value);"
132
+ val summary8 = " @utbot.classUnderTest {@link MinStack}\n " +
133
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
134
+ " @utbot.executesCondition {@code (size == 0): True}\n "
135
+ val summary9 = " @utbot.classUnderTest {@link MinStack}\n " +
136
+ " @utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n " +
137
+ " @utbot.executesCondition {@code (size == 0): False}\n " +
138
+ " @utbot.invokes {@code {@link java.lang.Math#min(long,long)}}\n "
139
+
140
+ val methodName1 = " testAddValue_ThrowArrayIndexOutOfBoundsException"
141
+ val methodName2 = " testAddValue_ThrowNullPointerException"
142
+ val methodName3 = " testAddValue_ThrowArrayIndexOutOfBoundsException_1"
143
+ val methodName4 = " testAddValue_ThrowNullPointerException_1"
144
+ val methodName5 = " testAddValue_ThrowNullPointerException_2"
145
+ val methodName6 = " testAddValue_ThrowArrayIndexOutOfBoundsException_2"
146
+ val methodName7 = " testAddValue_MathMin"
147
+ val methodName8 = " testAddValue_SizeEqualsZero"
148
+ val methodName9 = " testAddValue_SizeNotEqualsZero"
149
+
150
+ val displayName1 = " stack[size] = value -> ThrowArrayIndexOutOfBoundsException"
151
+ val displayName2 = " stack[size] = value -> ThrowNullPointerException"
152
+ val displayName3 = " minStack[size] = value -> ThrowArrayIndexOutOfBoundsException"
153
+ val displayName4 = " minStack[size] = value -> ThrowNullPointerException"
154
+ val displayName5 = " minStack[size] = Math.min(minStack[size - 1], value) -> ThrowNullPointerException"
155
+ val displayName6 = " minStack[size] = Math.min(minStack[size - 1], value) -> ThrowArrayIndexOutOfBoundsException"
156
+ val displayName7 = " minStack[size] = Math.min(minStack[size - 1], value) -> ThrowArrayIndexOutOfBoundsException"
157
+ val displayName8 = " -> size == 0 : True"
158
+ val displayName9 = " size == 0 : False -> MathMin"
159
+
160
+ val summaryKeys = listOf (
161
+ summary1,
162
+ summary2,
163
+ summary3,
164
+ summary4,
165
+ summary5,
166
+ summary6,
167
+ summary7,
168
+ summary8,
169
+ summary9
170
+ )
171
+
172
+ val displayNames = listOf (
173
+ displayName1,
174
+ displayName2,
175
+ displayName3,
176
+ displayName4,
177
+ displayName5,
178
+ displayName6,
179
+ displayName7,
180
+ displayName8,
181
+ displayName9
182
+ )
183
+
184
+ val methodNames = listOf (
185
+ methodName1,
186
+ methodName2,
187
+ methodName3,
188
+ methodName4,
189
+ methodName5,
190
+ methodName6,
191
+ methodName7,
192
+ methodName8,
193
+ methodName9,
194
+ )
195
+
196
+ val method = MinStack ::addValue
197
+ val mockStrategy = MockStrategyApi .NO_MOCKS
198
+ val coverage = DoNotCalculate
199
+
200
+ checkSummariesWithCustomTags(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames)
201
+ }
202
+ }
0 commit comments