forked from openmainframeproject/cobol-check
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathALLTESTS
331 lines (284 loc) · 11.1 KB
/
ALLTESTS
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
*From file: C:\Udvikler\Workspace\cobol-check-main\src\test\cobol\MOCKTEST\BeforeAfterTest.cut
TestSuite "Before and after tests 1"
BEFORE-EACH
MOVE "prepare" TO VALUE-1
END-BEFORE
AFTER-EACH
MOVE "clean" TO VALUE-2
END-AFTER
TestCase "Before sets value"
EXPECT VALUE-1 TO BE "prepare"
TestCase "After sets value"
EXPECT VALUE-2 TO BE "clean"
TestCase "Before happens before Testcase"
MOVE "during" TO VALUE-1
EXPECT VALUE-1 TO BE "during"
TestCase "After happens after Testcase (part 1)"
MOVE "during" TO VALUE-2
EXPECT VALUE-2 TO BE "during"
TestCase "After happens after Testcase (part 2)"
EXPECT VALUE-2 TO BE "clean"
TestSuite "Before and after tests 2"
BEFORE-EACH
MOVE "before1" TO VALUE-1
MOVE "before2" TO VALUE-2
PERFORM 000-START
END-BEFORE
AFTER EACH
MOVE "clean up" TO VALUE-3
PERFORM 100-WELCOME
END-AFTER
MOCK SECTION 000-START
MOVE "GlobalMockedSection1" TO VALUE-1
END-MOCK
MOCK SECTION 100-WELCOME
MOVE "GlobalMockedSection2" TO VALUE-3
END-MOCK
TestCase "Performs of mocked items does not influence count"
VERIFY SECTION 000-START HAPPENED 0 TIMES
VERIFY SECTION 100-WELCOME NEVER HAPPENED
TestCase "Only global mocks apply in before/after (part 1)"
MOVE "arg3" TO VALUE-3
MOCK SECTION 000-START
MOVE "LocalMockedSection1" TO VALUE-1
END-MOCK
MOCK SECTION 100-WELCOME
MOVE "LocalMockedSection2" TO VALUE-3
END-MOCK
EXPECT VALUE-1 TO BE "GlobalMockedSection1"
EXPECT VALUE-2 TO BE "before2"
EXPECT VALUE-3 TO BE "arg3"
TestCase "Only global mocks apply in before/after (part 2)"
MOCK SECTION 000-START
MOVE "LocalMockedSection1" TO VALUE-1
END-MOCK
MOCK SECTION 100-WELCOME
MOVE "LocalMockedSection2" TO VALUE-3
END-MOCK
EXPECT VALUE-1 TO BE "GlobalMockedSection1"
EXPECT VALUE-2 TO BE "before2"
EXPECT VALUE-3 TO BE "GlobalMockedSection2"
TestCase "Only global mocks apply in before/after (part 3)"
MOCK SECTION 000-START
MOVE "LocalMockedSection1" TO VALUE-1
END-MOCK
MOCK SECTION 100-WELCOME
MOVE "LocalMockedSection2" TO VALUE-3
END-MOCK
EXPECT VALUE-1 TO BE "GlobalMockedSection1"
EXPECT VALUE-2 TO BE "before2"
EXPECT VALUE-3 TO BE "GlobalMockedSection2"
TestSuite "Before and after tests 3"
BEFORE EACH
MOVE "before" TO VALUE-1
END-BEFORE
AFTER-EACH
MOVE "after" TO VALUE-1
END-AFTER
TestCase "Before proceeds after from last testcase (part 1)"
EXPECT VALUE-1 TO BE "before"
TestCase "Before proceeds after from last testcase (part 2)"
EXPECT VALUE-1 TO BE "before"
*From file: C:\Udvikler\Workspace\cobol-check-main\src\test\cobol\MOCKTEST\GeneralTest.cut
TestSuite "General tests"
TestCase "No Expect or Verify"
PERFORM 100-WELCOME
TestCase "Welcome section performs as intended"
PERFORM 100-WELCOME
Expect VALUE-1 to be "Hello"
Expect VALUE-2 to be "Hi"
TestCase "Goodbye section performs as intended"
PERFORM 200-GOODBYE
Expect VALUE-1 to be "Bye"
Expect VALUE-2 to be "See you"
TestCase "Change-1 changes hello to bye"
PERFORM 100-WELCOME
PERFORM 300-CHANGE-1
Expect VALUE-1 to be "Bye"
Expect VALUE-2 to be "Hi"
TestCase "Change-1 changes bye to hello"
PERFORM 200-GOODBYE
PERFORM 300-CHANGE-1
Expect VALUE-1 to be "Hello"
Expect VALUE-2 to be "See you"
TestCase "Change-2 changes hi to see you"
PERFORM 100-WELCOME
PERFORM 400-CHANGE-2
Expect VALUE-1 to be "Hello"
Expect VALUE-2 to be "See you"
TestCase "Change-2 changes see you to hi"
PERFORM 200-GOODBYE
PERFORM 400-CHANGE-2
Expect VALUE-1 to be "Bye"
Expect VALUE-2 to be "Hi"
TestCase "Switches values"
PERFORM 100-WELCOME
PERFORM 500-SWITCH
Expect VALUE-1 to be "Hi"
Expect VALUE-2 to be "Hello"
*From file: C:\Udvikler\Workspace\cobol-check-main\src\test\cobol\MOCKTEST\MockCallTest.cut
* Test for mocking call statements
* Writing a comment to test stuff
*
*Yeah
*
TestSuite "Mock Call statements test"
MOCK CALL 'PROG1'
MOVE "Global PROG1" TO VALUE-1
END-MOCK
TestCase "Simple call mock works"
MOCK CALL 'PROG1'
MOVE "From mocked PROG1" TO VALUE-1
END-MOCK
PERFORM 600-MAKE-CALL
EXPECT VALUE-1 TO BE "From mocked PROG1"
EXPECT VALUE-2 TO BE "arg2"
VERIFY CALL 'PROG1' HAPPENED ONCE
TestCase "Simple global call mock works"
PERFORM 600-MAKE-CALL
EXPECT VALUE-1 TO BE "Global PROG1"
EXPECT VALUE-2 TO BE "arg2"
VERIFY CALL 'PROG1' HAPPENED ONCE
TestCase "Call mock with argument works"
MOCK CALL VALUE-2 USING VALUE-1
MOVE "From mocked PROG2" TO VALUE-1
END-MOCK
PERFORM 700-MAKE-CALL
EXPECT VALUE-1 TO BE "From mocked PROG2"
EXPECT VALUE-2 TO BE "arg2"
VERIFY CALL VALUE-2 USING VALUE-1
HAPPENED ONCE
* Test for mocking call statements
* Writing a comment to test stuff
*
*Yeah
*
TestCase "Call mock with content reference for arguments work"
MOCK CALL 'PROG3' USING
BY CONTENT VALUE-1,
BY VALUE VALUE-2,
VALUE-3
MOVE "content" TO VALUE-1
MOVE "value" TO VALUE-2
MOVE "reference" TO VALUE-3
END-MOCK
PERFORM 800-MAKE-CALL
EXPECT VALUE-1 TO BE "content"
EXPECT VALUE-2 TO BE "value"
EXPECT VALUE-3 TO BE "reference"
VERIFY CALL 'PROG3' USING
BY CONTENT VALUE-1,
BY VALUE VALUE-2,
VALUE-3
HAPPENED 2 TIMES
TestCase "Paragraph mock is called and call mock is ignored"
MOCK CALL 'PROG3' USING
BY CONTENT VALUE-1,
BY VALUE VALUE-2,
VALUE-3
MOVE "content" TO VALUE-1
MOVE "value" TO VALUE-2
MOVE "reference" TO VALUE-3
END-MOCK
MOCK PARAGRAPH 800-MAKE-CALL
MOVE "overwritten" TO VALUE-1
END-MOCK
MOVE "arg2" TO VALUE-2
MOVE "arg3" TO VALUE-3
PERFORM 800-MAKE-CALL
EXPECT VALUE-1 TO BE "overwritten"
EXPECT VALUE-2 TO BE "arg2"
EXPECT VALUE-3 TO BE "arg3"
VERIFY PARAGRAPH 800-MAKE-CALL HAPPENED ONCE
VERIFY CALL 'PROG3' USING
BY CONTENT VALUE-1,
BY VALUE VALUE-2,
VALUE-3
NEVER HAPPENED
TestCase "Global call mock is not overwritten by local call mock (Should fail)"
MOCK CALL 'PROG1'
MOVE "Local PROG1" TO VALUE-1
END-MOCK
PERFORM 600-MAKE-CALL
EXPECT VALUE-1 TO BE "Global PROG1"
*From file: C:\Udvikler\Workspace\cobol-check-main\src\test\cobol\MOCKTEST\MockSectionsAndParagraphsTest.cut
TestSuite "Mock Sections And Paragraphs"
MOCK SECTION 000-START
PERFORM 100-WELCOME
PERFORM 500-SWITCH
END-MOCK
MOCK PARAGRAPH 300-CHANGE-1
EVALUATE VALUE-1
WHEN "Hello"
MOVE "MOCKED" TO VALUE-1
WHEN OTHER
MOVE "mocked" TO VALUE-1
END-EVALUATE
END-MOCK
TestCase "Global mock behaves as intended"
PERFORM 000-START
Expect VALUE-1 to be "Hi"
Expect VALUE-2 to be "Hello"
VERIFY SECTION 000-START HAPPENED ONCE
VERIFY PARAGRAPH 300-CHANGE-1 HAPPENED ZERO TIMES
TestCase "Local mock overwrites global mock"
MOCK SECTION 000-START
MOVE "This is" TO VALUE-1
MOVE "a mock" TO VALUE-2
END-MOCK
PERFORM 000-START
PERFORM 000-START
Expect VALUE-1 to be "This is"
Expect VALUE-2 to be "a mock"
VERIFY SECTION 000-START HAPPENED AT LEAST 2 TIMES
TestCase "Multiple local mocks behaves as intended (First Verify should fail)"
MOCK SECTION 000-START
MOVE "This is" TO VALUE-1
MOVE "a mock" TO VALUE-2
PERFORM 100-WELCOME
PERFORM 100-WELCOME
PERFORM 100-WELCOME
END-MOCK
MOCK SECTION 100-WELCOME
MOVE "I'll leave VALUE-2 alone" TO VALUE-1
END-MOCK
MOCK PARAGRAPH 500-SWITCH
END-MOCK
PERFORM 000-START
PERFORM 000-START
VERIFY SECTION 000-START HAPPENED 5 TIMES
Expect VALUE-1 to be "I'll leave VALUE-2 alone"
VERIFY SECTION 100-WELCOME HAPPENED NO MORE THAN 10 TIMES
VERIFY PARAGRAPH 500-SWITCH NEVER HAPPENED
Expect VALUE-2 to be "a mock"
TestCase "Empty local mock makes section do nothing"
MOCK PARAGRAPH 500-SWITCH
END-MOCK
PERFORM 100-WELCOME
PERFORM 500-SWITCH
Expect VALUE-1 to be "Hello"
Expect VALUE-2 to be "Hi"
VERIFY PARAGRAPH 500-SWITCH HAPPENED ONCE
TestCase "Local and global mocks can be used together"
MOCK SECTION 100-WELCOME
MOVE "Mockity-" TO VALUE-1
MOVE "Mock" TO VALUE-2
END-MOCK
PERFORM 000-START
Expect VALUE-1 to be "Mock"
Expect VALUE-2 to be "Mockity-"
TestCase "If no local or global mock run source code"
PERFORM 100-WELCOME
Expect VALUE-1 to be "Hello"
Expect VALUE-2 to be "Hi"
TestCase "Global paragraph mock works"
PERFORM 100-WELCOME
PERFORM 300-CHANGE-1
Expect VALUE-1 to be "MOCKED"
Expect VALUE-2 to be "Hi"
TestCase "Mock with EXIT SECTION in source works"
MOCK SECTION 400-CHANGE-2
MOVE "Exit section is handled correctly" TO VALUE-1
END-MOCK
PERFORM 400-CHANGE-2
Expect VALUE-1 to be "Exit section is handled correctly"