1 /******************************************************************************
2 * Copyright (c) 2000-2016 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
15 ******************************************************************************/
18 modulepar charstring tsp_moduleScope := __SCOPE__;
22 // ********** Type definitions *********************
25 type record MyRecord {
27 charstring field2 (__SCOPE__) optional
30 type record MyRecord2 {
32 charstring field2 (__SCOPE__)
35 type charstring Char_scope (__SCOPE__);
37 //type enumerated Dummy { Dummy1, Dummy2, __SCOPE__ }; //NOK
41 // *************** Constanst ***********************
42 const charstring c_scope := __SCOPE__;
47 // *************** Templates **********************
50 template MyRecord t_MyTemplate := {
52 //field2 := __SCOPE__ //NOK MyRecord not equal with t_MyTemplate
58 template MyRecord2 t_MyTemplate2 := {
61 //field2 := __SCOPE__ //NOK MyRecord not equal with t_MyTemplate
68 //************* Components ***************
71 type component MyMtcType {
72 const charstring c_Scope:=__SCOPE__;
73 timer T_MyTimer:=0.001;
78 type component MyExtendedC extends MyMtcType {
79 const charstring c_ex := __SCOPE__;
82 //************* Altsteps *****************
85 altstep as_MyAltstep() runs on MyMtcType{
86 [] T_MyTimer.timeout {if(__SCOPE__=="as_MyAltstep"){setverdict(pass);}else {setverdict(fail);}}
91 altstep as_MyAloneAltstep(){
92 [] any timer.timeout {if(__SCOPE__=="as_MyAloneAltstep"){setverdict(pass);}else {setverdict(fail);}}
98 // ************ Functions ****************
100 //for __SCOPE__ macro
101 function f_MyFunction()
103 if(__SCOPE__=="f_MyFunction"){setverdict(pass);}else {setverdict(fail);}
107 //for __SCOPE__ macro
108 function f_MyMtcFunction() runs on MyMtcType
110 if(__SCOPE__=="f_MyMtcFunction"){setverdict(pass);}else {setverdict(fail);}
117 // *********** Testcases ******************
119 //testcase for __SCOPE__ macro
120 testcase tc_scope(charstring p_scope) runs on MyExtendedC{
121 log("/Testing of __SCOPE__ macro/");
123 if(tsp_moduleScope=="Macros"){setverdict(pass);}else {setverdict(fail);}
124 if(c_scope=="Macros"){setverdict(pass);}else {setverdict(fail);}
126 if(p_scope=="control"){setverdict(pass);}else {setverdict(fail);}
127 log("*component type name");
128 if(c_Scope=="MyMtcType"){setverdict(pass);}else {setverdict(fail);}
129 if(c_ex=="MyExtendedC"){setverdict(pass);}else {setverdict(fail);}
130 log("*testcase name");
131 if(__SCOPE__=="tc_scope"){setverdict(pass);}else {setverdict(fail);}
132 log("*altstep name");
139 [] as_MyAloneAltstep();
141 log("*function name");
144 var MyRecord v_record;
145 v_record.field1 := "t_MyTemplate";
146 v_record.field2 := "MyRecord";
147 var MyRecord2 v_record2;
148 v_record2.field1.field1:="t_MyTemplate2";
149 v_record2.field1.field2:="MyRecord";
150 v_record2.field2:="MyRecord2";
151 log("*template, record name");
152 if(match(v_record,t_MyTemplate)){setverdict(pass);}else {setverdict(fail);}
153 if(match(v_record2,t_MyTemplate2)){setverdict(pass);}else {setverdict(fail);}
154 log("*user defined named types");
155 var Char_scope v_charscope := "Char_scope";
156 if(v_charscope=="Char_scope"){setverdict(pass);}else {setverdict(fail);}
159 function f_testcaseId() runs on MyExtendedC {
160 var charstring vl_tcName := %testcaseId;
161 if (vl_tcName=="tc_testcaseId") {setverdict(pass);} else {setverdict(fail);}
164 function f_testcaseId2(boolean b:=true) runs on MyExtendedC {
165 var charstring vl_tcName;
167 vl_tcName := %testcaseId;
169 if (vl_tcName=="tc_testcaseId") {setverdict(pass);} else {setverdict(fail);}
172 testcase tc_testcaseId() runs on MyExtendedC {
173 var charstring vl_tcName;
174 vl_tcName := %testcaseId;
175 if (vl_tcName=="tc_testcaseId") {setverdict(pass);} else {setverdict(fail);}
180 //*********** Control **********
182 execute(tc_scope(__SCOPE__));
183 execute(tc_testcaseId());