Titan Core Initial Contribution
[deliverable/titan.core.git] / regression_test / templateRec / TtemplateRec.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 module TtemplateRec {
9
10 type record RP {
11 record of record {
12 integer i optional,
13 charstring s
14 } inner
15 }
16
17 type record SR { // simple record
18 integer i
19 }
20
21 template RP t_r_all_omit := { { { omit, "omit" } } }
22
23
24 type component templateRec_mycomp {};
25 type record templateRec_myrec {
26 integer f1,
27 float f2 };
28 type record templateRec_rec {
29 templateRec_myrec x1,
30 templateRec_myrec x2,
31 templateRec_myrec x3 optional };
32 template templateRec_rec templateRec_tSpec :={ //specific values
33 x1:={f1:=1,f2:=1.2},
34 x2:={f1:=2,f2:=1.2},
35 x3:={f1:=3,f2:=1.2} };
36 template templateRec_rec templateRec_tList :={ //specific value and value list
37 x1:={f1:=1,f2:=1.2},
38 x2:=({f1:=2,f2:=1.2},{f1:=3,f2:=1.2},{f1:=6,f2:=1.2}),
39 x3:={f1:=3,f2:=1.2} };
40 template templateRec_rec templateRec_tComp :={ //specific value and compl. list
41 x1:={f1:=1,f2:=1.2},
42 x2:=complement ({f1:=2,f2:=1.2},{f1:=3,f2:=1.2},{f1:=6,f2:=1.2}),
43 x3:={f1:=3,f2:=1.2} };
44 template templateRec_rec templateRec_tOmit :={ //omitting values
45 x1:={f1:=1,f2:=1.2},
46 x2:={f1:=2,f2:=1.2},
47 x3:=omit } ;
48 template templateRec_rec templateRec_tAny :={ //specific and any value
49 x1:={f1:=1,f2:=1.2},
50 x2:={f1:=2,f2:=1.2},
51 x3:=? } ;
52 template templateRec_rec templateRec_tAnyorNone :={ //specific and AnyorNone value
53 x1:={f1:=1,f2:=1.2},
54 x2:={f1:=2,f2:=1.2},
55 x3:=* };
56 template templateRec_rec templateRec_tIfpresent :={ //specific value and ifpresent
57 x1:={f1:=1,f2:=1.2},
58 x2:={f1:=2,f2:=1.2},
59 x3:={f1:=3,f2:=1.2} ifpresent };
60
61 testcase pasu() runs on templateRec_mycomp
62 {
63 template integer v_timeUnit := 60;
64
65 var template SR t_sr := { 13 }
66 t_sr.i := v_timeUnit;
67
68 template RP v_r modifies t_r_all_omit := {{{
69 i := v_timeUnit
70 }}}
71 setverdict(pass); // if it compiles, that's enough
72 }
73
74 testcase templateRecSpec() runs on templateRec_mycomp {
75 var templateRec_myrec temp:={f1:=3,f2:=1.2};
76 var templateRec_rec x1,x2; //specific value
77 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
78 x2:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
79 //match
80 if (match(x1,templateRec_tSpec)) {setverdict(pass);}
81 else {setverdict(fail);}
82 //no match
83 if (not(match(x2,templateRec_tSpec))) {setverdict(pass);}
84 else {setverdict(fail);}
85 }
86
87 testcase templateRecList() runs on templateRec_mycomp {
88 var templateRec_myrec temp:={f1:=3,f2:=1.2};
89 var templateRec_rec x1,x2,x3; //value list
90 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
91 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
92 x3:={ x1:={f1:=8,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
93 //match
94 if (match(x1,templateRec_tList)) {setverdict(pass);}
95 else {setverdict(fail);}
96 //no match: out of list
97 if (not(match(x2,templateRec_tList))) {setverdict(pass);}
98 else {setverdict(fail);}
99 //no match: other field
100 if (not(match(x3,templateRec_tList))) {setverdict(pass);}
101 else {setverdict(fail);}
102 }
103
104 testcase templateRecComp() runs on templateRec_mycomp {
105 var templateRec_myrec temp:={f1:=3,f2:=1.2};
106 var templateRec_rec x1,x2,x3; //complemented list
107 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
108 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
109 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
110 //match
111 if (match(x1,templateRec_tComp)) {setverdict(pass);}
112 else {setverdict(fail);}
113 //no match: in the list
114 if (not(match(x2,templateRec_tComp))) {setverdict(pass);}
115 else {setverdict(fail);}
116 //no match: other field
117 if (not(match(x3,templateRec_tComp))) {setverdict(pass);}
118 else {setverdict(fail);}
119 }
120
121 testcase templateRecOmit() runs on templateRec_mycomp {
122 var templateRec_myrec temp:={f1:=3,f2:=1.2};
123 var templateRec_rec x1,x2,x3; //omitting value
124 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
125 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
126 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
127 //match
128 if (match(x1,templateRec_tOmit)) {setverdict(pass);}
129 else {setverdict(fail);}
130 //no match: not omitted
131 if (not(match(x2,templateRec_tOmit))) {setverdict(pass);}
132 else {setverdict(fail);}
133 //no match: other field
134 if (not(match(x3,templateRec_tOmit))) {setverdict(pass);}
135 else {setverdict(fail);}
136 }
137
138 testcase templateRecAny() runs on templateRec_mycomp {
139 var templateRec_myrec temp:={f1:=3,f2:=1.2};
140 var templateRec_rec x1,x2,x3; //any value
141 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
142 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
143 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
144 //match
145 if (match(x1,templateRec_tAny)) {setverdict(pass);}
146 else {setverdict(fail);}
147 //no match: field omitted
148 if (not(match(x2,templateRec_tAny))) {setverdict(pass);}
149 else {setverdict(fail);}
150 //no match: other field
151 if (not(match(x3,templateRec_tAny))) {setverdict(pass);}
152 else {setverdict(fail);}
153 }
154
155 testcase templateRecAnyorNone() runs on templateRec_mycomp {
156 var templateRec_myrec temp:={f1:=3,f2:=1.2};
157 var templateRec_rec x1,x2,x3; //AnyorNone value
158 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
159 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
160 x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
161 //match: omitted
162 if (match(x1,templateRec_tAnyorNone)) {setverdict(pass);}
163 else {setverdict(fail);}
164 //match: value
165 if (match(x2,templateRec_tAnyorNone)) {setverdict(pass);}
166 else {setverdict(fail);}
167 //no match: other field
168 if (not(match(x3,templateRec_tAnyorNone))) {setverdict(pass);}
169 else {setverdict(fail);}
170 }
171
172 testcase templateRecIfpresent() runs on templateRec_mycomp {
173 var templateRec_myrec temp1:={f1:=3,f2:=1.2}; //ifpresent
174 var templateRec_myrec temp2:={f1:=4,f2:=1.2};
175 var templateRec_rec x1,x2,x3,x4;
176 x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp1 };
177 x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
178 x3:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp2 };
179 x4:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
180 //match: present and match
181 if (match(x1,templateRec_tIfpresent)) {setverdict(pass);}
182 else {setverdict(fail);}
183 //match: not present
184 if (match(x2,templateRec_tIfpresent)) {setverdict(pass);}
185 else {setverdict(fail);}
186 //no match: present and not match
187 if (not(match(x3,templateRec_tIfpresent))) {setverdict(pass);}
188 else {setverdict(fail);}
189 //no match: other field
190 if (not(match(x4,templateRec_tIfpresent))) {setverdict(pass);}
191 else {setverdict(fail);}
192 }
193
194
195 type record R
196 {
197 integer i,
198 charstring str optional
199 }
200 const R cr := { 1, omit }
201 template R tRrec1 := { 1 , omit }
202 template R tRrec2 := { 1, complement ( omit, "a" ) }
203 template R tRrec3 := { 1, ( omit, "a" ) }
204 template R tr := { i := 1, str := ( omit , omit ) }
205 template R tr2 := { i := 1, str := complement( omit , omit ) }
206 template R trc := cr; // HQ46602
207
208 testcase MTTSM00015947() runs on templateRec_mycomp
209 {
210 if (not match(cr, tRrec1)) { setverdict(fail); }
211 if (match(cr, tRrec2)) { setverdict(fail); }
212 if (not match(cr, tRrec3)) { setverdict(fail); }
213 if (ispresent(tr.str)) { setverdict(fail); }
214 if (ispresent(trc.str)) { setverdict(fail); }
215 if (not ispresent(tr2.str)) { setverdict(fail); }
216 setverdict(pass);
217 }
218
219 import from TtemplateRecAsn all
220 template AmbiguousAnyRec t_AAR := { ''O }
221 const AmbiguousAnyRec c_AAR := { ''O }
222 testcase tc_HM39698() runs on templateRec_mycomp
223 {
224 var template AmbiguousAnyRec vt_AAR := { ''O }
225 var AmbiguousAnyRec v_AAR := { ''O }
226 log(t_AAR)
227 log(c_AAR)
228 log(vt_AAR)
229 log(v_AAR)
230 // It's good, if we reach this point...
231 setverdict(pass)
232 }
233
234 testcase tc_valueof_governor_segfault() runs on templateRec_mycomp
235 {
236 var templateRec_myrec mr := valueof({f1 := 1, f2 := 2.0})
237 setverdict(pass)
238 }
239
240 // Parametrized template reference without `()'.
241 template R tmr(in integer i := 1) := { i := i, str := omit }
242 testcase tc_HO49372() runs on templateRec_mycomp
243 {
244 log(tmr)
245 setverdict(pass)
246 }
247
248 type record MyRecord
249 {
250 integer int,
251 boolean deleted
252 }
253 testcase tc_HO69658() runs on templateRec_mycomp
254 {
255 var template MyRecord vl_myrecord;
256 vl_myrecord.int := 0;
257
258 var template MyRecord vl_myrecordAgain := vl_myrecord;
259 vl_myrecordAgain.deleted := false;
260
261 log("Now assignment finish");
262 log("Print record:",vl_myrecordAgain);
263 // It's good, if we reach this point...
264 if (log2str(vl_myrecordAgain)=="{ int := 0, deleted := false }") {setverdict(pass)}else{setverdict(fail)}
265 }
266
267 type record MyRec2{
268 ROC roc optional,
269 ROI roi optional,
270 MyUnion1 u optional,
271 MyRecord1 r optional
272 }
273
274 type record of charstring ROC;
275 type record of integer ROI;
276 type record MyRecord1 {
277 integer i optional,
278 float x optional,
279 charstring c
280 }
281
282 type union MyUnion1 {
283 ROC roc,
284 integer i,
285 ROI roi,
286 MyRecord1 r
287 }
288
289 type union MyUnion_OneOption {
290 integer i
291 }
292
293 type record MyRec4 {
294 MyUnion_OneOption u,
295 integer i
296 }
297
298 testcase tc_record_withJoker1() runs on templateRec_mycomp {
299 var template MyRec2 vtl_rec2_j;
300 if(isbound(vtl_rec2_j)) {setverdict(fail)}else {setverdict(pass)};
301 vtl_rec2_j:={
302 roc:=*
303 }
304 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
305 if(isbound(vtl_rec2_j.roc)) {setverdict(pass)}else {setverdict(fail)};
306 if(isbound(vtl_rec2_j.roc[0])) {setverdict(fail)}else {setverdict(pass)};
307 }
308 testcase tc_record_withJoker2() runs on templateRec_mycomp {
309 var template MyRec2 vtl_rec2_j;
310 vtl_rec2_j:={
311 roc:={ ?,? }
312 }
313 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
314 if(isbound(vtl_rec2_j.roc)) {setverdict(pass)}else {setverdict(fail)};
315 if(isbound(vtl_rec2_j.roc[0])){setverdict(pass)}else {setverdict(fail)};
316 if(isbound(vtl_rec2_j.roc[1])){setverdict(pass)}else {setverdict(fail)};
317 if(isbound(vtl_rec2_j.roc[10])){setverdict(fail)}else {setverdict(pass)};
318 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
319 if(isbound(vtl_rec2_j.u)){setverdict(fail)}else {setverdict(pass)};
320 if(isbound(vtl_rec2_j.r)){setverdict(fail)}else {setverdict(pass)};
321 }
322
323 testcase tc_record_withJoker3() runs on templateRec_mycomp {
324 var template MyRec2 vtl_rec2_j;
325 vtl_rec2_j:={
326 u := *
327 }
328 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
329 if(isbound(vtl_rec2_j.roc)){setverdict(fail)}else {setverdict(pass)};
330 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
331 if(isbound(vtl_rec2_j.u)){setverdict(pass)}else {setverdict(fail)};
332 if(isbound(vtl_rec2_j.u.i)){setverdict(fail)}else {setverdict(pass)};
333 }
334
335 testcase tc_record_withJoker4() runs on templateRec_mycomp {
336 var template MyRec2 vtl_rec2_j;
337 vtl_rec2_j:={
338 roc:=omit,
339 u:={i:=?}
340 }
341 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
342 if(isbound(vtl_rec2_j.roc)){setverdict(pass)}else {setverdict(fail)};
343 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
344 if(isbound(vtl_rec2_j.u)){setverdict(pass)}else {setverdict(fail)};
345 if(isbound(vtl_rec2_j.u.i)){setverdict(pass)}else {setverdict(fail)};
346 }
347
348 testcase tc_record_withJoker5() runs on templateRec_mycomp {
349 var template MyRec2 vtl_rec2_j;
350 vtl_rec2_j:={
351 r:= ?
352 }
353 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
354 if(isbound(vtl_rec2_j.roc)){setverdict(fail)}else {setverdict(pass)};
355 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
356 if(isbound(vtl_rec2_j.u)){setverdict(fail)}else {setverdict(pass)};
357 if(isbound(vtl_rec2_j.u.i)){setverdict(fail)}else {setverdict(pass)};
358 if(isbound(vtl_rec2_j.r)) {setverdict(pass)}else {setverdict(fail)};
359 if(isbound(vtl_rec2_j.r.i)) {setverdict(pass)}else {setverdict(fail)};
360 if(isbound(vtl_rec2_j.r.x)) {setverdict(pass)}else {setverdict(fail)};
361 if(isbound(vtl_rec2_j.r.c)) {setverdict(pass)}else {setverdict(fail)};
362 }
363
364 testcase tc_record_withJoker6() runs on templateRec_mycomp {
365 var template MyRec2 vtl_rec2_j;
366 vtl_rec2_j:={
367 r:= *
368 }
369 if(isbound(vtl_rec2_j)) {setverdict(pass)}else {setverdict(fail)};
370 if(isbound(vtl_rec2_j.roc)){setverdict(fail)}else {setverdict(pass)};
371 if(isbound(vtl_rec2_j.roi)){setverdict(fail)}else {setverdict(pass)};
372 if(isbound(vtl_rec2_j.u)){setverdict(fail)}else {setverdict(pass)};
373 if(isbound(vtl_rec2_j.u.i)){setverdict(fail)}else {setverdict(pass)};
374 if(isbound(vtl_rec2_j.r)) {setverdict(pass)}else {setverdict(fail)};
375 if(isbound(vtl_rec2_j.r.i)) {setverdict(fail)}else {setverdict(pass)};
376 if(isbound(vtl_rec2_j.r.x)) {setverdict(fail)}else {setverdict(pass)};
377 if(isbound(vtl_rec2_j.r.c)) {setverdict(fail)}else {setverdict(pass)};
378 }
379
380 group g_TR_HO72812 {
381 type record MyRecord_HO72812
382 {
383 record {
384 boolean innerField1 optional,
385 integer innerField2 optional
386 } field1 optional,
387 integer field2
388 }
389 testcase tc_record_TR_HO72813() runs on templateRec_mycomp {
390 var MyRecord_HO72812 vl_MyRecord := { field1 := {}, field2 := 5 };
391 if(isbound(vl_MyRecord)) {setverdict(pass)} else {setverdict(fail)}
392 if(isbound(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)}
393 if(isbound(vl_MyRecord.field2)) {setverdict(pass)} else {setverdict(fail)}
394 vl_MyRecord.field1 := omit
395 if(isbound(vl_MyRecord.field1)) {setverdict(pass)} else {setverdict(fail)}
396 if(isbound(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)}
397 if(isbound(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)}
398 if(ispresent(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)}
399
400 vl_MyRecord := { field1 := {innerField1:=true, innerField2:=1 } }
401 if(isbound(vl_MyRecord.field1)) {setverdict(pass)} else {setverdict(fail)}
402 if(isbound(vl_MyRecord.field1.innerField1)) {setverdict(pass)} else {setverdict(fail)}
403 if(isbound(vl_MyRecord.field1.innerField2)) {setverdict(pass)} else {setverdict(fail)}
404 }
405 testcase tc_record_TR_HO72813_ip() runs on templateRec_mycomp {
406 var MyRecord_HO72812 vl_MyRecord := { field1 := {}, field2 := 5 };
407 if(ispresent(vl_MyRecord)) {setverdict(pass)} else {setverdict(fail)}
408 if(ispresent(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)} //according to ethgry
409 if(ispresent(vl_MyRecord.field2)) {setverdict(pass)} else {setverdict(fail)}
410 }
411
412 testcase tc_record_TR_HO72813_innerFields() runs on templateRec_mycomp {
413 var MyRecord_HO72812 vl_MyRecord := { field1 := {}, field2 := 5 };
414 if(ispresent(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)}
415 if(ispresent(vl_MyRecord.field1.innerField2)) {setverdict(fail)} else {setverdict(pass)}
416 }
417
418 testcase tc_record_TR_HO72813_partlyInitialized() runs on templateRec_mycomp {
419 var MyRecord_HO72812 vl_MyRecord := { field1 := {innerField1:=true}, field2 := 5 };
420 if(ispresent(vl_MyRecord.field1)) {setverdict(pass)} else {setverdict(fail)} ;
421 if(ispresent(vl_MyRecord.field1.innerField1)) {setverdict(pass)} else {setverdict(fail)};
422 if(ispresent(vl_MyRecord.field1.innerField2)) {setverdict(fail)} else {setverdict(pass)} ; //DTE???
423 }
424
425 testcase tc_record_TR_HO72813_omit() runs on templateRec_mycomp {
426 var MyRecord_HO72812 vl_MyRecord := { field1 := {innerField1:=true}, field2 := 5 }
427 vl_MyRecord.field1 := omit;
428 if(ispresent(vl_MyRecord.field1)) {setverdict(fail)} else {setverdict(pass)}
429 if(ispresent(vl_MyRecord.field1.innerField1)) {setverdict(fail)} else {setverdict(pass)};
430 if(ispresent(vl_MyRecord.field1.innerField2)) {setverdict(fail)} else {setverdict(pass)} ; //DTE???
431 }
432 }
433
434 testcase tc_record_mandatoryField_WithWildcard() runs on templateRec_mycomp {
435 var template MyRec4 vtl_rec:=?
436 if(ispresent(vtl_rec.u)){setverdict(pass)}else {setverdict(fail)};
437 if(ispresent(vtl_rec.i)){setverdict(pass)}else {setverdict(fail)};
438 }
439
440 testcase tc_record_withWildCard1() runs on templateRec_mycomp {
441 var template MyRec2 vtl_rec2;
442 vtl_rec2:={
443 roc:=*
444 }
445 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
446 }
447 testcase tc_record_withWildCard1A() runs on templateRec_mycomp {
448 var template MyRec2 vtl_rec2;
449 vtl_rec2:={
450 roc:=*
451 }
452 if(ispresent(vtl_rec2.roc)) {setverdict(fail)}else {setverdict(pass)};
453 }
454
455 testcase tc_record_withWildCard1AA() runs on templateRec_mycomp {
456 var template MyRec2 vtl_rec2;
457 vtl_rec2:={
458 roc:=?
459 }
460 if(ispresent(vtl_rec2.roc)) {setverdict(pass)}else {setverdict(fail)};
461 }
462
463 testcase tc_record_withWildCard1B() runs on templateRec_mycomp {
464 var template MyRec2 vtl_rec2;
465 vtl_rec2:={
466 roc:=*
467 }
468 if(ispresent(vtl_rec2.roc[0])) {setverdict(fail)}else {setverdict(pass)};
469 }
470
471 testcase tc_record_withWildCard2() runs on templateRec_mycomp {
472 var template MyRec2 vtl_rec2;
473 vtl_rec2:={
474 roc:={ ?,? }
475 }
476 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
477 if(ispresent(vtl_rec2.roc)) {setverdict(pass)}else {setverdict(fail)};
478 if(ispresent(vtl_rec2.roc[0])){setverdict(pass)}else {setverdict(fail)};
479 if(ispresent(vtl_rec2.roc[1])){setverdict(pass)}else {setverdict(fail)};
480 if(ispresent(vtl_rec2.roc[10])){setverdict(fail)}else {setverdict(pass)};
481 }
482
483 //unbound
484 testcase tc_record_withWildCard2A() runs on templateRec_mycomp {
485 var template MyRec2 vtl_rec2;
486 vtl_rec2:={
487 roc:={ ?,? }
488 }
489 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
490 }
491 testcase tc_record_withWildCard2B() runs on templateRec_mycomp {
492 var template MyRec2 vtl_rec2;
493 vtl_rec2:={
494 roc:={ ?,? }
495 }
496 if(ispresent(vtl_rec2.u)){setverdict(fail)}else {setverdict(pass)};
497 }
498 testcase tc_record_withWildCard2C() runs on templateRec_mycomp {
499 var template MyRec2 vtl_rec2;
500 vtl_rec2:={
501 roc:={ ?,? }
502 }
503 if(ispresent(vtl_rec2.r)){setverdict(fail)}else {setverdict(pass)};
504 }
505
506 testcase tc_record_withWildCard3() runs on templateRec_mycomp {
507 var template MyRec2 vtl_rec2;
508 vtl_rec2:={
509 u := *
510 }
511 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
512 }
513
514 testcase tc_record_withWildCard3A() runs on templateRec_mycomp {
515 var template MyRec2 vtl_rec2;
516 vtl_rec2:={
517 u := *
518 }
519 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
520 }
521
522 testcase tc_record_withWildCard3B() runs on templateRec_mycomp {
523 var template MyRec2 vtl_rec2;
524 vtl_rec2:={
525 u := *
526 }
527 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
528 }
529
530 testcase tc_record_withWildCard3C() runs on templateRec_mycomp {
531 var template MyRec2 vtl_rec2;
532 vtl_rec2:={
533 u := *
534 }
535 if(ispresent(vtl_rec2.u)){setverdict(fail)}else{setverdict(pass)};
536 }
537
538 testcase tc_record_withWildCard3D() runs on templateRec_mycomp {
539 var template MyRec2 vtl_rec2;
540 vtl_rec2:={
541 u := ?
542 }
543 if(ispresent(vtl_rec2.u)){setverdict(pass)}else{setverdict(fail)};
544 }
545
546 testcase tc_record_withWildCard4() runs on templateRec_mycomp {
547 var template MyRec2 vtl_rec2;
548 vtl_rec2:={
549 roc:=omit,
550 u:={i:=?}
551 }
552 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
553 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
554 }
555
556 testcase tc_record_withWildCard4A() runs on templateRec_mycomp {
557 var template MyRec2 vtl_rec2;
558 vtl_rec2:={
559 roc:=omit,
560 u:={i:=?}
561 }
562 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
563 }
564
565 testcase tc_record_withWildCard4B() runs on templateRec_mycomp {
566 var template MyRec2 vtl_rec2;
567 vtl_rec2:={
568 roc:=omit,
569 u:={i:=?}
570 }
571 if(ispresent(vtl_rec2.u)){setverdict(pass)}else {setverdict(fail)};
572 if(ispresent(vtl_rec2.u.i)){setverdict(pass)}else {setverdict(fail)};
573 }
574
575 testcase tc_record_withWildCard5() runs on templateRec_mycomp {
576 var template MyRec2 vtl_rec2;
577 vtl_rec2:={
578 r:= ?
579 }
580 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
581 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
582 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
583 if(ispresent(vtl_rec2.u)){setverdict(fail)}else {setverdict(pass)};
584 if(ispresent(vtl_rec2.u.i)){setverdict(fail)}else {setverdict(pass)};
585 }
586
587 testcase tc_record_withWildCard5A() runs on templateRec_mycomp {
588 var template MyRec2 vtl_rec2;
589 vtl_rec2:={
590 r:= ?
591 }
592 if(ispresent(vtl_rec2.r)) {setverdict(pass)}else {setverdict(fail)};
593 }
594
595 testcase tc_record_withWildCard5B_optional() runs on templateRec_mycomp {
596 var template MyRec2 vtl_rec2;
597 vtl_rec2:={
598 r:= ?
599 }
600 if(ispresent(vtl_rec2.r.i)) {setverdict(fail)}else {setverdict(pass)};
601 if(ispresent(vtl_rec2.r.x)) {setverdict(fail)}else {setverdict(pass)};
602 }
603
604 testcase tc_record_withWildCard5B_mandatory() runs on templateRec_mycomp {
605 var template MyRec2 vtl_rec2;
606 vtl_rec2:={
607 r:= ?
608 }
609 if(ispresent(vtl_rec2.r.c)) {setverdict(pass)}else {setverdict(fail)};
610 }
611
612 testcase tc_record_withWildCard6() runs on templateRec_mycomp {
613 var template MyRec2 vtl_rec2;
614 vtl_rec2:={
615 r:= *
616 }
617 if(ispresent(vtl_rec2)) {setverdict(pass)}else {setverdict(fail)};
618 if(ispresent(vtl_rec2.roc)){setverdict(fail)}else {setverdict(pass)};
619 if(ispresent(vtl_rec2.roi)){setverdict(fail)}else {setverdict(pass)};
620 if(ispresent(vtl_rec2.u)){setverdict(fail)}else {setverdict(pass)};
621 if(ispresent(vtl_rec2.u.i)){setverdict(fail)}else {setverdict(pass)};
622 }
623
624 testcase tc_record_withWildCard6A() runs on templateRec_mycomp {
625 var template MyRec2 vtl_rec2;
626 vtl_rec2:={
627 r:= *
628 }
629 if(ispresent(vtl_rec2.r)) {setverdict(fail)}else {setverdict(pass)};
630 if(ispresent(vtl_rec2.r.i)) {setverdict(fail)}else {setverdict(pass)};
631 if(ispresent(vtl_rec2.r.x)) {setverdict(fail)}else {setverdict(pass)};
632 if(ispresent(vtl_rec2.r.c)) {setverdict(fail)}else {setverdict(pass)};
633 }
634
635 control {
636 execute(pasu());
637 execute(templateRecSpec());
638 execute(templateRecList());
639 execute(templateRecComp());
640 execute(templateRecOmit());
641 execute(templateRecAny());
642 execute(templateRecAnyorNone());
643 execute(templateRecIfpresent());
644 execute(MTTSM00015947());
645 execute(tc_HM39698());
646 execute(tc_valueof_governor_segfault());
647 execute(tc_HO49372());
648 execute(tc_HO69658());
649
650 execute(tc_record_withJoker1());
651 execute(tc_record_withJoker2());
652 execute(tc_record_withJoker3());
653 execute(tc_record_withJoker4());
654 execute(tc_record_withJoker5());
655 execute(tc_record_withJoker6());
656 execute(tc_record_TR_HO72813());
657 execute(tc_record_withWildCard1());
658 execute(tc_record_withWildCard1A()); //pass
659 execute(tc_record_withWildCard1AA());
660 execute(tc_record_withWildCard1B());
661 execute(tc_record_withWildCard2());
662 execute(tc_record_withWildCard2A());//pass (unbound)
663 execute(tc_record_withWildCard2B());//pass (unbound)
664 execute(tc_record_withWildCard2C());//pass (unbound)
665 execute(tc_record_withWildCard3());
666 execute(tc_record_withWildCard3A());//pass (unbound)
667 execute(tc_record_withWildCard3B());//pass (unbound)
668 execute(tc_record_withWildCard3C());//pass (*)
669 execute(tc_record_withWildCard3D());//pass
670 execute(tc_record_withWildCard4());//pass
671 execute(tc_record_withWildCard4A());
672 execute(tc_record_withWildCard4B());
673 execute(tc_record_withWildCard5());//pass
674 execute(tc_record_withWildCard5A());//pass
675 execute(tc_record_withWildCard5A());//pass
676 execute(tc_record_withWildCard5B_optional());//pass
677 execute(tc_record_withWildCard5B_mandatory());//pass
678 execute(tc_record_withWildCard6());//pass
679 execute(tc_record_withWildCard6A());
680 execute(tc_record_TR_HO72813_ip());
681 execute(tc_record_TR_HO72813_innerFields());
682 execute(tc_record_TR_HO72813_partlyInitialized());
683 execute(tc_record_TR_HO72813_omit());
684 }
685 }
This page took 0.059494 seconds and 6 git commands to generate.