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) **********//
12 // 1.verdict : one PTC in a testcase
13 // 2.verdict : two PTCs in a testcase
14 // 3.PTC operation(running/stop/done)
17 module chinese // Build2
19 type component MyMtcType
23 type component MyPtcType1
27 function fn_ptc_verdict_get() runs on MyPtcType1
32 function fn_ptc_verdict_pass() runs on MyPtcType1
36 function fn_ptc_verdict_fail() runs on MyPtcType1
41 // SA/PA should recognize this function and make a error
42 function fn_ptc_verdict_error() runs on MyPtcType1
47 function fn_ptc_verdict_inconc() runs on MyPtcType1
51 function fn_ptc_verdict_none() runs on MyPtcType1
55 function fn_ptc_verdict_passpass() runs on MyPtcType1
60 function fn_ptc_verdict_passfail() runs on MyPtcType1
65 function fn_ptc_verdict_passinconc() runs on MyPtcType1
70 function fn_ptc_verdict_passnone() runs on MyPtcType1
75 function fn_ptc_verdict_inconcpass() runs on MyPtcType1
80 function fn_ptc_verdict_inconcfail() runs on MyPtcType1
85 function fn_ptc_verdict_inconcinconc() runs on MyPtcType1
91 function fn_ptc_verdict_inconcnone() runs on MyPtcType1
96 function fn_ptc_verdict_failpass() runs on MyPtcType1
101 function fn_ptc_verdict_failfail() runs on MyPtcType1
106 function fn_ptc_verdict_failinconc() runs on MyPtcType1
111 function fn_ptc_verdict_failnone() runs on MyPtcType1
117 type component MyPTCType2
120 function fn_ptc2_verdict_pass() runs on MyPTCType2
124 function fn_ptc2_verdict_fail() runs on MyPTCType2
128 function fn_ptc2_verdict_inconc() runs on MyPTCType2
132 function fn_ptc2_verdict_none() runs on MyPTCType2
137 //Verdict operation test for single PTC in a testcase
138 testcase tc_ptc_verdict_get() runs on MyMtcType
141 ptc1 := MyPtcType1.create;
142 ptc1.start(fn_ptc_verdict_get());
145 testcase tc_ptc_verdict_pass() runs on MyMtcType
148 ptc1 := MyPtcType1.create;
149 ptc1.start(fn_ptc_verdict_pass());
152 testcase tc_ptc_verdict_fail() runs on MyMtcType
155 ptc1 := MyPtcType1.create;
156 ptc1.start(fn_ptc_verdict_fail());
159 testcase tc_ptc_verdict_inconc() runs on MyMtcType
162 ptc1 := MyPtcType1.create;
163 ptc1.start(fn_ptc_verdict_inconc());
166 testcase tc_ptc_verdict_none() runs on MyMtcType
169 ptc1 := MyPtcType1.create;
170 ptc1.start(fn_ptc_verdict_none());
173 testcase tc_ptc_verdict_error() runs on MyMtcType
176 ptc1 := MyPtcType1.create;
177 ptc1.start(fn_ptc_verdict_error());
181 testcase tc_ptc_verdict_passpass() runs on MyMtcType
184 ptc1 := MyPtcType1.create;
185 ptc1.start(fn_ptc_verdict_passpass());
188 testcase tc_ptc_verdict_passfail() runs on MyMtcType
191 ptc1 := MyPtcType1.create;
192 ptc1.start(fn_ptc_verdict_passfail());
195 testcase tc_ptc_verdict_passinconc() runs on MyMtcType
198 ptc1 := MyPtcType1.create;
199 ptc1.start(fn_ptc_verdict_passinconc());
202 testcase tc_ptc_verdict_passnone() runs on MyMtcType
205 ptc1 := MyPtcType1.create;
206 ptc1.start(fn_ptc_verdict_passnone());
209 testcase tc_ptc_verdict_failpass() runs on MyMtcType
212 ptc1 := MyPtcType1.create;
213 ptc1.start(fn_ptc_verdict_failpass());
216 testcase tc_ptc_verdict_failfail() runs on MyMtcType
219 ptc1 := MyPtcType1.create;
220 ptc1.start(fn_ptc_verdict_failfail());
223 testcase tc_ptc_verdict_failinconc() runs on MyMtcType
226 ptc1 := MyPtcType1.create;
227 ptc1.start(fn_ptc_verdict_failinconc());
230 testcase tc_ptc_verdict_failnone() runs on MyMtcType
233 ptc1 := MyPtcType1.create;
234 ptc1.start(fn_ptc_verdict_failnone());
238 //Verdict operation test for two PTCs in a testcase
239 testcase tc_ptc2_verdict_passpass() runs on MyMtcType
243 ptc1 := MyPtcType1.create;
244 ptc2 := MyPTCType2.create;
245 ptc1.start(fn_ptc_verdict_pass());
246 ptc2.start(fn_ptc2_verdict_pass());
250 testcase tc_ptc2_verdict_passfail() runs on MyMtcType
254 ptc1 := MyPtcType1.create;
255 ptc2 := MyPTCType2.create;
256 ptc1.start(fn_ptc_verdict_pass());
257 ptc2.start(fn_ptc2_verdict_fail());
261 testcase tc_ptc2_verdict_passinconc() runs on MyMtcType
265 ptc1 := MyPtcType1.create;
266 ptc2 := MyPTCType2.create;
267 ptc1.start(fn_ptc_verdict_pass());
268 ptc2.start(fn_ptc2_verdict_inconc());
272 testcase tc_ptc2_verdict_passnone() runs on MyMtcType
276 ptc1 := MyPtcType1.create;
277 ptc2 := MyPTCType2.create;
278 ptc1.start(fn_ptc_verdict_pass());
279 ptc2.start(fn_ptc2_verdict_none());
283 testcase tc_ptc2_verdict_failfail() runs on MyMtcType
287 ptc1 := MyPtcType1.create;
288 ptc2 := MyPTCType2.create;
289 ptc1.start(fn_ptc_verdict_fail());
290 ptc2.start(fn_ptc2_verdict_fail());
294 testcase tc_ptc2_verdict_failinconc() runs on MyMtcType
298 ptc1 := MyPtcType1.create;
299 ptc2 := MyPTCType2.create;
300 ptc1.start(fn_ptc_verdict_fail());
301 ptc2.start(fn_ptc2_verdict_inconc());
305 testcase tc_ptc2_verdict_failnone() runs on MyMtcType
309 ptc1 := MyPtcType1.create;
310 ptc2 := MyPTCType2.create;
311 ptc1.start(fn_ptc_verdict_fail());
312 ptc2.start(fn_ptc2_verdict_none());
316 testcase tc_ptc2_verdict_inconcinconc() runs on MyMtcType
320 ptc1 := MyPtcType1.create;
321 ptc2 := MyPTCType2.create;
322 ptc1.start(fn_ptc_verdict_inconc());
323 ptc2.start(fn_ptc2_verdict_inconc());
327 testcase tc_ptc2_verdict_inconcnone() runs on MyMtcType
331 ptc1 := MyPtcType1.create;
332 ptc2 := MyPTCType2.create;
333 ptc1.start(fn_ptc_verdict_inconc());
334 ptc2.start(fn_ptc2_verdict_none());
338 testcase tc_ptc2_verdict_nonenone() runs on MyMtcType
342 ptc1 := MyPtcType1.create;
343 ptc2 := MyPTCType2.create;
344 ptc1.start(fn_ptc_verdict_none());
345 ptc2.start(fn_ptc2_verdict_none());
350 //Verdict operation test for two PTCs in a testcase with same PTC type
351 testcase tc_ptcd_verdict_passpass() runs on MyMtcType
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());
361 testcase tc_ptcd_verdict_passfail() runs on MyMtcType
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());
371 testcase tc_ptcd_verdict_passinconc() runs on MyMtcType
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());
381 testcase tc_ptcd_verdict_passnone() runs on MyMtcType
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());
391 testcase tc_ptcd_verdict_failfail() runs on MyMtcType
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());
401 testcase tc_ptcd_verdict_failinconc() runs on MyMtcType
405 ptc1 := MyPtcType1.create;
406 ptc2 := MyPTCType2.create;
407 ptc1.start(fn_ptc_verdict_fail());
408 ptc2.start(fn_ptc_verdict_inconc());
412 testcase tc_ptcd_verdict_failnone() runs on MyMtcType
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());
422 testcase tc_ptcd_verdict_inconcinconc() runs on MyMtcType
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());
432 testcase tc_ptcd_verdict_inconcnone() runs on MyMtcType
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());
442 testcase tc_ptcd_verdict_nonenone() runs on MyMtcType
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());
453 //to test many PTCs and component array
454 testcase tc_ptc_manyptcs() runs on MyMtcType
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());
489 testcase tc_ptc_ptcarray() runs on MyMtcType
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());
524 /* ETHRGE: //to test repeat create and start
525 testcase tc_ptc_repeatcreate() runs on MyPtcType1
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());
535 testcase tc_ptc_repeatstart() runs on MyPtcType1
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());
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());
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());
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());
581 //to test many PTCs and component array
582 execute(tc_ptc_manyptcs());
583 execute(tc_ptc_ptcarray());
585 //to test repeat create & start
586 /* ETHRGE: execute(tc_ptc_repeatcreate());
587 execute(tc_ptc_repeatstart());*/