Titan Core Initial Contribution
[deliverable/titan.core.git] / regression_test / templateRec / TtemplateRec.ttcn
CommitLineData
970ed795
EL
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 ******************************************************************************/
8module TtemplateRec {
9
10type record RP {
11 record of record {
12 integer i optional,
13 charstring s
14 } inner
15}
16
17type record SR { // simple record
18 integer i
19}
20
21template RP t_r_all_omit := { { { omit, "omit" } } }
22
23
24type component templateRec_mycomp {};
25type record templateRec_myrec {
26 integer f1,
27 float f2 };
28type record templateRec_rec {
29 templateRec_myrec x1,
30 templateRec_myrec x2,
31 templateRec_myrec x3 optional };
32template 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} };
36template 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} };
40template 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} };
44template templateRec_rec templateRec_tOmit :={ //omitting values
45 x1:={f1:=1,f2:=1.2},
46 x2:={f1:=2,f2:=1.2},
47 x3:=omit } ;
48template templateRec_rec templateRec_tAny :={ //specific and any value
49 x1:={f1:=1,f2:=1.2},
50 x2:={f1:=2,f2:=1.2},
51 x3:=? } ;
52template templateRec_rec templateRec_tAnyorNone :={ //specific and AnyorNone value
53 x1:={f1:=1,f2:=1.2},
54 x2:={f1:=2,f2:=1.2},
55 x3:=* };
56template 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
61testcase 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
74testcase templateRecSpec() runs on templateRec_mycomp {
75var templateRec_myrec temp:={f1:=3,f2:=1.2};
76var templateRec_rec x1,x2; //specific value
77x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
78x2:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
79//match
80if (match(x1,templateRec_tSpec)) {setverdict(pass);}
81 else {setverdict(fail);}
82//no match
83if (not(match(x2,templateRec_tSpec))) {setverdict(pass);}
84 else {setverdict(fail);}
85}
86
87testcase templateRecList() runs on templateRec_mycomp {
88var templateRec_myrec temp:={f1:=3,f2:=1.2};
89var templateRec_rec x1,x2,x3; //value list
90x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
91x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
92x3:={ x1:={f1:=8,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
93//match
94if (match(x1,templateRec_tList)) {setverdict(pass);}
95 else {setverdict(fail);}
96//no match: out of list
97if (not(match(x2,templateRec_tList))) {setverdict(pass);}
98 else {setverdict(fail);}
99//no match: other field
100if (not(match(x3,templateRec_tList))) {setverdict(pass);}
101 else {setverdict(fail);}
102}
103
104testcase templateRecComp() runs on templateRec_mycomp {
105var templateRec_myrec temp:={f1:=3,f2:=1.2};
106var templateRec_rec x1,x2,x3; //complemented list
107x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
108x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
109x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
110//match
111if (match(x1,templateRec_tComp)) {setverdict(pass);}
112 else {setverdict(fail);}
113//no match: in the list
114if (not(match(x2,templateRec_tComp))) {setverdict(pass);}
115 else {setverdict(fail);}
116//no match: other field
117if (not(match(x3,templateRec_tComp))) {setverdict(pass);}
118 else {setverdict(fail);}
119}
120
121testcase templateRecOmit() runs on templateRec_mycomp {
122var templateRec_myrec temp:={f1:=3,f2:=1.2};
123var templateRec_rec x1,x2,x3; //omitting value
124x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
125x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
126x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
127//match
128if (match(x1,templateRec_tOmit)) {setverdict(pass);}
129 else {setverdict(fail);}
130//no match: not omitted
131if (not(match(x2,templateRec_tOmit))) {setverdict(pass);}
132 else {setverdict(fail);}
133//no match: other field
134if (not(match(x3,templateRec_tOmit))) {setverdict(pass);}
135 else {setverdict(fail);}
136}
137
138testcase templateRecAny() runs on templateRec_mycomp {
139var templateRec_myrec temp:={f1:=3,f2:=1.2};
140var templateRec_rec x1,x2,x3; //any value
141x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
142x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
143x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
144//match
145if (match(x1,templateRec_tAny)) {setverdict(pass);}
146 else {setverdict(fail);}
147//no match: field omitted
148if (not(match(x2,templateRec_tAny))) {setverdict(pass);}
149 else {setverdict(fail);}
150//no match: other field
151if (not(match(x3,templateRec_tAny))) {setverdict(pass);}
152 else {setverdict(fail);}
153}
154
155testcase templateRecAnyorNone() runs on templateRec_mycomp {
156var templateRec_myrec temp:={f1:=3,f2:=1.2};
157var templateRec_rec x1,x2,x3; //AnyorNone value
158x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
159x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
160x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
161//match: omitted
162if (match(x1,templateRec_tAnyorNone)) {setverdict(pass);}
163 else {setverdict(fail);}
164//match: value
165if (match(x2,templateRec_tAnyorNone)) {setverdict(pass);}
166 else {setverdict(fail);}
167//no match: other field
168if (not(match(x3,templateRec_tAnyorNone))) {setverdict(pass);}
169 else {setverdict(fail);}
170}
171
172testcase templateRecIfpresent() runs on templateRec_mycomp {
173var templateRec_myrec temp1:={f1:=3,f2:=1.2}; //ifpresent
174var templateRec_myrec temp2:={f1:=4,f2:=1.2};
175var templateRec_rec x1,x2,x3,x4;
176x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp1 };
177x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
178x3:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp2 };
179x4:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
180//match: present and match
181if (match(x1,templateRec_tIfpresent)) {setverdict(pass);}
182else {setverdict(fail);}
183//match: not present
184if (match(x2,templateRec_tIfpresent)) {setverdict(pass);}
185else {setverdict(fail);}
186//no match: present and not match
187if (not(match(x3,templateRec_tIfpresent))) {setverdict(pass);}
188else {setverdict(fail);}
189//no match: other field
190if (not(match(x4,templateRec_tIfpresent))) {setverdict(pass);}
191else {setverdict(fail);}
192}
193
194
195type record R
196{
197 integer i,
198 charstring str optional
199}
200const R cr := { 1, omit }
201template R tRrec1 := { 1 , omit }
202template R tRrec2 := { 1, complement ( omit, "a" ) }
203template R tRrec3 := { 1, ( omit, "a" ) }
204template R tr := { i := 1, str := ( omit , omit ) }
205template R tr2 := { i := 1, str := complement( omit , omit ) }
206template R trc := cr; // HQ46602
207
208testcase 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
219import from TtemplateRecAsn all
220template AmbiguousAnyRec t_AAR := { ''O }
221const AmbiguousAnyRec c_AAR := { ''O }
222testcase 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
234testcase 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 `()'.
241template R tmr(in integer i := 1) := { i := i, str := omit }
242testcase tc_HO49372() runs on templateRec_mycomp
243{
244 log(tmr)
245 setverdict(pass)
246}
247
248type record MyRecord
249{
250 integer int,
251 boolean deleted
252}
253testcase tc_HO69658() runs on templateRec_mycomp
254{
255var template MyRecord vl_myrecord;
256vl_myrecord.int := 0;
257
258var template MyRecord vl_myrecordAgain := vl_myrecord;
259vl_myrecordAgain.deleted := false;
260
261log("Now assignment finish");
262log("Print record:",vl_myrecordAgain);
263// It's good, if we reach this point...
264if (log2str(vl_myrecordAgain)=="{ int := 0, deleted := false }") {setverdict(pass)}else{setverdict(fail)}
265}
266
267type record MyRec2{
268 ROC roc optional,
269 ROI roi optional,
270 MyUnion1 u optional,
271 MyRecord1 r optional
272}
273
274type record of charstring ROC;
275type record of integer ROI;
276type record MyRecord1 {
277 integer i optional,
278 float x optional,
279 charstring c
280}
281
282type 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
298testcase 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}
308testcase 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
323testcase 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
335testcase 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
348testcase 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
364testcase 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
380group 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
635control {
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.049651 seconds and 5 git commands to generate.