Titan Core Initial Contribution
[deliverable/titan.core.git] / regression_test / anytypeOper / TanytypeOper.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 TanytypeOper {
9 // ********** Type definitions *********************
10 type component anytypeOper_mycomp {};
11 type enumerated anytypeOper_myenum {xx1,xx2,xx3};
12 type record anytypeOper_trecord {
13 integer x1 optional,
14 float x2 };
15 type record of octetstring anytypeOper_trecof;
16 type set anytypeOper_tset {
17 integer x1,
18 float x2 optional };
19 type set of charstring anytypeOper_tsetof;
20
21 type union anytypeOper_tunion {
22 integer x1,
23 float x2 };
24
25 type integer int;
26
27
28
29
30
31
32
33
34
35
36
37
38
39 // *************** Constanst ***********************
40 //const anytypeOper_trecord anytypeOper_temp1:={ x1:=omit, x2:=3.4 };
41 //const anytypeOper_trecof anytypeOper_temp2:={ 'AF12'O };
42 //const anytypeOper_tset anytypeOper_temp3:={ x1:=234, x2:=1.9};
43 //const anytypeOper_tsetof anytypeOper_temp4:={"f","8"};
44 //const anytypeOper_tunion anytypeOper_temp5:={ x2:=1.3 };
45 const anytype anytypeOper_const1:=
46 { integer := 1 }; //union with basic types
47
48 const anytype anytypeOper_const2:= { //union with enum
49 anytypeOper_myenum := xx1 };
50
51 const anytype anytypeOper_const3:= { //union from record
52 anytypeOper_trecord := { x1:=1, x2:=1.2 } } ;
53
54 const anytype anytypeOper_const4:={ //union from record of
55 anytypeOper_trecof := { '12AB'O, 'CD12'O } };
56
57 const anytype anytypeOper_const5:={ //union from set
58 anytypeOper_tset :={ x1:=2, x2:=1.3} };
59
60 const anytype anytypeOper_const6:={ //union from set of
61 anytypeOper_tsetof := {"a","b"} };
62
63 const anytype anytypeOper_const7:={ //union from union
64 anytypeOper_tunion :={ x1 :=3 } } ;
65
66 testcase anytypeAssign() runs on anytypeOper_mycomp{
67 var anytype x1:={ //union with basic types
68 integer:=1 };
69 var anytype x2,x3;
70 x2:={ float:=1.2 };
71 if (x1.integer==1) {setverdict(pass);} //at declaration
72 else {setverdict(fail);}
73 if (ischosen(x1.integer)) {setverdict(pass);}
74 else {setverdict(fail);}
75 if (not(ischosen(x1.float))) {setverdict(pass);}
76 else {setverdict(fail);}
77 if (x2.float==1.2) {setverdict(pass);} //later
78 else {setverdict(fail);}
79 if (ischosen(x2.float)) {setverdict(pass);}
80 else {setverdict(fail);}
81 if (not(ischosen(x2.integer))) {setverdict(pass);}
82 else {setverdict(fail);}
83 }
84
85 testcase anytypeAssignEnum() runs on anytypeOper_mycomp{
86 var anytype x1:={ //union with enum
87 anytypeOper_myenum:=xx1};
88 var anytype x2;
89 x2:={ anytypeOper_myenum:=xx2 };
90 if (x1.anytypeOper_myenum==xx1) {setverdict(pass);} //at declaration
91 else {setverdict(fail);}
92 if (ischosen(x1.anytypeOper_myenum)) {setverdict(pass);}
93 else {setverdict(fail);}
94 if (not(ischosen(x1.integer))) {setverdict(pass);}
95 else {setverdict(fail);}
96 if (x2.anytypeOper_myenum==xx2) {setverdict(pass);} //later
97 else {setverdict(fail);}
98 if (ischosen(x2.anytypeOper_myenum)) {setverdict(pass);}
99 else {setverdict(fail);}
100 if (not(ischosen(x2.integer))) {setverdict(pass);}
101 else {setverdict(fail);}
102 }
103
104 testcase anytypeAssignRec() runs on anytypeOper_mycomp{
105 //var anytypeOper_trecord temp1:={ x1:=omit, x2:=3.4 };
106 var anytype x1:={ //union from record
107 anytypeOper_trecord:={ x1:=1, x2:=1.2 } };
108 var anytype x2;
109 x2:={ anytypeOper_trecord:={ x1:=1, x2:=1.2 } };
110 if (x1.anytypeOper_trecord.x1==1) {setverdict(pass);} //at declaration
111 else {setverdict(fail);}
112 if (x1.anytypeOper_trecord.x2==1.2) {setverdict(pass);}
113 else {setverdict(fail);}
114 if (ischosen(x1.anytypeOper_trecord)) {setverdict(pass);}
115 else {setverdict(fail);}
116 if (not(ischosen(x1.integer))) {setverdict(pass);}
117 else {setverdict(fail);}
118 if (x2.anytypeOper_trecord.x1==1) {setverdict(pass);} //later
119 else {setverdict(fail);}
120 if (x2.anytypeOper_trecord.x2==1.2) {setverdict(pass);}
121 else {setverdict(fail);}
122 if (ischosen(x2.anytypeOper_trecord)) {setverdict(pass);}
123 else {setverdict(fail);}
124 if (not(ischosen(x2.integer))) {setverdict(pass);}
125 else {setverdict(fail);}
126 }
127
128 testcase anytypeAssignRecof() runs on anytypeOper_mycomp{
129 //var anytypeOper_trecof temp2:={'AF12'O};
130 var anytype x1:={ //union from record of
131 anytypeOper_trecof := { '12AB'O, 'CD12'O } };
132 var anytype x2;
133 x2:={ anytypeOper_trecof:={ '12AB'O, 'CD12'O } };
134 if (x1.anytypeOper_trecof[0]=='12AB'O) {setverdict(pass);} //at declaration
135 else {setverdict(fail);}
136 if (x1.anytypeOper_trecof[1]=='CD12'O) {setverdict(pass);}
137 else {setverdict(fail);}
138 if (ischosen(x1.anytypeOper_trecof)) {setverdict(pass);}
139 else {setverdict(fail);}
140 if (not(ischosen(x1.integer))) {setverdict(pass);}
141 else {setverdict(fail);}
142 if (x2.anytypeOper_trecof[0]=='12AB'O) {setverdict(pass);} //later
143 else {setverdict(fail);}
144 if (x2.anytypeOper_trecof[1]=='CD12'O) {setverdict(pass);}
145 else {setverdict(fail);}
146 if (ischosen(x2.anytypeOper_trecof)) {setverdict(pass);}
147 else {setverdict(fail);}
148 if (not(ischosen(x2.integer))) {setverdict(pass);}
149 else {setverdict(fail);}
150 }
151
152
153 testcase anytypeAssignSet() runs on anytypeOper_mycomp{
154 //var anytypeOper_tset temp1:={ x1:=2, x2:=omit };
155 var anytype x1:={ //union from record
156 anytypeOper_tset:={ x1:=1, x2:=1.2 } };
157 var anytype x2;
158 x2:={ anytypeOper_tset:={ x1:=1, x2:=1.2 } };
159 if (x1.anytypeOper_tset.x1==1) {setverdict(pass);} //at declaration
160 else {setverdict(fail);}
161 if (x1.anytypeOper_tset.x2==1.2) {setverdict(pass);}
162 else {setverdict(fail);}
163 if (ischosen(x1.anytypeOper_tset)) {setverdict(pass);}
164 else {setverdict(fail);}
165 if (not(ischosen(x1.integer))) {setverdict(pass);}
166 else {setverdict(fail);}
167 if (x2.anytypeOper_tset.x1==1) {setverdict(pass);} //later
168 else {setverdict(fail);}
169 if (x2.anytypeOper_tset.x2==1.2) {setverdict(pass);}
170 else {setverdict(fail);}
171 if (ischosen(x2.anytypeOper_tset)) {setverdict(pass);}
172 else {setverdict(fail);}
173 if (not(ischosen(x2.integer))) {setverdict(pass);}
174 else {setverdict(fail);}
175 }
176
177 testcase anytypeAssignSetof() runs on anytypeOper_mycomp{
178 //var anytypeOper_tsetof temp2:={"a","7"};
179 var anytype x1:={ //union from set of
180 anytypeOper_tsetof:={ "1", "a" } };
181 var anytype x2;
182 x2:={ anytypeOper_tsetof:={ "1", "a" } };
183 if (x1.anytypeOper_tsetof[0]=="1") {setverdict(pass);} //at declaration
184 else {setverdict(fail);}
185 if (x1.anytypeOper_tsetof[1]=="a") {setverdict(pass);}
186 else {setverdict(fail);}
187 if (ischosen(x1.anytypeOper_tsetof)) {setverdict(pass);}
188 else {setverdict(fail);}
189 if (not(ischosen(x1.integer))) {setverdict(pass);}
190 else {setverdict(fail);}
191 if (x2.anytypeOper_tsetof[0]=="1") {setverdict(pass);} //later
192 else {setverdict(fail);}
193 if (x2.anytypeOper_tsetof[1]=="a") {setverdict(pass);}
194 else {setverdict(fail);}
195 if (ischosen(x2.anytypeOper_tsetof)) {setverdict(pass);}
196 else {setverdict(fail);}
197 if (not(ischosen(x2.integer))) {setverdict(pass);}
198 else {setverdict(fail);}
199 }
200
201 testcase anytypeAssignUnion() runs on anytypeOper_mycomp{
202 //var anytypeOper_tunion temp5 := {x2:=1.3}
203 var anytype x1:={ //union from union
204 anytypeOper_tunion:={ x1 :=3 } };
205 var anytype x2;
206 x2:={ anytypeOper_tunion:={ x1 :=3 } };
207 if (x1.anytypeOper_tunion.x1==3) {setverdict(pass);} //at declaration
208 else {setverdict(fail);}
209 if (ischosen(x1.anytypeOper_tunion.x1)) {setverdict(pass);}
210 else {setverdict(fail);}
211 if (not(ischosen(x1.anytypeOper_tunion.x2))) {setverdict(pass);}
212 else {setverdict(fail);}
213 if (ischosen(x1.anytypeOper_tunion)) {setverdict(pass);}
214 else {setverdict(fail);}
215 if (not(ischosen(x1.integer))) {setverdict(pass);}
216 else {setverdict(fail);}
217 if (x2.anytypeOper_tunion.x1==3) {setverdict(pass);} //later
218 else {setverdict(fail);}
219 if (ischosen(x2.anytypeOper_tunion.x1)) {setverdict(pass);}
220 else {setverdict(fail);}
221 if (not(ischosen(x2.anytypeOper_tunion.x2))) {setverdict(pass);}
222 else {setverdict(fail);}
223 if (ischosen(x2.anytypeOper_tunion)) {setverdict(pass);}
224 else {setverdict(fail);}
225 if (not(ischosen(x2.integer))) {setverdict(pass);}
226 else {setverdict(fail);}
227 }
228
229 testcase anytypeAssignElem() runs on anytypeOper_mycomp{
230 var anytype x1, x2; //union with basic types
231 x1:={ integer:=1 };
232 x2:= {integer:=2}
233 x1.integer:=3; // change value
234 x2.float:=3.2; //choose other
235 if (x1.integer==3) {setverdict(pass);} //change value
236 else {setverdict(fail);}
237 if (ischosen(x1.integer)) {setverdict(pass);}
238 else {setverdict(fail);}
239 if (not(ischosen(x1.float))) {setverdict(pass);}
240 else {setverdict(fail);}
241 if (x2.float==3.2) {setverdict(pass);} //choose other
242 else {setverdict(fail);}
243 if (ischosen(x2.float)) {setverdict(pass);}
244 else {setverdict(fail);}
245 if (not(ischosen(x2.integer))) {setverdict(pass);}
246 else {setverdict(fail);}
247 }
248
249 testcase anytypeAssignElemEnum() runs on anytypeOper_mycomp{
250 var anytype x1, x2; //union with enum
251 x1:={ anytypeOper_myenum:=xx1 };
252 x2:= {anytypeOper_myenum:=xx2}
253 x1.anytypeOper_myenum:=xx3; // change value
254 x2.integer:=3; //choose other
255 if (x1.anytypeOper_myenum==xx3) {setverdict(pass);} //change value
256 else {setverdict(fail);}
257 if (ischosen(x1.anytypeOper_myenum)) {setverdict(pass);}
258 else {setverdict(fail);}
259 if (not(ischosen(x1.integer))) {setverdict(pass);}
260 else {setverdict(fail);}
261 if (x2.integer==3) {setverdict(pass);} //choose other
262 else {setverdict(fail);}
263 if (ischosen(x2.integer)) {setverdict(pass);}
264 else {setverdict(fail);}
265 if (not(ischosen(x2.anytypeOper_myenum))) {setverdict(pass);}
266 else {setverdict(fail);}
267 }
268
269 testcase anytypeAssignElemRec() runs on anytypeOper_mycomp{
270 //var anytypeOper_trecord temp1:={ x1:=omit, x2:=3.4 };
271 var anytype x1,x2; //union from record
272 x1:={ anytypeOper_trecord:={ x1:=1, x2:=1.2 } };
273 x2:={ anytypeOper_trecord:={ x1:=1, x2:=1.2 } };
274 x1.anytypeOper_trecord.x1:=2; //change value
275 x2.integer:=2; //change selection
276 if (x1.anytypeOper_trecord.x1==2) {setverdict(pass);} //change value
277 else {setverdict(fail);}
278 if (x1.anytypeOper_trecord.x2==1.2) {setverdict(pass);}
279 else {setverdict(fail);}
280 if (ischosen(x1.anytypeOper_trecord)) {setverdict(pass);}
281 else {setverdict(fail);}
282 if (not(ischosen(x1.integer))) {setverdict(pass);}
283 else {setverdict(fail);}
284 if (x2.integer==2) {setverdict(pass);} //change selection
285 else {setverdict(fail);}
286 if (ischosen(x2.integer)) {setverdict(pass);}
287 else {setverdict(fail);}
288 if (not(ischosen(x2.anytypeOper_trecord))) {setverdict(pass);}
289 else {setverdict(fail);}
290 }
291
292 testcase anytypeAssignElemRecof() runs on anytypeOper_mycomp{
293 //var anytypeOper_trecof temp2:={'AF12'O};
294 var anytype x1,x2; //union from record of
295 x1:={ anytypeOper_trecof:={ '12AB'O, 'CD12'O } };
296 x2:={ anytypeOper_trecof:={ '12AB'O, 'CD12'O } };
297 x1.anytypeOper_trecof[1]:='34AB'O; //change value
298 x2.integer:=2; //change selection
299 if (x1.anytypeOper_trecof[0]=='12AB'O) {setverdict(pass);} //change value
300 else {setverdict(fail);}
301 if (x1.anytypeOper_trecof[1]=='34AB'O) {setverdict(pass);}
302 else {setverdict(fail);}
303 if (ischosen(x1.anytypeOper_trecof)) {setverdict(pass);}
304 else {setverdict(fail);}
305 if (not(ischosen(x1.integer))) {setverdict(pass);}
306 else {setverdict(fail);}
307 if (x2.integer==2) {setverdict(pass);} //change selection
308 else {setverdict(fail);}
309 if (ischosen(x2.integer)) {setverdict(pass);}
310 else {setverdict(fail);}
311 if (not(ischosen(x2.anytypeOper_trecof))) {setverdict(pass);}
312 else {setverdict(fail);}
313 }
314
315
316 testcase anytypeAssignElemSet() runs on anytypeOper_mycomp{
317 //var anytypeOper_tset temp1:={ x1:=2, x2:=omit };
318 var anytype x1,x2; //union from record
319 x1:= { anytypeOper_tset:={ x1:=1, x2:=1.2 } };
320 x2:= { anytypeOper_tset:={ x1:=1, x2:=1.2 } };
321 x1.anytypeOper_tset.x2:=3.4; //change value
322 x2.integer:=3; //change selection
323 if (x1.anytypeOper_tset.x1==1) {setverdict(pass);} //change value
324 else {setverdict(fail);}
325 if (x1.anytypeOper_tset.x2==3.4) {setverdict(pass);}
326 else {setverdict(fail);}
327 if (ischosen(x1.anytypeOper_tset)) {setverdict(pass);}
328 else {setverdict(fail);}
329 if (not(ischosen(x1.integer))) {setverdict(pass);}
330 else {setverdict(fail);}
331 if (x2.integer==3) {setverdict(pass);} //change selection
332 else {setverdict(fail);}
333 if (ischosen(x2.integer)) {setverdict(pass);}
334 else {setverdict(fail);}
335 if (not(ischosen(x2.anytypeOper_tset))) {setverdict(pass);}
336 else {setverdict(fail);}
337 }
338
339 testcase anytypeAssignElemSetof() runs on anytypeOper_mycomp{
340 //var anytypeOper_tsetof temp2:={"a","7"};
341 var anytype x1,x2; //union from record of
342 x1:={ anytypeOper_tsetof:={ "1", "a" } };
343 x2:={ integer:=1 };
344 x1.anytypeOper_tsetof[0]:="h"; //change value
345 x2.anytypeOper_tsetof:={ "1", "a" }; //change selection
346 if (x1.anytypeOper_tsetof[0]=="h") {setverdict(pass);} //change value
347 else {setverdict(fail);}
348 if (x1.anytypeOper_tsetof[1]=="a") {setverdict(pass);}
349 else {setverdict(fail);}
350 if (ischosen(x1.anytypeOper_tsetof)) {setverdict(pass);}
351 else {setverdict(fail);}
352 if (not(ischosen(x1.integer))) {setverdict(pass);}
353 else {setverdict(fail);}
354 if (x2.anytypeOper_tsetof[0]=="1") {setverdict(pass);} //change selection
355 else {setverdict(fail);}
356 if (x2.anytypeOper_tsetof[1]=="a") {setverdict(pass);}
357 else {setverdict(fail);}
358 if (ischosen(x2.anytypeOper_tsetof)) {setverdict(pass);}
359 else {setverdict(fail);}
360 if (not(ischosen(x2.integer))) {setverdict(pass);}
361 else {setverdict(fail);}
362 }
363
364 testcase anytypeAssignElemUnion() runs on anytypeOper_mycomp{
365 //var anytypeOper_tunion temp5 := {x2:=1.3}
366 var anytype x1,x2; //union from union
367 x1:={ anytypeOper_tunion:={ x1 :=3 } };
368 x2:={ integer:=2 };
369 x1.anytypeOper_tunion.x2:=3.4; //change value
370 x2.anytypeOper_tunion:={ x2 :=3.4 }; //change selection
371 if (x1.anytypeOper_tunion.x2==3.4) {setverdict(pass);} //change value
372 else {setverdict(fail);}
373 if (ischosen(x1.anytypeOper_tunion.x2)) {setverdict(pass);}
374 else {setverdict(fail);}
375 if (not(ischosen(x1.anytypeOper_tunion.x1))) {setverdict(pass);}
376 else {setverdict(fail);}
377 if (ischosen(x1.anytypeOper_tunion)) {setverdict(pass);}
378 else {setverdict(fail);}
379 if (not(ischosen(x1.integer))) {setverdict(pass);}
380 else {setverdict(fail);}
381 if (x2.anytypeOper_tunion.x2==3.4) {setverdict(pass);} //change selection
382 else {setverdict(fail);}
383 if (ischosen(x2.anytypeOper_tunion.x2)) {setverdict(pass);}
384 else {setverdict(fail);}
385 if (not(ischosen(x2.anytypeOper_tunion.x1))) {setverdict(pass);}
386 else {setverdict(fail);}
387 if (ischosen(x2.anytypeOper_tunion)) {setverdict(pass);}
388 else {setverdict(fail);}
389 if (not(ischosen(x2.integer))) {setverdict(pass);}
390 else {setverdict(fail);}
391 }
392
393
394 testcase anytypeConst() runs on anytypeOper_mycomp{
395 const anytype const1:={ //union with basic types
396 integer:=1 };
397 if (anytypeOper_const1.integer==1) {setverdict(pass);} //definition part
398 else {setverdict(fail);}
399 if (ischosen(anytypeOper_const1.integer)) {setverdict(pass);}
400 else {setverdict(fail);}
401 if (not(ischosen(anytypeOper_const1.float))) {setverdict(pass);}
402 else {setverdict(fail);}
403 if (const1.integer==1) {setverdict(pass);} //testcase
404 else {setverdict(fail);}
405 if (ischosen(const1.integer)) {setverdict(pass);}
406 else {setverdict(fail);}
407 if (not(ischosen(const1.float))) {setverdict(pass);}
408 else {setverdict(fail);}
409 }
410
411 testcase anytypeConstEnum() runs on anytypeOper_mycomp{
412 const anytype const2:={ //union with enum
413 anytypeOper_myenum:=xx1} ;
414 if (anytypeOper_const2.anytypeOper_myenum==xx1) {setverdict(pass);} //definition part
415 else {setverdict(fail);}
416 if (ischosen(anytypeOper_const2.anytypeOper_myenum)) {setverdict(pass);}
417 else {setverdict(fail);}
418 if (not(ischosen(anytypeOper_const2.integer))) {setverdict(pass);}
419 else {setverdict(fail);}
420 if (const2.anytypeOper_myenum==xx1) {setverdict(pass);} //testcase
421 else {setverdict(fail);}
422 if (ischosen(const2.anytypeOper_myenum)) {setverdict(pass);}
423 else {setverdict(fail);}
424 if (not(ischosen(const2.integer))) {setverdict(pass);}
425 else {setverdict(fail);}
426 }
427
428 testcase anytypeConstRec() runs on anytypeOper_mycomp{
429 const anytype const3:={ //union from record
430 anytypeOper_trecord:={ x1:=1, x2:=1.2 } } ;
431 if (anytypeOper_const3.anytypeOper_trecord.x1==1) {setverdict(pass);} //definition part
432 else {setverdict(fail);}
433 if (anytypeOper_const3.anytypeOper_trecord.x2==1.2) {setverdict(pass);}
434 else {setverdict(fail);}
435 if (ischosen(anytypeOper_const3.anytypeOper_trecord)) {setverdict(pass);}
436 else {setverdict(fail);}
437 if (not(ischosen(anytypeOper_const3.integer))) {setverdict(pass);}
438 else {setverdict(fail);}
439 if (const3.anytypeOper_trecord.x1==1) {setverdict(pass);} //testcase
440 else {setverdict(fail);}
441 if (const3.anytypeOper_trecord.x2==1.2) {setverdict(pass);}
442 else {setverdict(fail);}
443 if (ischosen(const3.anytypeOper_trecord)) {setverdict(pass);}
444 else {setverdict(fail);}
445 if (not(ischosen(const3.integer))) {setverdict(pass);}
446 else {setverdict(fail);}
447 }
448
449 testcase anytypeConstRecof() runs on anytypeOper_mycomp{
450 const anytype const4:={ //union from record of
451 anytypeOper_trecof :={ '12AB'O, 'CD12'O } } ;
452 if (anytypeOper_const4.anytypeOper_trecof[0]=='12AB'O) {setverdict(pass);} //definition part
453 else {setverdict(fail);}
454 if (anytypeOper_const4.anytypeOper_trecof[1]=='CD12'O) {setverdict(pass);}
455 else {setverdict(fail);}
456 if (ischosen(anytypeOper_const4.anytypeOper_trecof)) {setverdict(pass);}
457 else {setverdict(fail);}
458 if (not(ischosen(anytypeOper_const4.integer))) {setverdict(pass);}
459 else {setverdict(fail);}
460 if (const4.anytypeOper_trecof[0]=='12AB'O) {setverdict(pass);} //testcase
461 else {setverdict(fail);}
462 if (const4.anytypeOper_trecof[1]=='CD12'O) {setverdict(pass);}
463 else {setverdict(fail);}
464 if (ischosen(const4.anytypeOper_trecof)) {setverdict(pass);}
465 else {setverdict(fail);}
466 if (not(ischosen(const4.integer))) {setverdict(pass);}
467 else {setverdict(fail);}
468 }
469
470
471 testcase anytypeConstSet() runs on anytypeOper_mycomp{
472 const anytype const5:={ //union from set
473 anytypeOper_tset :={ x1:=2, x2:=1.3} };
474 if (anytypeOper_const5.anytypeOper_tset.x1==2) {setverdict(pass);} //definition part
475 else {setverdict(fail);}
476 if (anytypeOper_const5.anytypeOper_tset.x2==1.3) {setverdict(pass);}
477 else {setverdict(fail);}
478 if (ischosen(anytypeOper_const5.anytypeOper_tset)) {setverdict(pass);}
479 else {setverdict(fail);}
480 if (not(ischosen(anytypeOper_const5.integer))) {setverdict(pass);}
481 else {setverdict(fail);}
482 if (const5.anytypeOper_tset.x1==2) {setverdict(pass);} //testcase
483 else {setverdict(fail);}
484 if (const5.anytypeOper_tset.x2==1.3) {setverdict(pass);}
485 else {setverdict(fail);}
486 if (ischosen(const5.anytypeOper_tset)) {setverdict(pass);}
487 else {setverdict(fail);}
488 if (not(ischosen(const5.integer))) {setverdict(pass);}
489 else {setverdict(fail);}
490 }
491
492 testcase anytypeConstSetof() runs on anytypeOper_mycomp{
493 const anytype const6:={ //union from set of
494 anytypeOper_tsetof :={"a","b"} };
495 if (anytypeOper_const6.anytypeOper_tsetof[0]=="a") {setverdict(pass);} //definition part
496 else {setverdict(fail);}
497 if (anytypeOper_const6.anytypeOper_tsetof[1]=="b") {setverdict(pass);}
498 else {setverdict(fail);}
499 if (ischosen(anytypeOper_const6.anytypeOper_tsetof)) {setverdict(pass);}
500 else {setverdict(fail);}
501 if (not(ischosen(anytypeOper_const6.integer))) {setverdict(pass);}
502 else {setverdict(fail);}
503 if (const6.anytypeOper_tsetof[0]=="a") {setverdict(pass);} //testcase
504 else {setverdict(fail);}
505 if (const6.anytypeOper_tsetof[1]=="b") {setverdict(pass);}
506 else {setverdict(fail);}
507 if (ischosen(const6.anytypeOper_tsetof)) {setverdict(pass);}
508 else {setverdict(fail);}
509 if (not(ischosen(const6.integer))) {setverdict(pass);}
510 else {setverdict(fail);}
511 }
512
513 testcase anytypeConstUnion() runs on anytypeOper_mycomp{
514 const anytype const7:={ //union from union
515 anytypeOper_tunion:={ x1 :=3 } };
516 if (anytypeOper_const7.anytypeOper_tunion.x1==3) {setverdict(pass);} //definition part
517 else {setverdict(fail);}
518 if (ischosen(anytypeOper_const7.anytypeOper_tunion.x1)) {setverdict(pass);}
519 else {setverdict(fail);}
520 if (not(ischosen(anytypeOper_const7.anytypeOper_tunion.x2))) {setverdict(pass);}
521 else {setverdict(fail);}
522 if (ischosen(anytypeOper_const7.anytypeOper_tunion)) {setverdict(pass);}
523 else {setverdict(fail);}
524 if (not(ischosen(anytypeOper_const7.integer))) {setverdict(pass);}
525 else {setverdict(fail);}
526 if (const7.anytypeOper_tunion.x1==3) {setverdict(pass);} //testcase
527 else {setverdict(fail);}
528 if (ischosen(const7.anytypeOper_tunion.x1)) {setverdict(pass);}
529 else {setverdict(fail);}
530 if (not(ischosen(const7.anytypeOper_tunion.x2))) {setverdict(pass);}
531 else {setverdict(fail);}
532 if (ischosen(const7.anytypeOper_tunion)) {setverdict(pass);}
533 else {setverdict(fail);}
534 if (not(ischosen(const7.integer))) {setverdict(pass);}
535 else {setverdict(fail);}
536 }
537
538 testcase anytypeComp() runs on anytypeOper_mycomp{
539 var anytype x1,x2,x3,x4;
540 x1:={ integer:=1 };
541 x2:={ integer:=1 };
542 x3:={ integer:=2 }; // different value
543 x4:={ float:=1.2 }; // different selection
544 if (x1==x2) {setverdict(pass);}
545 else {setverdict(fail);}
546 if (not(x1==x3)) {setverdict(pass);} // different value
547 else {setverdict(fail);}
548 if (not(x4==x1)) {setverdict(pass);} // different selection
549 else {setverdict(fail);}
550 if (not(x1!=x2)) {setverdict(pass);}
551 else {setverdict(fail);}
552 if (x1!=x3) {setverdict(pass);} // different value
553 else {setverdict(fail);}
554 if (x4!=x2) {setverdict(pass);} // different selection
555 else {setverdict(fail);}
556 }
557
558 testcase anytypeCompSame() runs on anytypeOper_mycomp{
559 var anytype x1,x2;
560 x1:={ integer:=1 }; // same value, different selection
561 x2:={ int:=1 };
562 if (x1!=x2) {setverdict(pass);}
563 else {setverdict(fail);}
564 if (not(x1==x2)) {setverdict(pass);}
565 else {setverdict(fail);}
566 }
567
568 testcase anytypeCompEnum() runs on anytypeOper_mycomp{
569 var anytype x1,x2,x3,x4;
570 x1:={ anytypeOper_myenum:=xx1 };
571 x2:={ anytypeOper_myenum:=xx1 };
572 x3:={ anytypeOper_myenum:=xx2 }; // different value
573 x4:={ integer:=1 }; // different selection
574 if (x1==x2) {setverdict(pass);}
575 else {setverdict(fail);}
576 if (not(x1==x3)) {setverdict(pass);} // different value
577 else {setverdict(fail);}
578 if (not(x4==x1)) {setverdict(pass);} // different selection
579 else {setverdict(fail);}
580 if (not(x1!=x2)) {setverdict(pass);}
581 else {setverdict(fail);}
582 if (x1!=x3) {setverdict(pass);} // different value
583 else {setverdict(fail);}
584 if (x4!=x2) {setverdict(pass);} // different selection
585 else {setverdict(fail);}
586 }
587
588
589 testcase anytypeCompRec() runs on anytypeOper_mycomp{
590 //var anytypeOper_trecord temp1:={ x1:=omit, x2:=3.4 };
591 var anytype x1,x2,x3,x4;
592 x1 :={ anytypeOper_trecord:={ x1:=1, x2:=1.2 } };
593 x2 :={ anytypeOper_trecord:={ x1:=1, x2:=1.2 } };
594 x3 :={ anytypeOper_trecord:={ x1:=2, x2:=1.2 } }; // different value
595 x4 :={ integer:=1 }; // different selection
596 if (x1==x2) {setverdict(pass);}
597 else {setverdict(fail);}
598 if (not(x1==x3)) {setverdict(pass);} // different value
599 else {setverdict(fail);}
600 if (not(x4==x1)) {setverdict(pass);} // different selection
601 else {setverdict(fail);}
602 if (not(x1!=x2)) {setverdict(pass);}
603 else {setverdict(fail);}
604 if (x1!=x3) {setverdict(pass);} // different value
605 else {setverdict(fail);}
606 if (x4!=x2) {setverdict(pass);} // different selection
607 else {setverdict(fail);}
608 }
609
610
611 testcase anytypeCompRecof() runs on anytypeOper_mycomp{
612 //var anytypeOper_trecof temp2:={'AF12'O};
613 var anytype x1,x2,x3,x4; //union from record of
614 x1:={ anytypeOper_trecof:={ '12AB'O, 'CD12'O } };
615 x2:={ anytypeOper_trecof:={ '12AB'O, 'CD12'O } };
616 x3:={ anytypeOper_trecof:={ '12AB'O } }; //different value
617 x4:={ integer:=12 }; //different selection
618 if (x1==x2) {setverdict(pass);}
619 else {setverdict(fail);}
620 if (not(x1==x3)) {setverdict(pass);} // different value
621 else {setverdict(fail);}
622 if (not(x4==x1)) {setverdict(pass);} // different selection
623 else {setverdict(fail);}
624 if (not(x1!=x2)) {setverdict(pass);}
625 else {setverdict(fail);}
626 if (x1!=x3) {setverdict(pass);} // different value
627 else {setverdict(fail);}
628 if (x4!=x2) {setverdict(pass);} // different selection
629 else {setverdict(fail);}
630 }
631
632
633 testcase anytypeCompSet() runs on anytypeOper_mycomp{
634 //var anytypeOper_tset temp1:={ x1:=2, x2:=omit };
635 var anytype x1,x2,x3,x4; // union from set
636 x1:={ anytypeOper_tset:={ x1:=1, x2:=1.2 } };
637 x2:={ anytypeOper_tset:={ x1:=1, x2:=1.2 } };
638 x3:={ anytypeOper_tset:={ x1:=4, x2:=1.2 } }; // different value
639 x4:={ integer:=4 }; // different selection
640 if (x1==x2) {setverdict(pass);}
641 else {setverdict(fail);}
642 if (not(x1==x3)) {setverdict(pass);} // different value
643 else {setverdict(fail);}
644 if (not(x4==x1)) {setverdict(pass);} // different selection
645 else {setverdict(fail);}
646 if (not(x1!=x2)) {setverdict(pass);}
647 else {setverdict(fail);}
648 if (x1!=x3) {setverdict(pass);} // different value
649 else {setverdict(fail);}
650 if (x4!=x2) {setverdict(pass);} // different selection
651 else {setverdict(fail);}
652 }
653
654 testcase anytypeCompSetof() runs on anytypeOper_mycomp{
655 //var anytypeOper_tsetof temp2:={"a","7"};
656 var anytype x1,x2,x3,x4; //union from record of
657 x1:={ anytypeOper_tsetof:={ "1", "a" } };
658 x2:={ anytypeOper_tsetof:={ "1", "a" } };
659 x3:={ anytypeOper_tsetof:={ "1", "a", "k" } }; //different value
660 x4:={ integer:=2 }; //different selection
661 if (x1==x2) {setverdict(pass);}
662 else {setverdict(fail);}
663 if (not(x1==x3)) {setverdict(pass);} // different value
664 else {setverdict(fail);}
665 if (not(x4==x1)) {setverdict(pass);} // different selection
666 else {setverdict(fail);}
667 if (not(x1!=x2)) {setverdict(pass);}
668 else {setverdict(fail);}
669 if (x1!=x3) {setverdict(pass);} // different value
670 else {setverdict(fail);}
671 if (x4!=x2) {setverdict(pass);} // different selection
672 else {setverdict(fail);}
673 }
674
675 testcase anytypeCompUnion() runs on anytypeOper_mycomp{
676 //var anytypeOper_tunion temp5 := {x2:=1.3}
677 var anytype x1,x2,x3,x4; // union form union
678 x1:={ anytypeOper_tunion:={ x1 :=3 } };
679 x2:={ anytypeOper_tunion:={ x1 :=3 } };
680 x3:={ anytypeOper_tunion:={ x2 :=3.9 } }; //different value
681 x4:={ integer:=3 }; //different selection
682 if (x1==x2) {setverdict(pass);}
683 else {setverdict(fail);}
684 if (not(x1==x3)) {setverdict(pass);} // different value
685 else {setverdict(fail);}
686 if (not(x4==x1)) {setverdict(pass);} // different selection
687 else {setverdict(fail);}
688 if (not(x1!=x2)) {setverdict(pass);}
689 else {setverdict(fail);}
690 if (x1!=x3) {setverdict(pass);} // different value
691 else {setverdict(fail);}
692 if (x4!=x2) {setverdict(pass);} // different selection
693 else {setverdict(fail);}
694 }
695
696
697 control {
698 execute(anytypeAssign());
699 execute(anytypeAssignEnum());
700 execute(anytypeAssignRec());
701 execute(anytypeAssignRecof());
702 execute(anytypeAssignSet());
703 execute(anytypeAssignSetof());
704 execute(anytypeAssignUnion());
705 execute(anytypeAssignElem());
706 execute(anytypeAssignElemEnum());
707 execute(anytypeAssignElemRec());
708 execute(anytypeAssignElemRecof());
709 execute(anytypeAssignElemSet());
710 execute(anytypeAssignElemSetof());
711 execute(anytypeAssignElemUnion());
712 execute(anytypeConst());
713 execute(anytypeConstEnum());
714 execute(anytypeConstRec());
715 execute(anytypeConstRecof());
716 execute(anytypeConstSet());
717 execute(anytypeConstSetof());
718 execute(anytypeConstUnion())
719 execute(anytypeComp());
720 execute(anytypeCompSame());
721 execute(anytypeCompEnum());
722 execute(anytypeCompRec());
723 execute(anytypeCompRecof());
724 execute(anytypeCompSet());
725 execute(anytypeCompSetof());
726 execute(anytypeCompUnion())
727 }
728 }
729 with {
730 extension "anytype int, integer, float, anytypeOper_tunion, anytypeOper_myenum"
731 extension "anytype anytypeOper_trecord, anytypeOper_trecof"
732 extension "anytype anytypeOper_tset, anytypeOper_tsetof"
733 }
734
This page took 0.069537 seconds and 5 git commands to generate.