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 ******************************************************************************/
16 //=========================================================================
18 //=========================================================================
19 import from types all;
20 import from functions all;
21 //=========================================================================
23 //=========================================================================
27 template SoCS tspt_setof_mod4v1 := omit;
28 template SoCS tspt_setof_mod4v2 := omit;
29 template SoCS tspt_setof_mod4v3 := omit;
30 template SoCS tspt_setof_mod4a := omit;
31 template SoCS tspt_setof_mod4q := omit;
32 template SoCS tspt_setof_mod4o := *;
33 template SoCS tspt_setof_mod4c0 := *;
34 template SoCS tspt_setof_mod4c1 := *;
35 template SoCS tspt_setof_mod4c2 := *;
36 template SoCS tspt_setof_mod4c3 := *;
37 template SoCS tspt_setof_mod4vl := *;
39 template SoCS tspt_setof_mod4v1ifp := omit;
40 template SoCS tspt_setof_mod4v2ifp := omit;
41 template SoCS tspt_setof_mod4v3ifp := omit;
42 template SoCS tspt_setof_mod4aifp := omit;
43 template SoCS tspt_setof_mod4qifp := omit;
44 template SoCS tspt_setof_mod4oifp := *;
45 template SoCS tspt_setof_mod4c0ifp := *;
46 template SoCS tspt_setof_mod4c1ifp := *;
47 template SoCS tspt_setof_mod4c2ifp := *;
48 template SoCS tspt_setof_mod4c3ifp := *;
49 template SoCS tspt_setof_mod4vlifp := *;
50 template SoCS tspt_setof_mod4superset := *;
51 template SoCS tspt_setof_mod4supersetifp := *;
52 template SoCS tspt_setof_mod4supersetl3 := *;
53 template SoCS tspt_setof_mod4supersetl1_3 := *;
54 template SoCS tspt_setof_mod4supersetl3ifp := *;
55 template SoCS tspt_setof_mod4subset := *;
56 template SoCS tspt_setof_mod4subsetifp := *;
59 //=========================================================================
61 //=========================================================================
63 // Insert data type defintions here if applicable!
64 // You can use the data_type skeleton!
66 //=========================================================================
68 //=========================================================================
70 // Insert signature definitions here if applicable!
71 // You can use the signature skeleton!
73 //=========================================================================
75 //=========================================================================
77 // Insert port type defintions here if applicable!
78 // You can use the port_type skeleton!
80 //=========================================================================
82 //=========================================================================
84 // Insert component type defintions here if applicable!
85 // You can use the component_type skeleton!
87 //=========================================================================
89 //=========================================================================
91 // Insert constants here if applicable!
92 // You can use the constant skeleton!
94 //=========================================================================
96 //=========================================================================
98 // Insert templates here if applicable!
99 // You can use the template skeleton!
101 //=========================================================================
103 //=========================================================================
105 // Insert altsteps here if applicable!
106 // You can use the altstep skeleton!
108 //=========================================================================
110 //=========================================================================
112 // Insert functions here if applicable!
113 // You can use the function skeleton!
115 //=========================================================================
117 //=========================================================================
118 testcase tc_setof_ModulePar() runs on MC {
119 log(log2str(tspt_setof_mod4v1));
120 if( log2str(tspt_setof_mod4v1) == "{ \"a\" }") { setverdict(pass)} else { setverdict(fail) }
121 log(log2str(tspt_setof_mod4v2));
122 if( log2str(tspt_setof_mod4v2) == "{ \"a\", \"b\" }") { setverdict(pass)} else { setverdict(fail) }
123 log(log2str(tspt_setof_mod4v3));
124 if( log2str(tspt_setof_mod4v3) == "{ \"a\", \"b\", \"c\" }") { setverdict(pass)} else { setverdict(fail) }
125 log(log2str(tspt_setof_mod4a));
126 if( log2str(tspt_setof_mod4a) == "*") { setverdict(pass)} else { setverdict(fail) }
127 log(log2str(tspt_setof_mod4q));
128 if( log2str(tspt_setof_mod4q) == "?") { setverdict(pass)} else { setverdict(fail) }
129 log(log2str(tspt_setof_mod4o));
130 if( log2str(tspt_setof_mod4o) == "omit") { setverdict(pass)} else { setverdict(fail) }
131 log(log2str(tspt_setof_mod4c0));
132 if( log2str(tspt_setof_mod4c0) == "{ complement (omit) }") { setverdict(pass)} else { setverdict(fail) }
133 log(log2str(tspt_setof_mod4c1));
134 if( log2str(tspt_setof_mod4c1) == "{ complement (\"a\"), \"b\" }") { setverdict(pass)} else { setverdict(fail) }
135 log(log2str(tspt_setof_mod4c2));
136 if( log2str(tspt_setof_mod4c2) == "{ complement (\"a\", \"b\"), \"c\" }") { setverdict(pass)} else { setverdict(fail) }
137 log(log2str(tspt_setof_mod4c3));
138 if( log2str(tspt_setof_mod4c3) == "complement({ \"a\" }, { \"a\", \"b\" }, { \"c\" })") { setverdict(pass)} else { setverdict(fail) }
139 log(log2str(tspt_setof_mod4vl));
140 if( log2str(tspt_setof_mod4vl) == "{ (\"a\", \"b\"), (\"cica\", \"macska\", \"cat\") }") { setverdict(pass)} else { setverdict(fail) };
141 log(log2str(tspt_setof_mod4superset));
142 if( log2str(tspt_setof_mod4superset) == "superset(\"a\", \"b\")") { setverdict(pass)} else { setverdict(fail) }
143 log(log2str(tspt_setof_mod4supersetl3));
144 if( log2str(tspt_setof_mod4supersetl3) == "superset(\"a\", \"b\") length (3)") { setverdict(pass)} else { setverdict(fail) }
145 log(log2str(tspt_setof_mod4supersetl1_3));
146 if( log2str(tspt_setof_mod4supersetl1_3) == "superset(\"a\", \"b\") length (1 .. 3)") { setverdict(pass)} else { setverdict(fail) }
147 log(log2str(tspt_setof_mod4subset));
148 if( log2str(tspt_setof_mod4subset) == "subset(\"a\", \"b\")") { setverdict(pass)} else { setverdict(fail) }
150 log(log2str(tspt_setof_mod4v1ifp));
151 if( log2str(tspt_setof_mod4v1ifp) == "{ \"a\" } ifpresent") { setverdict(pass)} else { setverdict(fail) }
152 log(log2str(tspt_setof_mod4v2ifp));
153 if( log2str(tspt_setof_mod4v2ifp) == "{ \"a\", \"b\" } ifpresent") { setverdict(pass)} else { setverdict(fail) }
154 log(log2str(tspt_setof_mod4v3ifp));
155 if( log2str(tspt_setof_mod4v3ifp) == "{ \"a\", \"b\", \"c\" } ifpresent") { setverdict(pass)} else { setverdict(fail) }
156 log(log2str(tspt_setof_mod4aifp));
157 if( log2str(tspt_setof_mod4aifp) == "* ifpresent") { setverdict(pass)} else { setverdict(fail) }
158 log(log2str(tspt_setof_mod4qifp));
159 if( log2str(tspt_setof_mod4qifp) == "? ifpresent") { setverdict(pass)} else { setverdict(fail) }
160 log(log2str(tspt_setof_mod4oifp));
161 if( log2str(tspt_setof_mod4oifp) == "omit ifpresent") { setverdict(pass)} else { setverdict(fail) }
162 log(log2str(tspt_setof_mod4c0ifp));
163 if( log2str(tspt_setof_mod4c0ifp) == "{ complement (omit) } ifpresent") { setverdict(pass)} else { setverdict(fail) }
164 log(log2str(tspt_setof_mod4c1ifp));
165 if( log2str(tspt_setof_mod4c1ifp) == "{ complement (\"a\"), \"b\" } ifpresent") { setverdict(pass)} else { setverdict(fail) }
166 log(log2str(tspt_setof_mod4c2ifp));
167 if( log2str(tspt_setof_mod4c2ifp) == "{ complement (\"a\", \"b\"), \"c\" } ifpresent") { setverdict(pass)} else { setverdict(fail) }
168 log(log2str(tspt_setof_mod4c3ifp));
169 if( log2str(tspt_setof_mod4c3ifp) == "complement({ \"a\" }, { \"a\", \"b\" }, { \"c\" }) ifpresent") { setverdict(pass)} else { setverdict(fail) }
170 log(log2str(tspt_setof_mod4vlifp));
171 if( log2str(tspt_setof_mod4vlifp) == "{ (\"a\", \"b\"), (\"cica\", \"macska\", \"cat\") } ifpresent") { setverdict(pass)} else { setverdict(fail) }
172 log(log2str(tspt_setof_mod4supersetifp));
173 if( log2str(tspt_setof_mod4supersetifp) == "superset(\"a\", \"b\") ifpresent") { setverdict(pass)} else { setverdict(fail) }
174 log(log2str(tspt_setof_mod4supersetl3ifp));
175 if( log2str(tspt_setof_mod4supersetl3ifp) == "superset(\"a\", \"b\") length (3) ifpresent") { setverdict(pass)} else { setverdict(fail) }
176 log(log2str(tspt_setof_mod4subsetifp));
177 if( log2str(tspt_setof_mod4subsetifp) == "subset(\"a\", \"b\") ifpresent") { setverdict(pass)} else { setverdict(fail) }
180 testcase tc_setof_ModulePar_emb() runs on MC {
181 log(log2str(t_rsocs(tspt_setof_mod4v1)));
182 if( log2str(t_rsocs(tspt_setof_mod4v1)) == "{ s := { \"a\" } }") { setverdict(pass)} else { setverdict(fail) }
183 log(log2str(t_rsocs(tspt_setof_mod4v2)));
184 if( log2str(t_rsocs(tspt_setof_mod4v2)) == "{ s := { \"a\", \"b\" } }") { setverdict(pass)} else { setverdict(fail) }
185 log(log2str(t_rsocs(tspt_setof_mod4v3)));
186 if( log2str(t_rsocs(tspt_setof_mod4v3)) == "{ s := { \"a\", \"b\", \"c\" } }") { setverdict(pass)} else { setverdict(fail) }
187 log(log2str(t_rsocs(tspt_setof_mod4a)));
188 if( log2str(t_rsocs(tspt_setof_mod4a)) == "{ s := * }") { setverdict(pass)} else { setverdict(fail) }
189 log(log2str(t_rsocs(tspt_setof_mod4q)));
190 if( log2str(t_rsocs(tspt_setof_mod4q)) == "{ s := ? }") { setverdict(pass)} else { setverdict(fail) }
191 log(log2str(t_rsocs(tspt_setof_mod4o)));
192 if( log2str(t_rsocs(tspt_setof_mod4o)) == "{ s := omit }") { setverdict(pass)} else { setverdict(fail) }
193 log(log2str(t_rsocs(tspt_setof_mod4c0)));
194 if( log2str(t_rsocs(tspt_setof_mod4c0)) == "{ s := { complement (omit) } }") { setverdict(pass)} else { setverdict(fail) }
195 log(log2str(t_rsocs(tspt_setof_mod4c1)));
196 if( log2str(t_rsocs(tspt_setof_mod4c1)) == "{ s := { complement (\"a\"), \"b\" } }") { setverdict(pass)} else { setverdict(fail) }
197 log(log2str(t_rsocs(tspt_setof_mod4c2)));
198 if( log2str(t_rsocs(tspt_setof_mod4c2)) == "{ s := { complement (\"a\", \"b\"), \"c\" } }") { setverdict(pass)} else { setverdict(fail) }
199 log(log2str(t_rsocs(tspt_setof_mod4c3)));
200 if( log2str(t_rsocs(tspt_setof_mod4c3)) == "{ s := complement({ \"a\" }, { \"a\", \"b\" }, { \"c\" }) }") { setverdict(pass)} else { setverdict(fail) }
201 log(log2str(t_rsocs(tspt_setof_mod4vl)));
202 if( log2str(t_rsocs(tspt_setof_mod4vl)) == "{ s := { (\"a\", \"b\"), (\"cica\", \"macska\", \"cat\") } }") { setverdict(pass)} else { setverdict(fail) }
203 log(log2str(t_rsocs(tspt_setof_mod4superset)));
204 if( log2str(t_rsocs(tspt_setof_mod4superset)) == "{ s := superset(\"a\", \"b\") }") { setverdict(pass)} else { setverdict(fail) }
205 log(log2str(t_rsocs(tspt_setof_mod4supersetl3)));
206 if( log2str(t_rsocs(tspt_setof_mod4supersetl3)) == "{ s := superset(\"a\", \"b\") length (3) }") { setverdict(pass)} else { setverdict(fail) }
207 log(log2str(t_rsocs(tspt_setof_mod4subset)));
208 if( log2str(t_rsocs(tspt_setof_mod4subset)) == "{ s := subset(\"a\", \"b\") }") { setverdict(pass)} else { setverdict(fail) }
211 log(log2str(t_rsocs(tspt_setof_mod4v1ifp)));
212 if( log2str(t_rsocs(tspt_setof_mod4v1ifp)) == "{ s := { \"a\" } ifpresent }") { setverdict(pass)} else { setverdict(fail) }
213 log(log2str(t_rsocs(tspt_setof_mod4v2ifp)));
214 if( log2str(t_rsocs(tspt_setof_mod4v2ifp)) == "{ s := { \"a\", \"b\" } ifpresent }") { setverdict(pass)} else { setverdict(fail) }
215 log(log2str(t_rsocs(tspt_setof_mod4v3ifp)));
216 if( log2str(t_rsocs(tspt_setof_mod4v3ifp)) == "{ s := { \"a\", \"b\", \"c\" } ifpresent }") { setverdict(pass)} else { setverdict(fail) }
217 log(log2str(t_rsocs(tspt_setof_mod4aifp)));
218 if( log2str(t_rsocs(tspt_setof_mod4aifp)) == "{ s := * ifpresent }") { setverdict(pass)} else { setverdict(fail) }
219 log(log2str(t_rsocs(tspt_setof_mod4qifp)));
220 if( log2str(t_rsocs(tspt_setof_mod4qifp)) == "{ s := ? ifpresent }") { setverdict(pass)} else { setverdict(fail) }
221 log(log2str(t_rsocs(tspt_setof_mod4oifp)));
222 if( log2str(t_rsocs(tspt_setof_mod4oifp)) == "{ s := omit ifpresent }") { setverdict(pass)} else { setverdict(fail) }
223 log(log2str(t_rsocs(tspt_setof_mod4c0ifp)));
224 if( log2str(t_rsocs(tspt_setof_mod4c0ifp)) == "{ s := { complement (omit) } ifpresent }") { setverdict(pass)} else { setverdict(fail) }
225 log(log2str(t_rsocs(tspt_setof_mod4c1ifp)));
226 if( log2str(t_rsocs(tspt_setof_mod4c1ifp)) == "{ s := { complement (\"a\"), \"b\" } ifpresent }") { setverdict(pass)} else { setverdict(fail) }
227 log(log2str(t_rsocs(tspt_setof_mod4c2ifp)));
228 if( log2str(t_rsocs(tspt_setof_mod4c2ifp)) == "{ s := { complement (\"a\", \"b\"), \"c\" } ifpresent }") { setverdict(pass)} else { setverdict(fail) }
229 log(log2str(t_rsocs(tspt_setof_mod4c3ifp)));
230 if( log2str(t_rsocs(tspt_setof_mod4c3ifp)) == "{ s := complement({ \"a\" }, { \"a\", \"b\" }, { \"c\" }) ifpresent }") { setverdict(pass)} else { setverdict(fail) }
231 log(log2str(t_rsocs(tspt_setof_mod4vlifp)));
232 if( log2str(t_rsocs(tspt_setof_mod4vlifp)) == "{ s := { (\"a\", \"b\"), (\"cica\", \"macska\", \"cat\") } ifpresent }") { setverdict(pass)} else { setverdict(fail) }
233 log(log2str(t_rsocs(tspt_setof_mod4supersetifp)));
234 if( log2str(t_rsocs(tspt_setof_mod4supersetifp)) == "{ s := superset(\"a\", \"b\") ifpresent }") { setverdict(pass)} else { setverdict(fail) }
235 log(log2str(t_rsocs(tspt_setof_mod4supersetl3ifp)));
236 if( log2str(t_rsocs(tspt_setof_mod4supersetl3ifp)) == "{ s := superset(\"a\", \"b\") length (3) ifpresent }") { setverdict(pass)} else { setverdict(fail) }
237 log(log2str(t_rsocs(tspt_setof_mod4subsetifp)));
238 if( log2str(t_rsocs(tspt_setof_mod4subsetifp)) == "{ s := subset(\"a\", \"b\") ifpresent }") { setverdict(pass)} else { setverdict(fail) }
242 testcase tc_setof_mod4vlifp_emb() runs on MC {
243 log(log2str(t_rsocs(tspt_setof_mod4vlifp)));
244 var RoRSoCS vl_good_values := {{s:=omit}, {s:={"a","cica"} }}
245 var RoRSoCS vl_wrong_values := { {{"c","cica"}} }
246 f_checkMatchingValues_rsocs(t_rsocs(tspt_setof_mod4vlifp),vl_good_values,vl_wrong_values);
249 testcase tc_setof_mod4superset_emb() runs on MC {
250 log(log2str(t_rsocs(tspt_setof_mod4superset)));
251 var RoRSoCS vl_good_values := { {s:={"a","cica","b"} }, {s:={"a","b"} } , {s:={"a","b","a", "d", "anything"} } }
252 var RoRSoCS vl_wrong_values := { {{"b","cica"}}, {{"a","c","anyth"}} }
253 f_checkMatchingValues_rsocs(t_rsocs(tspt_setof_mod4superset),vl_good_values,vl_wrong_values);
256 testcase tc_setof_mod4supersetl3_emb() runs on MC {
257 log(log2str(t_rsocs(tspt_setof_mod4supersetl3)));
258 var RoRSoCS vl_good_values := { {s:={"a","cica","b"} }, {s:={"a","b","a"} } }
259 var RoRSoCS vl_wrong_values := { {{"b","cica"}}, {s:={"a","b","c","dada"} } }
260 f_checkMatchingValues_rsocs(t_rsocs(tspt_setof_mod4supersetl3),vl_good_values,vl_wrong_values);
263 testcase tc_setof_mod4supersetl1_3_emb() runs on MC {
264 log(log2str(t_rsocs(tspt_setof_mod4supersetl1_3)));
265 var RoRSoCS vl_good_values := { {s:={"a","cica","b"} }, {s:={"a","b","a"} }, {s:={"a","b"} } }
266 var RoRSoCS vl_wrong_values := { {{"b","cica"}}, {s:={"a","b","c","dada"} } }
267 f_checkMatchingValues_rsocs(t_rsocs(tspt_setof_mod4supersetl1_3),vl_good_values,vl_wrong_values);
271 testcase tc_setof_mod4supersetifp_emb() runs on MC {
272 log(log2str(t_rsocs(tspt_setof_mod4supersetifp)));
273 var RoRSoCS vl_good_values := {{s:=omit}, {s:={"a","cica","b"} }, {s:={"a","b"} }, {s:={"a","b","b"} } }
274 var RoRSoCS vl_wrong_values := { {{"a","cica"}} }
275 f_checkMatchingValues_rsocs(t_rsocs(tspt_setof_mod4supersetifp),vl_good_values,vl_wrong_values);
278 testcase tc_setof_mod4subset_emb() runs on MC {
279 log(log2str(t_rsocs(tspt_setof_mod4subset)));
280 var RoRSoCS vl_good_values := { {s:={}}, {s:={"a"}}, {s:={"b"}}, {s:={"a","b"} } }
281 var RoRSoCS vl_wrong_values := { {{"b","cica"}} }
282 f_checkMatchingValues_rsocs(t_rsocs(tspt_setof_mod4subset),vl_good_values,vl_wrong_values);
285 testcase tc_setof_mod4subsetifp_emb() runs on MC {
286 log(log2str(t_rsocs(tspt_setof_mod4subsetifp)));
287 var RoRSoCS vl_good_values := {{s:=omit}, {s:={}},{s:={"a"}}, {s:={"b"}}, {s:={"a","b"}} }
288 var RoRSoCS vl_wrong_values := { {{"a","cica"}}, {{"a","cica","b"}} }
289 f_checkMatchingValues_rsocs(t_rsocs(tspt_setof_mod4subsetifp),vl_good_values,vl_wrong_values);
291 //TODO: matching tests
293 //=========================================================================
295 //=========================================================================
298 log("***set of tests ******");
299 execute(tc_setof_ModulePar());
300 execute(tc_setof_ModulePar_emb());
301 execute(tc_setof_mod4vlifp_emb());
302 execute(tc_setof_mod4superset_emb());
303 execute(tc_setof_mod4supersetl3_emb());
304 execute(tc_setof_mod4supersetl1_3_emb());
305 execute(tc_setof_mod4supersetifp_emb());
306 execute(tc_setof_mod4subset_emb());
307 execute(tc_setof_mod4subsetifp_emb());