Titan Core Initial Contribution
[deliverable/titan.core.git] / regression_test / acceptance_test / chinese / chinese.ttcn
1 /******************************************************************************
2 * Copyright (c) 2000-2014 Ericsson Telecom AB
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 ******************************************************************************/
8 //******* Next version : function and ptc(create/start/stop/running/done) **********//
9
10 // List of test items
11 //
12 // 1.verdict : one PTC in a testcase
13 // 2.verdict : two PTCs in a testcase
14 // 3.PTC operation(running/stop/done)
15 //
16
17 module chinese // Build2
18 {
19 type component MyMtcType
20 {
21 }
22
23 type component MyPtcType1
24 {
25 }
26
27 function fn_ptc_verdict_get() runs on MyPtcType1
28 {
29 //getverdict;
30 var integer i;
31 }
32 function fn_ptc_verdict_pass() runs on MyPtcType1
33 {
34 setverdict(pass);
35 }
36 function fn_ptc_verdict_fail() runs on MyPtcType1
37 {
38 setverdict(fail);
39 }
40
41 // SA/PA should recognize this function and make a error
42 function fn_ptc_verdict_error() runs on MyPtcType1
43 {
44 var integer i;
45 }
46
47 function fn_ptc_verdict_inconc() runs on MyPtcType1
48 {
49 setverdict(inconc);
50 }
51 function fn_ptc_verdict_none() runs on MyPtcType1
52 {
53 setverdict(none);
54 }
55 function fn_ptc_verdict_passpass() runs on MyPtcType1
56 {
57 setverdict(pass);
58 setverdict(pass);
59 }
60 function fn_ptc_verdict_passfail() runs on MyPtcType1
61 {
62 setverdict(pass);
63 setverdict(fail);
64 }
65 function fn_ptc_verdict_passinconc() runs on MyPtcType1
66 {
67 setverdict(pass);
68 setverdict(inconc);
69 }
70 function fn_ptc_verdict_passnone() runs on MyPtcType1
71 {
72 setverdict(pass);
73 setverdict(none);
74 }
75 function fn_ptc_verdict_inconcpass() runs on MyPtcType1
76 {
77 setverdict(inconc);
78 setverdict(pass);
79 }
80 function fn_ptc_verdict_inconcfail() runs on MyPtcType1
81 {
82 setverdict(inconc);
83 setverdict(fail);
84 }
85 function fn_ptc_verdict_inconcinconc() runs on MyPtcType1
86 {
87 setverdict(inconc);
88 setverdict(inconc);
89 stop;
90 }
91 function fn_ptc_verdict_inconcnone() runs on MyPtcType1
92 {
93 setverdict(inconc);
94 setverdict(none);
95 }
96 function fn_ptc_verdict_failpass() runs on MyPtcType1
97 {
98 setverdict(fail);
99 setverdict(pass);
100 }
101 function fn_ptc_verdict_failfail() runs on MyPtcType1
102 {
103 setverdict(fail);
104 setverdict(fail);
105 }
106 function fn_ptc_verdict_failinconc() runs on MyPtcType1
107 {
108 setverdict(fail);
109 setverdict(inconc);
110 }
111 function fn_ptc_verdict_failnone() runs on MyPtcType1
112 {
113 setverdict(fail)
114 setverdict(none);
115 }
116
117 type component MyPTCType2
118 {
119 }
120 function fn_ptc2_verdict_pass() runs on MyPTCType2
121 {
122 setverdict(pass);
123 }
124 function fn_ptc2_verdict_fail() runs on MyPTCType2
125 {
126 setverdict(fail);
127 }
128 function fn_ptc2_verdict_inconc() runs on MyPTCType2
129 {
130 setverdict(inconc);
131 }
132 function fn_ptc2_verdict_none() runs on MyPTCType2
133 {
134 setverdict(none);
135 }
136
137 //Verdict operation test for single PTC in a testcase
138 testcase tc_ptc_verdict_get() runs on MyMtcType
139 {
140 var MyPtcType1 ptc1;
141 ptc1 := MyPtcType1.create;
142 ptc1.start(fn_ptc_verdict_get());
143 ptc1.done; // ETHRGE
144 }
145 testcase tc_ptc_verdict_pass() runs on MyMtcType
146 {
147 var MyPtcType1 ptc1;
148 ptc1 := MyPtcType1.create;
149 ptc1.start(fn_ptc_verdict_pass());
150 ptc1.done; // ETHRGE
151 }
152 testcase tc_ptc_verdict_fail() runs on MyMtcType
153 {
154 var MyPtcType1 ptc1;
155 ptc1 := MyPtcType1.create;
156 ptc1.start(fn_ptc_verdict_fail());
157 ptc1.done; // ETHRGE
158 }
159 testcase tc_ptc_verdict_inconc() runs on MyMtcType
160 {
161 var MyPtcType1 ptc1;
162 ptc1 := MyPtcType1.create;
163 ptc1.start(fn_ptc_verdict_inconc());
164 ptc1.done; // ETHRGE
165 }
166 testcase tc_ptc_verdict_none() runs on MyMtcType
167 {
168 var MyPtcType1 ptc1;
169 ptc1 := MyPtcType1.create;
170 ptc1.start(fn_ptc_verdict_none());
171 ptc1.done; // ETHRGE
172 }
173 testcase tc_ptc_verdict_error() runs on MyMtcType
174 {
175 var MyPtcType1 ptc1;
176 ptc1 := MyPtcType1.create;
177 ptc1.start(fn_ptc_verdict_error());
178 ptc1.done; // ETHRGE
179 }
180
181 testcase tc_ptc_verdict_passpass() runs on MyMtcType
182 {
183 var MyPtcType1 ptc1;
184 ptc1 := MyPtcType1.create;
185 ptc1.start(fn_ptc_verdict_passpass());
186 ptc1.done; // ETHRGE
187 }
188 testcase tc_ptc_verdict_passfail() runs on MyMtcType
189 {
190 var MyPtcType1 ptc1;
191 ptc1 := MyPtcType1.create;
192 ptc1.start(fn_ptc_verdict_passfail());
193 ptc1.done; // ETHRGE
194 }
195 testcase tc_ptc_verdict_passinconc() runs on MyMtcType
196 {
197 var MyPtcType1 ptc1;
198 ptc1 := MyPtcType1.create;
199 ptc1.start(fn_ptc_verdict_passinconc());
200 ptc1.done; // ETHRGE
201 }
202 testcase tc_ptc_verdict_passnone() runs on MyMtcType
203 {
204 var MyPtcType1 ptc1;
205 ptc1 := MyPtcType1.create;
206 ptc1.start(fn_ptc_verdict_passnone());
207 ptc1.done; // ETHRGE
208 }
209 testcase tc_ptc_verdict_failpass() runs on MyMtcType
210 {
211 var MyPtcType1 ptc1;
212 ptc1 := MyPtcType1.create;
213 ptc1.start(fn_ptc_verdict_failpass());
214 ptc1.done; // ETHRGE
215 }
216 testcase tc_ptc_verdict_failfail() runs on MyMtcType
217 {
218 var MyPtcType1 ptc1;
219 ptc1 := MyPtcType1.create;
220 ptc1.start(fn_ptc_verdict_failfail());
221 ptc1.done; // ETHRGE
222 }
223 testcase tc_ptc_verdict_failinconc() runs on MyMtcType
224 {
225 var MyPtcType1 ptc1;
226 ptc1 := MyPtcType1.create;
227 ptc1.start(fn_ptc_verdict_failinconc());
228 ptc1.done; // ETHRGE
229 }
230 testcase tc_ptc_verdict_failnone() runs on MyMtcType
231 {
232 var MyPtcType1 ptc1;
233 ptc1 := MyPtcType1.create;
234 ptc1.start(fn_ptc_verdict_failnone());
235 ptc1.done; // ETHRGE
236 }
237
238 //Verdict operation test for two PTCs in a testcase
239 testcase tc_ptc2_verdict_passpass() runs on MyMtcType
240 {
241 var MyPtcType1 ptc1;
242 var MyPTCType2 ptc2;
243 ptc1 := MyPtcType1.create;
244 ptc2 := MyPTCType2.create;
245 ptc1.start(fn_ptc_verdict_pass());
246 ptc2.start(fn_ptc2_verdict_pass());
247 ptc1.done; // ETHRGE
248 ptc2.done; // ETHRGE
249 }
250 testcase tc_ptc2_verdict_passfail() runs on MyMtcType
251 {
252 var MyPtcType1 ptc1;
253 var MyPTCType2 ptc2;
254 ptc1 := MyPtcType1.create;
255 ptc2 := MyPTCType2.create;
256 ptc1.start(fn_ptc_verdict_pass());
257 ptc2.start(fn_ptc2_verdict_fail());
258 ptc1.done; // ETHRGE
259 ptc2.done; // ETHRGE
260 }
261 testcase tc_ptc2_verdict_passinconc() runs on MyMtcType
262 {
263 var MyPtcType1 ptc1;
264 var MyPTCType2 ptc2;
265 ptc1 := MyPtcType1.create;
266 ptc2 := MyPTCType2.create;
267 ptc1.start(fn_ptc_verdict_pass());
268 ptc2.start(fn_ptc2_verdict_inconc());
269 ptc1.done; // ETHRGE
270 ptc2.done; // ETHRGE
271 }
272 testcase tc_ptc2_verdict_passnone() runs on MyMtcType
273 {
274 var MyPtcType1 ptc1;
275 var MyPTCType2 ptc2;
276 ptc1 := MyPtcType1.create;
277 ptc2 := MyPTCType2.create;
278 ptc1.start(fn_ptc_verdict_pass());
279 ptc2.start(fn_ptc2_verdict_none());
280 ptc1.done; // ETHRGE
281 ptc2.done; // ETHRGE
282 }
283 testcase tc_ptc2_verdict_failfail() runs on MyMtcType
284 {
285 var MyPtcType1 ptc1;
286 var MyPTCType2 ptc2;
287 ptc1 := MyPtcType1.create;
288 ptc2 := MyPTCType2.create;
289 ptc1.start(fn_ptc_verdict_fail());
290 ptc2.start(fn_ptc2_verdict_fail());
291 ptc1.done; // ETHRGE
292 ptc2.done; // ETHRGE
293 }
294 testcase tc_ptc2_verdict_failinconc() runs on MyMtcType
295 {
296 var MyPtcType1 ptc1;
297 var MyPTCType2 ptc2;
298 ptc1 := MyPtcType1.create;
299 ptc2 := MyPTCType2.create;
300 ptc1.start(fn_ptc_verdict_fail());
301 ptc2.start(fn_ptc2_verdict_inconc());
302 ptc1.done; // ETHRGE
303 ptc2.done; // ETHRGE
304 }
305 testcase tc_ptc2_verdict_failnone() runs on MyMtcType
306 {
307 var MyPtcType1 ptc1;
308 var MyPTCType2 ptc2;
309 ptc1 := MyPtcType1.create;
310 ptc2 := MyPTCType2.create;
311 ptc1.start(fn_ptc_verdict_fail());
312 ptc2.start(fn_ptc2_verdict_none());
313 ptc1.done; // ETHRGE
314 ptc2.done; // ETHRGE
315 }
316 testcase tc_ptc2_verdict_inconcinconc() runs on MyMtcType
317 {
318 var MyPtcType1 ptc1;
319 var MyPTCType2 ptc2;
320 ptc1 := MyPtcType1.create;
321 ptc2 := MyPTCType2.create;
322 ptc1.start(fn_ptc_verdict_inconc());
323 ptc2.start(fn_ptc2_verdict_inconc());
324 ptc1.done; // ETHRGE
325 ptc2.done; // ETHRGE
326 }
327 testcase tc_ptc2_verdict_inconcnone() runs on MyMtcType
328 {
329 var MyPtcType1 ptc1;
330 var MyPTCType2 ptc2;
331 ptc1 := MyPtcType1.create;
332 ptc2 := MyPTCType2.create;
333 ptc1.start(fn_ptc_verdict_inconc());
334 ptc2.start(fn_ptc2_verdict_none());
335 ptc1.done; // ETHRGE
336 ptc2.done; // ETHRGE
337 }
338 testcase tc_ptc2_verdict_nonenone() runs on MyMtcType
339 {
340 var MyPtcType1 ptc1;
341 var MyPTCType2 ptc2;
342 ptc1 := MyPtcType1.create;
343 ptc2 := MyPTCType2.create;
344 ptc1.start(fn_ptc_verdict_none());
345 ptc2.start(fn_ptc2_verdict_none());
346 ptc1.done; // ETHRGE
347 ptc2.done; // ETHRGE
348 }
349
350 //Verdict operation test for two PTCs in a testcase with same PTC type
351 testcase tc_ptcd_verdict_passpass() runs on MyMtcType
352 {
353 var MyPtcType1 ptc1, ptc2;
354 ptc1 := MyPtcType1.create;
355 ptc2 := MyPtcType1.create;
356 ptc1.start(fn_ptc_verdict_pass());
357 ptc2.start(fn_ptc_verdict_pass());
358 ptc1.done; // ETHRGE
359 ptc2.done; // ETHRGE
360 }
361 testcase tc_ptcd_verdict_passfail() runs on MyMtcType
362 {
363 var MyPtcType1 ptc1, ptc2;
364 ptc1 := MyPtcType1.create;
365 ptc2 := MyPtcType1.create;
366 ptc1.start(fn_ptc_verdict_pass());
367 ptc2.start(fn_ptc_verdict_fail());
368 ptc1.done; // ETHRGE
369 ptc2.done; // ETHRGE
370 }
371 testcase tc_ptcd_verdict_passinconc() runs on MyMtcType
372 {
373 var MyPtcType1 ptc1, ptc2;
374 ptc1 := MyPtcType1.create;
375 ptc2 := MyPtcType1.create;
376 ptc1.start(fn_ptc_verdict_pass());
377 ptc2.start(fn_ptc_verdict_inconc());
378 ptc1.done; // ETHRGE
379 ptc2.done; // ETHRGE
380 }
381 testcase tc_ptcd_verdict_passnone() runs on MyMtcType
382 {
383 var MyPtcType1 ptc1, ptc2;
384 ptc1 := MyPtcType1.create;
385 ptc2 := MyPtcType1.create;
386 ptc1.start(fn_ptc_verdict_pass());
387 ptc2.start(fn_ptc_verdict_none());
388 ptc1.done; // ETHRGE
389 ptc2.done; // ETHRGE
390 }
391 testcase tc_ptcd_verdict_failfail() runs on MyMtcType
392 {
393 var MyPtcType1 ptc1, ptc2;
394 ptc1 := MyPtcType1.create;
395 ptc2 := MyPtcType1.create;
396 ptc1.start(fn_ptc_verdict_fail());
397 ptc2.start(fn_ptc_verdict_fail());
398 ptc1.done; // ETHRGE
399 ptc2.done; // ETHRGE
400 }
401 testcase tc_ptcd_verdict_failinconc() runs on MyMtcType
402 {
403 var MyPtcType1 ptc1;
404 var MyPTCType2 ptc2;
405 ptc1 := MyPtcType1.create;
406 ptc2 := MyPTCType2.create;
407 ptc1.start(fn_ptc_verdict_fail());
408 ptc2.start(fn_ptc_verdict_inconc());
409 ptc1.done; // ETHRGE
410 ptc2.done; // ETHRGE
411 }
412 testcase tc_ptcd_verdict_failnone() runs on MyMtcType
413 {
414 var MyPtcType1 ptc1, ptc2;
415 ptc1 := MyPtcType1.create;
416 ptc2 := MyPtcType1.create;
417 ptc1.start(fn_ptc_verdict_fail());
418 ptc2.start(fn_ptc_verdict_none());
419 ptc1.done; // ETHRGE
420 ptc2.done; // ETHRGE
421 }
422 testcase tc_ptcd_verdict_inconcinconc() runs on MyMtcType
423 {
424 var MyPtcType1 ptc1, ptc2;
425 ptc1 := MyPtcType1.create;
426 ptc2 := MyPtcType1.create;
427 ptc1.start(fn_ptc_verdict_inconc());
428 ptc2.start(fn_ptc_verdict_inconc());
429 ptc1.done; // ETHRGE
430 ptc2.done; // ETHRGE
431 }
432 testcase tc_ptcd_verdict_inconcnone() runs on MyMtcType
433 {
434 var MyPtcType1 ptc1, ptc2;
435 ptc1 := MyPtcType1.create;
436 ptc2 := MyPtcType1.create;
437 ptc1.start(fn_ptc_verdict_inconc());
438 ptc2.start(fn_ptc_verdict_none());
439 ptc1.done; // ETHRGE
440 ptc2.done; // ETHRGE
441 }
442 testcase tc_ptcd_verdict_nonenone() runs on MyMtcType
443 {
444 var MyPtcType1 ptc1, ptc2;
445 ptc1 := MyPtcType1.create;
446 ptc2 := MyPtcType1.create;
447 ptc1.start(fn_ptc_verdict_none());
448 ptc2.start(fn_ptc_verdict_none());
449 ptc1.done; // ETHRGE
450 ptc2.done; // ETHRGE
451 }
452
453 //to test many PTCs and component array
454 testcase tc_ptc_manyptcs() runs on MyMtcType
455 {
456 var MyPtcType1 ptc0,ptc1,ptc2,ptc3,ptc4;
457 var MyPTCType2 ptc5,ptc6,ptc7,ptc8,ptc9;
458 ptc0 := MyPtcType1.create;
459 ptc1 := MyPtcType1.create;
460 ptc2 := MyPtcType1.create;
461 ptc3 := MyPtcType1.create;
462 ptc4 := MyPtcType1.create;
463 ptc5 := MyPTCType2.create;
464 ptc6 := MyPTCType2.create;
465 ptc7 := MyPTCType2.create;
466 ptc8 := MyPTCType2.create;
467 ptc9 := MyPTCType2.create;
468 ptc0.start(fn_ptc_verdict_pass());
469 ptc1.start(fn_ptc_verdict_pass());
470 ptc2.start(fn_ptc_verdict_pass());
471 ptc3.start(fn_ptc_verdict_pass());
472 ptc4.start(fn_ptc_verdict_pass());
473 ptc5.start(fn_ptc_verdict_pass());
474 ptc6.start(fn_ptc_verdict_pass());
475 ptc7.start(fn_ptc_verdict_pass());
476 ptc8.start(fn_ptc_verdict_pass());
477 ptc9.start(fn_ptc_verdict_pass());
478 ptc0.done; // ETHRGE
479 ptc1.done; // ETHRGE
480 ptc2.done; // ETHRGE
481 ptc3.done; // ETHRGE
482 ptc4.done; // ETHRGE
483 ptc5.done; // ETHRGE
484 ptc6.done; // ETHRGE
485 ptc7.done; // ETHRGE
486 ptc8.done; // ETHRGE
487 ptc9.done; // ETHRGE
488 }
489 testcase tc_ptc_ptcarray() runs on MyMtcType
490 {
491 var MyPtcType1 ptc[10];
492 /* ptc[0] := MyPtcType1.create;
493 ptc[1] := MyPtcType1.create;
494 ptc[2] := MyPtcType1.create;
495 ptc[3] := MyPtcType1.create;
496 ptc[4] := MyPtcType1.create;
497 ptc[5] := MyPtcType1.create;
498 ptc[6] := MyPtcType1.create;
499 ptc[7] := MyPtcType1.create;
500 ptc[8] := MyPtcType1.create;
501 ptc[9] := MyPtcType1.create;
502 ptc[0].start(fn_ptc_verdict_pass());
503 ptc[1].start(fn_ptc_verdict_pass());
504 ptc[2].start(fn_ptc_verdict_pass());
505 ptc[3].start(fn_ptc_verdict_pass());
506 ptc[4].start(fn_ptc_verdict_pass());
507 ptc[5].start(fn_ptc_verdict_pass());
508 ptc[6].start(fn_ptc_verdict_pass());
509 ptc[7].start(fn_ptc_verdict_pass());
510 ptc[8].start(fn_ptc_verdict_pass());
511 ptc[9].start(fn_ptc_verdict_pass());
512 ptc[0].done;
513 ptc[1].done;
514 ptc[2].done;
515 ptc[3].done;
516 ptc[4].done;
517 ptc[5].done;
518 ptc[6].done;
519 ptc[7].done;
520 ptc[8].done;
521 ptc[9].done; */
522 }
523
524 /* ETHRGE: //to test repeat create and start
525 testcase tc_ptc_repeatcreate() runs on MyPtcType1
526 {
527 var MyPtcType1 ptc1,ptc2;
528 ptc1 := MyPtcType1.create;
529 ptc2 := MyPTCType2.create;
530 ptc1 := MyPtcType1.create;
531 ptc2 := MyPTCType2.create;
532 ptc1.start(MyFunc1_04());
533 ptc2.start(MyFunc2_04());
534 }
535 testcase tc_ptc_repeatstart() runs on MyPtcType1
536 {
537 var MyPtcType1 ptc1,ptc2;
538 ptc1 := MyPtcType1.create;
539 ptc2 := MyPTCType2.create;
540 ptc1.start(MyFunc1_04());
541 ptc2.start(MyFunc2_04());
542 ptc1.start(MyFunc1_04());
543 ptc2.start(MyFunc2_04());
544 } */
545
546 ///////
547 control
548 {
549 //one PTC
550 execute(tc_ptc_verdict_get());
551 execute(tc_ptc_verdict_pass());
552 execute(tc_ptc_verdict_fail());
553 execute(tc_ptc_verdict_inconc());
554 execute(tc_ptc_verdict_none());
555 execute(tc_ptc_verdict_error());
556
557 //two PTC with different types
558 execute(tc_ptc2_verdict_passpass());
559 execute(tc_ptc2_verdict_passfail());
560 execute(tc_ptc2_verdict_passinconc());
561 execute(tc_ptc2_verdict_passnone());
562 execute(tc_ptc2_verdict_failfail());
563 execute(tc_ptc2_verdict_failinconc());
564 execute(tc_ptc2_verdict_failnone());
565 execute(tc_ptc2_verdict_inconcinconc());
566 execute(tc_ptc2_verdict_inconcnone());
567 execute(tc_ptc2_verdict_nonenone());
568
569 //two PTC with same type
570 execute(tc_ptcd_verdict_passpass());
571 execute(tc_ptcd_verdict_passfail());
572 execute(tc_ptcd_verdict_passinconc());
573 execute(tc_ptcd_verdict_passnone());
574 execute(tc_ptcd_verdict_failfail());
575 execute(tc_ptcd_verdict_failinconc());
576 execute(tc_ptcd_verdict_failnone());
577 execute(tc_ptcd_verdict_inconcinconc());
578 execute(tc_ptcd_verdict_inconcnone());
579 execute(tc_ptcd_verdict_nonenone());
580
581 //to test many PTCs and component array
582 execute(tc_ptc_manyptcs());
583 execute(tc_ptc_ptcarray());
584
585 //to test repeat create & start
586 /* ETHRGE: execute(tc_ptc_repeatcreate());
587 execute(tc_ptc_repeatstart());*/
588 }
589 }
590
This page took 0.043659 seconds and 5 git commands to generate.