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 ******************************************************************************/
9 { type component verdictOper_mycomp {};
10 const verdicttype verdictOper_const1:=fail;
12 testcase verdictAssign() runs on verdictOper_mycomp {
13 var verdicttype x1:=inconc;
16 if (x1==inconc) {setverdict(pass);} //at declaration
17 else {setverdict(fail);}
18 if (x2==pass) {setverdict(pass);} //later
19 else {setverdict(fail);}
22 testcase verdictConst() runs on verdictOper_mycomp {
23 const verdicttype const1:=inconc;
24 if (verdictOper_const1==fail) {setverdict(pass);} //definition part declaration
25 else {setverdict(fail);}
26 if (const1==inconc) {setverdict(pass);} //testcase
27 else {setverdict(fail);}
31 testcase verdictCompEq() runs on verdictOper_mycomp {
32 var verdicttype x1,x2,x3;
36 if (x1==x2) {setverdict(pass);} //variable_variable
37 else {setverdict(fail);}
38 if (not(x3==x2)) {setverdict(pass);} //variable_variable
39 else {setverdict(fail);}
40 if (x1==pass) {setverdict(pass);} //variable_value
41 else {setverdict(fail);}
42 if (not(x1==fail)) {setverdict(pass);} //variable_value
43 else {setverdict(fail);}
44 if (pass==x1) {setverdict(pass);} //value_variable
45 else {setverdict(fail);}
46 if (not(inconc==x1)) {setverdict(pass);} //value_variable
47 else {setverdict(fail);}
48 if (pass==pass) {setverdict(pass);} //value_value
49 else {setverdict(fail);}
50 if (not(pass==fail)) {setverdict(pass);} //value_value
51 else {setverdict(fail);}
54 testcase verdictCompNotEq() runs on verdictOper_mycomp
55 { var verdicttype x1,x2,x3;
59 if (x1!=x2) {setverdict(pass);} //variable_variable
60 else {setverdict(fail);}
61 if (not(x1!=x3)) {setverdict(pass);} //variable_variable
62 else {setverdict(fail);}
63 if (x1!=fail) {setverdict(pass);} //variable_value
64 else {setverdict(fail);}
65 if (not(x1!=pass)) {setverdict(pass);} //variable_value
66 else {setverdict(fail);}
67 if (pass!=x2) {setverdict(pass);} //value_variable
68 else {setverdict(fail);}
69 if (not(fail!=x2)) {setverdict(pass);} //value_variable
70 else {setverdict(fail);}
71 if (inconc!=fail) {setverdict(pass);} //value_value
72 else {setverdict(fail);}
73 if (not(pass!=pass)) {setverdict(pass);} //value_value
74 else {setverdict(fail);}
77 testcase verdictSetGet() runs on verdictOper_mycomp {
79 if (getverdict != none) { setverdict(fail); stop; }
82 if (x1 != pass) { setverdict(fail); stop; }
85 testcase verdictSet_None() runs on verdictOper_mycomp {
89 testcase verdictSet_n_None() runs on verdictOper_mycomp {
93 testcase verdictSet_p_Pass() runs on verdictOper_mycomp {
97 testcase verdictSet_i_Inconc() runs on verdictOper_mycomp {
101 testcase verdictSet_f_Fail() runs on verdictOper_mycomp {
102 setverdict(fail, "fail alone is fail");
105 testcase verdictSet_p_i_Inconc() runs on verdictOper_mycomp {
110 testcase verdictSet_p_f_Fail() runs on verdictOper_mycomp {
112 setverdict(fail, "fail after pass is fail");
115 testcase verdictSet_p_n_Pass() runs on verdictOper_mycomp {
120 testcase verdictSet_i_p_Inconc() runs on verdictOper_mycomp {
125 testcase verdictSet_i_f_Fail() runs on verdictOper_mycomp {
130 testcase verdictSet_i_n_Inconc() runs on verdictOper_mycomp {
135 testcase verdictSet_f_p_Fail() runs on verdictOper_mycomp {
137 setverdict(pass, "pass after fail is still fail");
140 testcase verdictSet_f_i_Fail() runs on verdictOper_mycomp {
145 testcase verdictSet_f_n_Fail() runs on verdictOper_mycomp {
150 testcase verdictSet_n_p_Pass() runs on verdictOper_mycomp {
155 testcase verdictSet_n_i_Inconc() runs on verdictOper_mycomp {
160 testcase verdictSet_n_f_Fail() runs on verdictOper_mycomp {
165 /*--- VERDICT REASON -----------------------------------------------*/
167 modulepar octetstring VR_mp := '12353425'O;
168 const float VR_fl := 1.0;
174 testcase verdict_reason() runs on verdictOper_mycomp {
176 template VR_rec VR_tmpl := { i := 1235, b := true};
177 var integer VR_int := 5;
179 timer VR_timer := 5.0;
182 setverdict(pass, "Module parameter identifier: ", VR_mp);
183 setverdict(pass, "Literal value: ", "this is the value");
184 setverdict(pass, "Data constant identifier: ", VR_fl);
185 setverdict(pass, "Template instance: ", VR_tmpl);
186 setverdict(pass, "Data type variable identifier: ", VR_int);
187 setverdict(pass, "Uninitialized data type variable identifier: ", VR_bool);
188 setverdict(pass, "self component type variable identifier: ", self);
189 setverdict(pass, "mtc component type variable identifier: ", mtc);
190 setverdict(pass, "system component type variable identifier: ", system);
191 setverdict(pass, "Timer running operation: ", VR_timer.running);
192 setverdict(pass, "Timer name: ", VR_timer);
193 setverdict(pass, "Getverdict operation: ", getverdict);
194 setverdict(pass, "More parameters: ", getverdict, system, self, VR_tmpl, VR_mp, "and this is the and of all logging...");
198 type verdicttype typedefbasic_myverdt;
199 type verdicttype myv1 (pass, fail, none, inconc)
201 type verdicttype myv3 (error)
202 type verdicttype myv4 (myv1, myv3)
203 const myv1 c_myv1 := pass
204 const myv4 c_myv2 := none
205 template myv1 t_myv1 := f_v1()
206 template myv1 t_myv2 := f_v2()
207 template myv4 t_myv3 := fail
209 modulepar myv1 mod1 := c_myv1
211 function f_v1() return myv1 { return inconc }
212 function f_v2() return myv1 { return c_myv1 }
214 testcase verdictSubtypes() runs on verdictOper_mycomp {
215 if (pass == mod1 and mod1 == pass and f_v1() != f_v2()) { setverdict(pass) }
216 else { setverdict(fail) }
217 var template myv3 vt_v1 := error
218 var myv3 v_v1 := valueof(vt_v1)
219 if (error == v_v1 and match(error, vt_v1)) { setverdict(pass) }
220 else { setverdict(fail) }
223 testcase verdictIsbound() runs on verdictOper_mycomp {
225 var verdicttype v1 := pass;
226 if ( isvalue(v0) ) { setverdict(fail); } else { setverdict(pass); };
227 if ( isvalue(v1) ) { setverdict(pass); } else { setverdict(fail); };
231 var integer fault_count := 0;
232 if (execute(verdictAssign()) != pass) {
233 log("Test case verdictAssign has unexpected verdict.");
234 fault_count := fault_count + 1;
236 if (execute(verdictConst()) != pass) {
237 log("Test case verdictConst has unexpected verdict.");
238 fault_count := fault_count + 1;
240 if (execute(verdictCompEq()) != pass) {
241 log("Test case verdictCompEq has unexpected verdict.");
242 fault_count := fault_count + 1;
244 if (execute(verdictCompNotEq()) != pass) {
245 log("Test case verdictCompNotEq has unexpected verdict.");
246 fault_count := fault_count + 1;
248 if (execute(verdictSetGet()) != pass) {
249 log("Test case verdictSetGet has unexpected verdict.");
250 fault_count := fault_count + 1;
252 if (execute(verdictSet_None()) != none) {
253 log("Test case verdictSet_None has unexpected verdict.");
254 fault_count := fault_count + 1;
256 if (execute(verdictSet_n_None()) != none) {
257 log("Test case verdictSet_n_None has unexpected verdict.");
258 fault_count := fault_count + 1;
260 if (execute(verdictSet_p_Pass()) != pass) {
261 log("Test case verdictSet_p_Pass has unexpected verdict.");
262 fault_count := fault_count + 1;
264 if (execute(verdictSet_i_Inconc()) != inconc) {
265 log("Test case verdictSet_i_Inconc has unexpected verdict.");
266 fault_count := fault_count + 1;
268 if (execute(verdictSet_f_Fail()) != fail) {
269 log("Test case verdictSet_f_Fail has unexpected verdict.");
270 fault_count := fault_count + 1;
272 if (execute(verdictSet_p_i_Inconc()) != inconc) {
273 log("Test case verdictSet_p_i_Inconc has unexpected verdict.");
274 fault_count := fault_count + 1;
276 if (execute(verdictSet_p_f_Fail()) != fail) {
277 log("Test case verdictSet_p_f_Fail has unexpected verdict.");
278 fault_count := fault_count + 1;
280 if (execute(verdictSet_p_n_Pass()) != pass) {
281 log("Test case verdictSet_p_n_Pass has unexpected verdict.");
282 fault_count := fault_count + 1;
284 if (execute(verdictSet_i_p_Inconc()) != inconc) {
285 log("Test case verdictSet_i_p_Inconc has unexpected verdict.");
286 fault_count := fault_count + 1;
288 if (execute(verdictSet_i_f_Fail()) != fail) {
289 log("Test case verdictSet_i_f_Fail has unexpected verdict.");
290 fault_count := fault_count + 1;
292 if (execute(verdictSet_i_n_Inconc()) != inconc) {
293 log("Test case verdictSet_i_n_Inconc has unexpected verdict.");
294 fault_count := fault_count + 1;
296 if (execute(verdictSet_f_p_Fail()) != fail) {
297 log("Test case verdictSet_f_p_Fail has unexpected verdict.");
298 fault_count := fault_count + 1;
300 if (execute(verdictSet_f_i_Fail()) != fail) {
301 log("Test case verdictSet_f_i_Fail has unexpected verdict.");
302 fault_count := fault_count + 1;
304 if (execute(verdictSet_f_n_Fail()) != fail) {
305 log("Test case verdictSet_f_n_Fail has unexpected verdict.");
306 fault_count := fault_count + 1;
308 if (execute(verdictSet_n_p_Pass()) != pass) {
309 log("Test case verdictSet_n_p_Pass has unexpected verdict.");
310 fault_count := fault_count + 1;
312 if (execute(verdictSet_n_i_Inconc()) != inconc) {
313 log("Test case verdictSet_n_i_Inconc has unexpected verdict.");
314 fault_count := fault_count + 1;
316 if (execute(verdictSet_n_f_Fail()) != fail) {
317 log("Test case verdictSet_n_f_Fail has unexpected verdict.");
318 fault_count := fault_count + 1;
320 if (execute(verdict_reason()) != pass) {
321 log("Test case verdict_reason has unexpected verdict.");
322 fault_count := fault_count + 1;
324 if (execute(verdictSubtypes()) != pass) {
325 log("Test case verdictSubtypes() has unexpected verdict.");
326 fault_count := fault_count + 1;
328 if (execute(verdictIsbound()) != pass) {
329 log("Test case verdictSubtypes() has unexpected verdict.");
330 fault_count := fault_count + 1;
332 if (fault_count == 0) {
333 log("ALL TEST CASES HAVE PASSED!!!");
336 log("NUMBER OF FAILED TEST CASES: ", fault_count);
337 // this will cause an error