1 /******************************************************************************
2 * Copyright (c) 2000-2016 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
15 * Szabo, Janos Zoltan – initial implementation
17 ******************************************************************************/
27 type record SR { // simple record
31 template RP t_r_all_omit := { { { omit, "omit" } } }
34 type component templateRec_mycomp {};
35 type record templateRec_myrec {
38 type record templateRec_rec {
41 templateRec_myrec x3 optional };
42 template templateRec_rec templateRec_tSpec :={ //specific values
45 x3:={f1:=3,f2:=1.2} };
46 template templateRec_rec templateRec_tList :={ //specific value and value list
48 x2:=({f1:=2,f2:=1.2},{f1:=3,f2:=1.2},{f1:=6,f2:=1.2}),
49 x3:={f1:=3,f2:=1.2} };
50 template templateRec_rec templateRec_tComp :={ //specific value and compl. list
52 x2:=complement ({f1:=2,f2:=1.2},{f1:=3,f2:=1.2},{f1:=6,f2:=1.2}),
53 x3:={f1:=3,f2:=1.2} };
54 template templateRec_rec templateRec_tOmit :={ //omitting values
58 template templateRec_rec templateRec_tAny :={ //specific and any value
62 template templateRec_rec templateRec_tAnyorNone :={ //specific and AnyorNone value
66 template templateRec_rec templateRec_tIfpresent :={ //specific value and ifpresent
69 x3:={f1:=3,f2:=1.2} ifpresent };
71 testcase pasu() runs on templateRec_mycomp
73 template integer v_timeUnit := 60;
75 var template SR t_sr := { 13 }
78 template RP v_r modifies t_r_all_omit := {{{
81 setverdict(pass); // if it compiles, that's enough
84 testcase templateRecSpec() runs on templateRec_mycomp {
85 var templateRec_myrec temp:={f1:=3,f2:=1.2};
86 var templateRec_rec x1,x2; //specific value
87 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
88 x2:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
90 if (match(x1,templateRec_tSpec)) {setverdict(pass);}
91 else {setverdict(fail);}
93 if (not(match(x2,templateRec_tSpec))) {setverdict(pass);}
94 else {setverdict(fail);}
97 testcase templateRecList() runs on templateRec_mycomp {
98 var templateRec_myrec temp:={f1:=3,f2:=1.2};
99 var templateRec_rec x1,x2,x3; //value list
100 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
101 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
102 x3:={ x1:={f1:=8,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
104 if (match(x1,templateRec_tList)) {setverdict(pass);}
105 else {setverdict(fail, 1);}
106 //no match: out of list
107 if (not(match(x2,templateRec_tList))) {setverdict(pass);}
108 else {setverdict(fail, 2);}
109 //no match: other field
110 if (not(match(x3,templateRec_tList))) {setverdict(pass);}
111 else {setverdict(fail, 3);}
114 testcase templateRecComp() runs on templateRec_mycomp {
115 var templateRec_myrec temp:={f1:=3,f2:=1.2};
116 var templateRec_rec x1,x2,x3; //complemented list
117 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
118 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
119 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
121 if (match(x1,templateRec_tComp)) {setverdict(pass);}
122 else {setverdict(fail, 1);}
123 //no match: in the list
124 if (not(match(x2,templateRec_tComp))) {setverdict(pass);}
125 else {setverdict(fail, 2);}
126 //no match: other field
127 if (not(match(x3,templateRec_tComp))) {setverdict(pass);}
128 else {setverdict(fail, 3);}
131 testcase templateRecOmit() runs on templateRec_mycomp {
132 var templateRec_myrec temp:={f1:=3,f2:=1.2};
133 var templateRec_rec x1,x2,x3; //omitting value
134 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
135 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
136 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
138 if (match(x1,templateRec_tOmit)) {setverdict(pass);}
139 else {setverdict(fail);}
140 //no match: not omitted
141 if (not(match(x2,templateRec_tOmit))) {setverdict(pass);}
142 else {setverdict(fail);}
143 //no match: other field
144 if (not(match(x3,templateRec_tOmit))) {setverdict(pass);}
145 else {setverdict(fail);}
148 testcase templateRecAny() runs on templateRec_mycomp {
149 var templateRec_myrec temp:={f1:=3,f2:=1.2};
150 var templateRec_rec x1,x2,x3; //any value
151 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
152 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
153 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
155 if (match(x1,templateRec_tAny)) {setverdict(pass);}
156 else {setverdict(fail);}
157 //no match: field omitted
158 if (not(match(x2,templateRec_tAny))) {setverdict(pass);}
159 else {setverdict(fail);}
160 //no match: other field
161 if (not(match(x3,templateRec_tAny))) {setverdict(pass);}
162 else {setverdict(fail);}
165 testcase templateRecAnyorNone() runs on templateRec_mycomp {
166 var templateRec_myrec temp:={f1:=3,f2:=1.2};
167 var templateRec_rec x1,x2,x3; //AnyorNone value
168 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
169 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
170 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
172 if (match(x1,templateRec_tAnyorNone)) {setverdict(pass);}
173 else {setverdict(fail);}
175 if (match(x2,templateRec_tAnyorNone)) {setverdict(pass);}
176 else {setverdict(fail);}
177 //no match: other field
178 if (not(match(x3,templateRec_tAnyorNone))) {setverdict(pass);}
179 else {setverdict(fail);}
182 testcase templateRecIfpresent() runs on templateRec_mycomp {
183 var templateRec_myrec temp1:={f1:=3,f2:=1.2}; //ifpresent
184 var templateRec_myrec temp2:={f1:=4,f2:=1.2};
185 var templateRec_rec x1,x2,x3,x4;
186 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp1 };
187 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
188 x3:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp2 };
189 x4:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
190 //match: present and match
191 if (match(x1,templateRec_tIfpresent)) {setverdict(pass);}
192 else {setverdict(fail);}
194 if (match(x2,templateRec_tIfpresent)) {setverdict(pass);}
195 else {setverdict(fail);}
196 //no match: present and not match
197 if (not(match(x3,templateRec_tIfpresent))) {setverdict(pass);}
198 else {setverdict(fail);}
199 //no match: other field
200 if (not(match(x4,templateRec_tIfpresent))) {setverdict(pass);}
201 else {setverdict(fail);}
208 charstring str optional
210 const R cr := { 1, omit }
211 template R tRrec1 := { 1 , omit }
212 template R tRrec2 := { 1, complement ( omit, "a" ) }
213 template R tRrec3 := { 1, ( omit, "a" ) }
214 template R tr := { i := 1, str := ( omit , omit ) }
215 template R tr2 := { i := 1, str := complement( omit , omit ) }
216 template R trc := cr; // HQ46602
218 // Note: this tests legacy behavior and requires the -M compiler option!
219 testcase MTTSM00015947() runs on templateRec_mycomp
221 if (not match(cr, tRrec1)) { setverdict(fail); }
222 if (match(cr, tRrec2)) { setverdict(fail); }
223 if (not match(cr, tRrec3)) { setverdict(fail); }
224 if (ispresent(tr.str)) { setverdict(fail); }
225 if (ispresent(trc.str)) { setverdict(fail); }
226 if (not ispresent(tr2.str)) { setverdict(fail); }
230 import from TtemplateRecAsn all
231 template AmbiguousAnyRec t_AAR := { ''O }
232 const AmbiguousAnyRec c_AAR := { ''O }
233 testcase tc_HM39698() runs on templateRec_mycomp
235 var template AmbiguousAnyRec vt_AAR := { ''O }
236 var AmbiguousAnyRec v_AAR := { ''O }
241 // It's good, if we reach this point...
245 testcase tc_valueof_governor_segfault() runs on templateRec_mycomp
247 var templateRec_myrec mr := valueof({f1 := 1, f2 := 2.0})
251 // Parametrized template reference without `()'.
252 template R tmr(in integer i := 1) := { i := i, str := omit }
253 testcase tc_HO49372() runs on templateRec_mycomp
264 testcase tc_HO69658() runs on templateRec_mycomp
266 var template MyRecord vl_myrecord;
267 vl_myrecord.int := 0;
269 var template MyRecord vl_myrecordAgain := vl_myrecord;
270 vl_myrecordAgain.deleted := false;
272 log("Now assignment finish");
273 log("Print record:",vl_myrecordAgain);
274 // It's good, if we reach this point...
275 if (log2str(vl_myrecordAgain)=="{ int := 0, deleted := false }") {setverdict(pass)}else{setverdict(fail)}
285 type record of charstring ROC;
286 type record of integer ROI;
287 type record MyRecord1 {
293 type union MyUnion1 {
300 type union MyUnion_OneOption {
309 testcase tc_record_withJoker1() runs on templateRec_mycomp {
310 var template MyRec2 vtl_rec2_j;
311 if(isbound(vtl_rec2_j)) {setverdict(fail)}else {setverdict(pass)};
315 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
316 if(isbound(vtl_rec2_j.roc)) {setverdict(pass)}else {setverdict(fail)};
317 if(isbound(vtl_rec2_j.roc[0])) {setverdict(fail)}else {setverdict(pass)};
319 testcase tc_record_withJoker2() runs on templateRec_mycomp {
320 var template MyRec2 vtl_rec2_j;
324 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
325 if(isbound(vtl_rec2_j.roc)) {setverdict(pass)}else {setverdict(fail)};
326 if(isbound(vtl_rec2_j.roc[0])){setverdict(pass)}else {setverdict(fail)};
327 if(isbound(vtl_rec2_j.roc[1])){setverdict(pass)}else {setverdict(fail)};
328 if(isbound(vtl_rec2_j.roc[10])){setverdict(fail)}else {setverdict(pass)};
329 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
330 if(isbound(vtl_rec2_j.u)){setverdict(fail)}else {setverdict(pass)};
331 if(isbound(vtl_rec2_j.r)){setverdict(fail)}else {setverdict(pass)};
334 testcase tc_record_withJoker3() runs on templateRec_mycomp {
335 var template MyRec2 vtl_rec2_j;
339 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
340 if(isbound(vtl_rec2_j.roc)){setverdict(fail)}else {setverdict(pass)};
341 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
342 if(isbound(vtl_rec2_j.u)){setverdict(pass)}else {setverdict(fail)};
343 if(isbound(vtl_rec2_j.u.i)){setverdict(fail)}else {setverdict(pass)};
346 testcase tc_record_withJoker4() runs on templateRec_mycomp {
347 var template MyRec2 vtl_rec2_j;
352 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
353 if(isbound(vtl_rec2_j.roc)){setverdict(pass)}else {setverdict(fail)};
354 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
355 if(isbound(vtl_rec2_j.u)){setverdict(pass)}else {setverdict(fail)};
356 if(isbound(vtl_rec2_j.u.i)){setverdict(pass)}else {setverdict(fail)};
359 testcase tc_record_withJoker5() runs on templateRec_mycomp {
360 var template MyRec2 vtl_rec2_j;
364 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
365 if(isbound(vtl_rec2_j.roc)){setverdict(fail)}else {setverdict(pass)};
366 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
367 if(isbound(vtl_rec2_j.u)){setverdict(fail)}else {setverdict(pass)};
368 if(isbound(vtl_rec2_j.u.i)){setverdict(fail)}else {setverdict(pass)};
369 if(isbound(vtl_rec2_j.r)) {setverdict(pass)}else {setverdict(fail)};
370 if(isbound(vtl_rec2_j.r.i)) {setverdict(pass)}else {setverdict(fail)};
371 if(isbound(vtl_rec2_j.r.x)) {setverdict(pass)}else {setverdict(fail)};
372 if(isbound(vtl_rec2_j.r.c)) {setverdict(pass)}else {setverdict(fail)};
375 testcase tc_record_withJoker6() runs on templateRec_mycomp {
376 var template MyRec2 vtl_rec2_j;
380 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
381 if(isbound(vtl_rec2_j.roc)){setverdict(fail)}else {setverdict(pass)};
382 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
383 if(isbound(vtl_rec2_j.u)){setverdict(fail)}else {setverdict(pass)};
384 if(isbound(vtl_rec2_j.u.i)){setverdict(fail)}else {setverdict(pass)};
385 if(isbound(vtl_rec2_j.r)) {setverdict(pass)}else {setverdict(fail)};
386 if(isbound(vtl_rec2_j.r.i)) {setverdict(fail)}else {setverdict(pass)};
387 if(isbound(vtl_rec2_j.r.x)) {setverdict(fail)}else {setverdict(pass)};
388 if(isbound(vtl_rec2_j.r.c)) {setverdict(fail)}else {setverdict(pass)};
392 type record MyRecord_HO72812
395 boolean innerField1 optional,
396 integer innerField2 optional
400 testcase tc_record_TR_HO72813() runs on templateRec_mycomp {
401 var MyRecord_HO72812 vl_MyRecord := { field1 := {}, field2 := 5 };
402 if(isbound(vl_MyRecord)) {setverdict(pass)} else {setverdict(fail)}
403 if(isbound(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)}
404 if(isbound(vl_MyRecord.field2)) {setverdict(pass)} else {setverdict(fail)}
405 vl_MyRecord.field1 := omit
406 if(isbound(vl_MyRecord.field1)) {setverdict(pass)} else {setverdict(fail)}
407 if(isbound(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)}
408 if(isbound(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)}
409 if(ispresent(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)}
411 vl_MyRecord := { field1 := {innerField1:=true, innerField2:=1 } }
412 if(isbound(vl_MyRecord.field1)) {setverdict(pass)} else {setverdict(fail)}
413 if(isbound(vl_MyRecord.field1.innerField1)) {setverdict(pass)} else {setverdict(fail)}
414 if(isbound(vl_MyRecord.field1.innerField2)) {setverdict(pass)} else {setverdict(fail)}
416 testcase tc_record_TR_HO72813_ip() runs on templateRec_mycomp {
417 var MyRecord_HO72812 vl_MyRecord := { field1 := {}, field2 := 5 };
418 if(ispresent(vl_MyRecord)) {setverdict(pass)} else {setverdict(fail)}
419 if(ispresent(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)} //according to ethgry
420 if(ispresent(vl_MyRecord.field2)) {setverdict(pass)} else {setverdict(fail)}
423 testcase tc_record_TR_HO72813_innerFields() runs on templateRec_mycomp {
424 var MyRecord_HO72812 vl_MyRecord := { field1 := {}, field2 := 5 };
425 if(ispresent(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)}
426 if(ispresent(vl_MyRecord.field1.innerField2)) {setverdict(fail)} else {setverdict(pass)}
429 testcase tc_record_TR_HO72813_partlyInitialized() runs on templateRec_mycomp {
430 var MyRecord_HO72812 vl_MyRecord := { field1 := {innerField1:=true}, field2 := 5 };
431 if(ispresent(vl_MyRecord.field1)) {setverdict(pass)} else {setverdict(fail)} ;
432 if(ispresent(vl_MyRecord.field1.innerField1)) {setverdict(pass)} else {setverdict(fail)};
433 if(ispresent(vl_MyRecord.field1.innerField2)) {setverdict(fail)} else {setverdict(pass)} ; //DTE???
436 testcase tc_record_TR_HO72813_omit() runs on templateRec_mycomp {
437 var MyRecord_HO72812 vl_MyRecord := { field1 := {innerField1:=true}, field2 := 5 }
438 vl_MyRecord.field1 := omit;
439 if(ispresent(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)}
440 if(ispresent(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)};
441 if(ispresent(vl_MyRecord.field1.innerField2)) {setverdict(fail)} else {setverdict(pass)} ; //DTE???
445 testcase tc_record_mandatoryField_WithWildcard() runs on templateRec_mycomp {
446 var template MyRec4 vtl_rec:=?
447 if(ispresent(vtl_rec.u)){setverdict(pass)}else {setverdict(fail)};
448 if(ispresent(vtl_rec.i)){setverdict(pass)}else {setverdict(fail)};
451 testcase tc_record_withWildCard1() runs on templateRec_mycomp {
452 var template MyRec2 vtl_rec2;
456 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
458 testcase tc_record_withWildCard1A() runs on templateRec_mycomp {
459 var template MyRec2 vtl_rec2;
463 if(ispresent(vtl_rec2.roc)) {setverdict(fail)}else {setverdict(pass)};
466 testcase tc_record_withWildCard1AA() runs on templateRec_mycomp {
467 var template MyRec2 vtl_rec2;
471 if(ispresent(vtl_rec2.roc)) {setverdict(pass)}else {setverdict(fail)};
474 testcase tc_record_withWildCard1B() runs on templateRec_mycomp {
475 var template MyRec2 vtl_rec2;
479 if(ispresent(vtl_rec2.roc[0])) {setverdict(fail)}else {setverdict(pass)};
482 testcase tc_record_withWildCard2() runs on templateRec_mycomp {
483 var template MyRec2 vtl_rec2;
487 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
488 if(ispresent(vtl_rec2.roc)) {setverdict(pass)}else {setverdict(fail)};
489 if(ispresent(vtl_rec2.roc[0])){setverdict(pass)}else {setverdict(fail)};
490 if(ispresent(vtl_rec2.roc[1])){setverdict(pass)}else {setverdict(fail)};
491 if(ispresent(vtl_rec2.roc[10])){setverdict(fail)}else {setverdict(pass)};
495 testcase tc_record_withWildCard2A() runs on templateRec_mycomp {
496 var template MyRec2 vtl_rec2;
500 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
502 testcase tc_record_withWildCard2B() runs on templateRec_mycomp {
503 var template MyRec2 vtl_rec2;
507 if(ispresent(vtl_rec2.u)){setverdict(fail)}else {setverdict(pass)};
509 testcase tc_record_withWildCard2C() runs on templateRec_mycomp {
510 var template MyRec2 vtl_rec2;
514 if(ispresent(vtl_rec2.r)){setverdict(fail)}else {setverdict(pass)};
517 testcase tc_record_withWildCard3() runs on templateRec_mycomp {
518 var template MyRec2 vtl_rec2;
522 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
525 testcase tc_record_withWildCard3A() runs on templateRec_mycomp {
526 var template MyRec2 vtl_rec2;
530 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
533 testcase tc_record_withWildCard3B() runs on templateRec_mycomp {
534 var template MyRec2 vtl_rec2;
538 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
541 testcase tc_record_withWildCard3C() runs on templateRec_mycomp {
542 var template MyRec2 vtl_rec2;
546 if(ispresent(vtl_rec2.u)){setverdict(fail)}else{setverdict(pass)};
549 testcase tc_record_withWildCard3D() runs on templateRec_mycomp {
550 var template MyRec2 vtl_rec2;
554 if(ispresent(vtl_rec2.u)){setverdict(pass)}else{setverdict(fail)};
557 testcase tc_record_withWildCard4() runs on templateRec_mycomp {
558 var template MyRec2 vtl_rec2;
563 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
564 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
567 testcase tc_record_withWildCard4A() runs on templateRec_mycomp {
568 var template MyRec2 vtl_rec2;
573 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
576 testcase tc_record_withWildCard4B() runs on templateRec_mycomp {
577 var template MyRec2 vtl_rec2;
582 if(ispresent(vtl_rec2.u)){setverdict(pass)}else {setverdict(fail)};
583 if(ispresent(vtl_rec2.u.i)){setverdict(pass)}else {setverdict(fail)};
586 testcase tc_record_withWildCard5() runs on templateRec_mycomp {
587 var template MyRec2 vtl_rec2;
591 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
592 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
593 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
594 if(ispresent(vtl_rec2.u)){setverdict(fail)}else {setverdict(pass)};
595 if(ispresent(vtl_rec2.u.i)){setverdict(fail)}else {setverdict(pass)};
598 testcase tc_record_withWildCard5A() runs on templateRec_mycomp {
599 var template MyRec2 vtl_rec2;
603 if(ispresent(vtl_rec2.r)) {setverdict(pass)}else {setverdict(fail)};
606 testcase tc_record_withWildCard5B_optional() runs on templateRec_mycomp {
607 var template MyRec2 vtl_rec2;
611 if(ispresent(vtl_rec2.r.i)) {setverdict(fail)}else {setverdict(pass)};
612 if(ispresent(vtl_rec2.r.x)) {setverdict(fail)}else {setverdict(pass)};
615 testcase tc_record_withWildCard5B_mandatory() runs on templateRec_mycomp {
616 var template MyRec2 vtl_rec2;
620 if(ispresent(vtl_rec2.r.c)) {setverdict(pass)}else {setverdict(fail)};
623 testcase tc_record_withWildCard6() runs on templateRec_mycomp {
624 var template MyRec2 vtl_rec2;
628 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
629 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
630 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
631 if(ispresent(vtl_rec2.u)){setverdict(fail)}else {setverdict(pass)};
632 if(ispresent(vtl_rec2.u.i)){setverdict(fail)}else {setverdict(pass)};
635 testcase tc_record_withWildCard6A() runs on templateRec_mycomp {
636 var template MyRec2 vtl_rec2;
640 if(ispresent(vtl_rec2.r)) {setverdict(fail)}else {setverdict(pass)};
641 if(ispresent(vtl_rec2.r.i)) {setverdict(fail)}else {setverdict(pass)};
642 if(ispresent(vtl_rec2.r.x)) {setverdict(fail)}else {setverdict(pass)};
643 if(ispresent(vtl_rec2.r.c)) {setverdict(fail)}else {setverdict(pass)};
648 execute(templateRecSpec());
649 execute(templateRecList());
650 execute(templateRecComp());
651 execute(templateRecOmit());
652 execute(templateRecAny());
653 execute(templateRecAnyorNone());
654 execute(templateRecIfpresent());
655 execute(MTTSM00015947());
656 execute(tc_HM39698());
657 execute(tc_valueof_governor_segfault());
658 execute(tc_HO49372());
659 execute(tc_HO69658());
661 execute(tc_record_withJoker1());
662 execute(tc_record_withJoker2());
663 execute(tc_record_withJoker3());
664 execute(tc_record_withJoker4());
665 execute(tc_record_withJoker5());
666 execute(tc_record_withJoker6());
667 execute(tc_record_TR_HO72813());
668 execute(tc_record_withWildCard1());
669 execute(tc_record_withWildCard1A()); //pass
670 execute(tc_record_withWildCard1AA());
671 execute(tc_record_withWildCard1B());
672 execute(tc_record_withWildCard2());
673 execute(tc_record_withWildCard2A());//pass (unbound)
674 execute(tc_record_withWildCard2B());//pass (unbound)
675 execute(tc_record_withWildCard2C());//pass (unbound)
676 execute(tc_record_withWildCard3());
677 execute(tc_record_withWildCard3A());//pass (unbound)
678 execute(tc_record_withWildCard3B());//pass (unbound)
679 execute(tc_record_withWildCard3C());//pass (*)
680 execute(tc_record_withWildCard3D());//pass
681 execute(tc_record_withWildCard4());//pass
682 execute(tc_record_withWildCard4A());
683 execute(tc_record_withWildCard4B());
684 execute(tc_record_withWildCard5());//pass
685 execute(tc_record_withWildCard5A());//pass
686 execute(tc_record_withWildCard5A());//pass
687 execute(tc_record_withWildCard5B_optional());//pass
688 execute(tc_record_withWildCard5B_mandatory());//pass
689 execute(tc_record_withWildCard6());//pass
690 execute(tc_record_withWildCard6A());
691 execute(tc_record_TR_HO72813_ip());
692 execute(tc_record_TR_HO72813_innerFields());
693 execute(tc_record_TR_HO72813_partlyInitialized());
694 execute(tc_record_TR_HO72813_omit());