Titan Core Initial Contribution
[deliverable/titan.core.git] / regression_test / templateSet / TtemplateSet.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 TtemplateSet {
9type component templateSet_mycomp {};
10type set templateSet_myset {
11 integer f1,
12 float f2 };
13type record templateSet_rec {
14 templateSet_myset x1,
15 templateSet_myset x2,
16 templateSet_myset x3 optional };
17template templateSet_rec templateSet_tSpec :={ //specific values
18 x1:={f1:=1,f2:=1.2},
19 x2:={f1:=2,f2:=1.2},
20 x3:={f1:=3,f2:=1.2} };
21template templateSet_rec templateSet_tList :={ //specific value and value list
22 x1:={f2:=1.2,f1:=1},
23 x2:=({f1:=2,f2:=1.2},{f1:=3,f2:=1.2},{f1:=6,f2:=1.2}),
24 x3:={f1:=3,f2:=1.2} };
25template templateSet_rec templateSet_tComp :={ //specific value and compl. list
26 x1:={f1:=1,f2:=1.2},
27 x2:=complement ({f1:=2,f2:=1.2},{f1:=3,f2:=1.2},{f1:=6,f2:=1.2}),
28 x3:={f1:=3,f2:=1.2} };
29template templateSet_rec templateSet_tOmit :={ //omitting values
30 x1:={f1:=1,f2:=1.2},
31 x2:={f1:=2,f2:=1.2},
32 x3:=omit } ;
33template templateSet_rec templateSet_tAny :={ //specific and any value
34 x1:={f1:=1,f2:=1.2},
35 x2:={f1:=2,f2:=1.2},
36 x3:=? } ;
37template templateSet_rec templateSet_tAnyorNone :={ //specific and AnyorNone value
38 x1:={f1:=1,f2:=1.2},
39 x2:={f1:=2,f2:=1.2},
40 x3:=* };
41//template templateSet_rec templateSet_tIfpresent :={ //specific value and ifpresent
42// x1:={f1:=1,f2:=1.2},
43// x2:={f1:=2,f2:=1.2},
44// x3:={f1:=3,f2:=1.2} ifpresent };
45
46testcase templateSetSpec() runs on templateSet_mycomp {
47var templateSet_myset temp:={f1:=3,f2:=1.2};
48var templateSet_rec x1,x2; //specific value
49x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
50x2:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
51//match
52if (match(x1,templateSet_tSpec)) {setverdict(pass);}
53 else {setverdict(fail);}
54//no match
55if (not(match(x2,templateSet_tSpec))) {setverdict(pass);}
56 else {setverdict(fail);}
57}
58
59testcase templateSetList() runs on templateSet_mycomp {
60var templateSet_myset temp:={f1:=3,f2:=1.2};
61var templateSet_rec x1,x2,x3; //value list
62x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
63x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
64x3:={ x1:={f1:=8,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
65//match
66if (match(x1,templateSet_tList)) {setverdict(pass);}
67 else {setverdict(fail);}
68//no match: out of list
69if (not(match(x2,templateSet_tList))) {setverdict(pass);}
70 else {setverdict(fail);}
71//no match: other field
72if (not(match(x3,templateSet_tList))) {setverdict(pass);}
73 else {setverdict(fail);}
74}
75
76testcase templateSetComp() runs on templateSet_mycomp {
77var templateSet_myset temp:={f1:=3,f2:=1.2};
78var templateSet_rec x1,x2,x3; //complemented list
79x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
80x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=6,f2:=1.2}, x3:=temp };
81x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=7,f2:=1.2}, x3:=temp };
82//match
83if (match(x1,templateSet_tComp)) {setverdict(pass);}
84 else {setverdict(fail);}
85//no match: in the list
86if (not(match(x2,templateSet_tComp))) {setverdict(pass);}
87 else {setverdict(fail);}
88//no match: other field
89if (not(match(x3,templateSet_tComp))) {setverdict(pass);}
90 else {setverdict(fail);}
91}
92
93testcase templateSetOmit() runs on templateSet_mycomp {
94var templateSet_myset temp:={f1:=3,f2:=1.2};
95var templateSet_rec x1,x2,x3; //omitting value
96x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
97x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
98x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
99//match
100if (match(x1,templateSet_tOmit)) {setverdict(pass);}
101 else {setverdict(fail);}
102//no match: not omitted
103if (not(match(x2,templateSet_tOmit))) {setverdict(pass);}
104 else {setverdict(fail);}
105//no match: other field
106if (not(match(x3,templateSet_tOmit))) {setverdict(pass);}
107 else {setverdict(fail);}
108}
109
110testcase templateSetAny() runs on templateSet_mycomp {
111var templateSet_myset temp:={f1:=3,f2:=1.2};
112var templateSet_rec x1,x2,x3; //any value
113x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
114x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
115x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
116//match
117if (match(x1,templateSet_tAny)) {setverdict(pass);}
118 else {setverdict(fail);}
119//no match: field omitted
120if (not(match(x2,templateSet_tAny))) {setverdict(pass);}
121 else {setverdict(fail);}
122//no match: other field
123if (not(match(x3,templateSet_tAny))) {setverdict(pass);}
124 else {setverdict(fail);}
125}
126
127testcase templateSetAnyorNone() runs on templateSet_mycomp {
128var templateSet_myset temp:={f1:=3,f2:=1.2};
129var templateSet_rec x1,x2,x3; //AnyorNone value
130x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
131x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp };
132x3:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
133//match: omitted
134if (match(x1,templateSet_tAnyorNone)) {setverdict(pass);}
135 else {setverdict(fail);}
136//match: value
137if (match(x2,templateSet_tAnyorNone)) {setverdict(pass);}
138 else {setverdict(fail);}
139//no match: other field
140if (not(match(x3,templateSet_tAnyorNone))) {setverdict(pass);}
141 else {setverdict(fail);}
142}
143
144//testcase templateSetIfpresent() runs on templateInt_mycomp {
145//var templateSet_myset temp1:={f1:=3,f2:=1.2}; //ifpresent
146//var templateSet_myset temp2:={f1:=4,f2:=1.2};
147//var templateSet_rec x1,x2,x3,x4;
148//x1:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp1 };
149//x2:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
150//x3:={ x1:={f1:=1,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=temp2 };
151//x4:={ x1:={f1:=2,f2:=1.2}, x2:={f1:=2,f2:=1.2}, x3:=omit };
152//match: present and match
153//if (match(x1,templateSet_tIfpresent)) {setverdict(pass);}
154// else {setverdict(fail);}
155//match: not present
156//if (match(x2,templateSet_tIfpresent)) {setverdict(pass);}
157// else {setverdict(fail);}
158//no match: present and not match
159//if (not(match(x3,templateSet_tIfpresent))) {setverdict(pass);}
160// else {setverdict(fail);}
161//no match: other field
162//if (not(match(x4,templateSet_tIfpresent))) {setverdict(pass);}
163// else {setverdict(fail);}
164//}
165
166control {
167 execute(templateSetSpec());
168 execute(templateSetList());
169 execute(templateSetComp());
170 execute(templateSetOmit());
171 execute(templateSetAny());
172 execute(templateSetAnyorNone());
173// execute(templateSetIfpresent());
174
175}
176}
This page took 0.02961 seconds and 5 git commands to generate.