Commit | Line | Data |
---|---|---|
970ed795 | 1 | /****************************************************************************** |
3abe9331 | 2 | * Copyright (c) 2000-2015 Ericsson Telecom AB |
970ed795 EL |
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 bitstring_test {\r | |
9 | \r | |
10 | //=========================================================================\r | |
11 | // Import Part\r | |
12 | //=========================================================================\r | |
13 | import from types all;\r | |
14 | import from functions all;\r | |
15 | //=========================================================================\r | |
16 | // Module Parameters\r | |
17 | //=========================================================================\r | |
18 | modulepar template boolean tspt_b_t := true;\r | |
19 | \r | |
20 | modulepar {\r | |
21 | //modulepar bitstrings not modified from cfg file\r | |
22 | template bitstring tspt_bs_v := '01101'B;\r | |
23 | template bitstring tspt_bs_o := omit;\r | |
24 | template bitstring tspt_bs_a := *;\r | |
25 | template bitstring tspt_bs_q := ?;\r | |
26 | template bitstring tspt_bs_al1 := * length(2); //length restriction\r | |
27 | template bitstring tspt_bs_al2 := * length(2..4);\r | |
28 | template bitstring tspt_bs_ql1 := ? length(2);\r | |
29 | template bitstring tspt_bs_ql2 := ? length(2..4);\r | |
30 | template bitstring tspt_bs_vl1 := ('01101'B);\r | |
31 | template bitstring tspt_bs_vl2 := ('01101'B,'1010'B);\r | |
32 | template bitstring tspt_bs_vl3 := ('01101'B,'1010'B,'101'B);\r | |
33 | template bitstring tspt_bs_c1 := complement('01101'B)\r | |
34 | template bitstring tspt_bs_c2 := complement('01101'B,'1010'B);\r | |
35 | template bitstring tspt_bs_c3 := complement('01101'B,'1010'B,'101'B);\r | |
36 | //template bitstring tspt_bs_r1 := ('A'B..'B'B); //range not allowed\r | |
37 | //template bitstring tspt_bs_r2 := ('a'B..'c'B);\r | |
38 | template bitstring tspt_bs_pa := '000*111'B\r | |
39 | template bitstring tspt_bs_pq := '000?111'B\r | |
40 | \r | |
41 | template bitstring tspt_bs_vifp := '01101'B ifpresent;\r | |
42 | template bitstring tspt_bs_oifp := omit ifpresent;\r | |
43 | template bitstring tspt_bs_aifp := * ifpresent;\r | |
44 | template bitstring tspt_bs_qifp := ? ifpresent;\r | |
45 | template bitstring tspt_bs_al1ifp := * length(2) ifpresent; //length restriction\r | |
46 | template bitstring tspt_bs_al2ifp := * length(2..4) ifpresent;\r | |
47 | template bitstring tspt_bs_ql1ifp := ? length(2) ifpresent;\r | |
48 | template bitstring tspt_bs_ql2ifp := ? length(2..4) ifpresent;\r | |
49 | template bitstring tspt_bs_vl1ifp := ('01101'B) ifpresent;\r | |
50 | template bitstring tspt_bs_vl2ifp := ('01101'B,'1010'B) ifpresent;\r | |
51 | template bitstring tspt_bs_vl3ifp := ('01101'B,'1010'B,'101'B) ifpresent;\r | |
52 | template bitstring tspt_bs_c1ifp := complement('01101'B) ifpresent\r | |
53 | template bitstring tspt_bs_c2ifp := complement('01101'B,'1010'B) ifpresent;\r | |
54 | template bitstring tspt_bs_c3ifp := complement('01101'B,'1010'B,'101'B) ifpresent;\r | |
55 | //template bitstring tspt_bs_r1ifp := ('A'B..'B'B) ifpresent; //range not allowed\r | |
56 | //template bitstring tspt_bs_r2ifp := ('a'B..'c'B) ifpresent; //range not allowed\r | |
57 | template bitstring tspt_bs_paifp := '000*111'B ifpresent\r | |
58 | template bitstring tspt_bs_pqifp := '000?111'B ifpresent \r | |
59 | \r | |
60 | //modulepar bitstrings modified from cfg file\r | |
61 | template bitstring tspt_bs_mod4v := * //after mod:'01101';\r | |
62 | template bitstring tspt_bs_mod4o := * //omit;\r | |
63 | template bitstring tspt_bs_mod4a := '0'B //*;\r | |
64 | template bitstring tspt_bs_mod4q := ''B //?;\r | |
65 | template bitstring tspt_bs_mod4al1 := '1'B //* length(2); //length restriction\r | |
66 | template bitstring tspt_bs_mod4al2 := '1010010001'B //mofified for: * length(2..4);\r | |
67 | template bitstring tspt_bs_mod4ql1 := '1010010001'B //mofified for:? length(2);\r | |
68 | template bitstring tspt_bs_mod4ql2 := '1010010001'B //mofified for:? length(2..4);\r | |
69 | template bitstring tspt_bs_mod4vl1 := ('01101'B) //TODO: Adam //It should be mofified for: ('01101'B);\r | |
70 | template bitstring tspt_bs_mod4vl2 := '1010010001'B //mofified for:('01101'B,'1010'B);\r | |
71 | template bitstring tspt_bs_mod4vl3 := '1010010001'B //mofified for:('01101'B,'1010'B,'B12'B);\r | |
72 | template bitstring tspt_bs_mod4c1 := '1010010001'B //mofified for:complement('01101')\r | |
73 | template bitstring tspt_bs_mod4c2 := '1010010001'B //mofified for:complement('01101','1010');\r | |
74 | template bitstring tspt_bs_mod4c3 := '1010010001'B //mofified for:complement('01101','1010','101');\r | |
75 | template bitstring tspt_bs_mod4r1 := '1010010001'B //mofified for:('A'..'B'); //range\r | |
76 | template bitstring tspt_bs_mod4r2 := '1010010001'B //mofified for:('a'..'c');\r | |
77 | template bitstring tspt_bs_mod4pa := '1010010001'B //mofified for:pattern 'abc*123'\r | |
78 | template bitstring tspt_bs_mod4pq := '1010010001'B //mofified for:pattern 'abc?123'\r | |
79 | \r | |
80 | template bitstring tspt_bs_mod4vifp := '1010010001'B //mofified for:'01101' ifpresent;\r | |
81 | template bitstring tspt_bs_mod4oifp := '1010010001'B //mofified for:omit ifpresent;\r | |
82 | template bitstring tspt_bs_mod4aifp := '1010010001'B //mofified for:* ifpresent;\r | |
83 | template bitstring tspt_bs_mod4qifp := '1010010001'B //mofified for:? ifpresent;\r | |
84 | template bitstring tspt_bs_mod4al1ifp := '1010010001'B //mofified for:* length(2) ifpresent; //length restriction\r | |
85 | template bitstring tspt_bs_mod4al2ifp := '1010010001'B //mofified for:* length(2..4) ifpresent;\r | |
86 | template bitstring tspt_bs_mod4ql1ifp := '1010010001'B //mofified for:? length(2) ifpresent;\r | |
87 | template bitstring tspt_bs_mod4ql2ifp := '1010010001'B //mofified for:? length(2..4) ifpresent;\r | |
88 | template bitstring tspt_bs_mod4vl1ifp := ('01101'B) ifpresent //TODO: Adam //It should be mofified for: ('01101'B);\r | |
89 | template bitstring tspt_bs_mod4vl2ifp := '1010010001'B //mofified for:('01101','1010') ifpresent;\r | |
90 | template bitstring tspt_bs_mod4vl3ifp := '1010010001'B //mofified for:('01101','1010','B12') ifpresent;\r | |
91 | template bitstring tspt_bs_mod4c1ifp := '1010010001'B //mofified for:complement('01101') ifpresent\r | |
92 | template bitstring tspt_bs_mod4c2ifp := '1010010001'B //mofified for:complement('01101','1010') ifpresent;\r | |
93 | template bitstring tspt_bs_mod4c3ifp := '1010010001'B //mofified for:complement('01101','1010','101') ifpresent;\r | |
94 | //template bitstring tspt_bs_mod4r1ifp := '1010010001'B //mofified for:('0'B..'1'B) ifpresent; //range\r | |
95 | //template bitstring tspt_bs_mod4r2ifp := '1010010001'B //mofified for:('0'B..'1'B) ifpresent;\r | |
96 | template bitstring tspt_bs_mod4paifp := '1010010001'B //mofified for:pattern 'abc*xyz'B ifpresent\r | |
97 | template bitstring tspt_bs_mod4pqifp := '1010010001'B //mofified for:pattern 'abc?xyz'B ifpresent \r | |
98 | \r | |
99 | }\r | |
100 | \r | |
101 | //=========================================================================\r | |
102 | // Functions\r | |
103 | //=========================================================================\r | |
104 | \r | |
105 | function f_string2ttcn_RBS_t(in charstring pl_rbs, in template RBS pl_expected_result) {\r | |
106 | var template RBS vl_result;\r | |
107 | @try {\r | |
108 | string2ttcn(pl_rbs,vl_result);\r | |
109 | setverdict(pass) \r | |
110 | }\r | |
111 | @catch(err_str) {\r | |
112 | log("string2ttcn() failed: ",err_str);\r | |
113 | setverdict(fail);\r | |
114 | }\r | |
115 | log(pl_expected_result);\r | |
116 | log(vl_result);\r | |
117 | if( log2str(pl_expected_result) == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }\r | |
118 | }\r | |
119 | \r | |
120 | function f_string2ttcn_RBS_t_str(in charstring pl_rec, in charstring pl_expected_result) {\r | |
121 | var template RBS vl_result;\r | |
122 | @try {\r | |
123 | string2ttcn(pl_rec,vl_result);\r | |
124 | setverdict(pass) \r | |
125 | }\r | |
126 | @catch(err_str) {\r | |
127 | log("str2ttcn() failed: ",err_str);\r | |
128 | setverdict(fail);\r | |
129 | }\r | |
130 | log("Expected result: ", pl_expected_result);\r | |
131 | log("Result: ", vl_result);\r | |
132 | if( pl_expected_result == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }\r | |
133 | }\r | |
134 | \r | |
135 | //template string -> variable conversion\r | |
136 | //expected result: error\r | |
137 | function f_string2ttcn_RBS_v(in charstring pl_cs, in template RBS pl_expected_result, in boolean pl_ok_expected) {\r | |
138 | var RBS vl_result;\r | |
139 | if( pl_ok_expected ) {\r | |
140 | @try {\r | |
141 | string2ttcn(pl_cs, vl_result);\r | |
142 | setverdict(pass);\r | |
143 | }\r | |
144 | @catch(err_str) {\r | |
145 | log("string2ttcn() failed: ",err_str);\r | |
146 | setverdict(fail);\r | |
147 | }\r | |
148 | if( log2str(pl_expected_result) == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }\r | |
149 | } \r | |
150 | else \r | |
151 | {\r | |
152 | @try {\r | |
153 | string2ttcn(pl_cs, vl_result);\r | |
154 | setverdict(fail);\r | |
155 | }\r | |
156 | @catch(err_str) {\r | |
157 | log("string2ttcn() conversion error: ",err_str);\r | |
158 | setverdict(pass,"Expected error, ok");\r | |
159 | }\r | |
160 | \r | |
161 | }\r | |
162 | log("Expected result: ",pl_expected_result );\r | |
163 | log("Result: ", vl_result);\r | |
164 | }\r | |
165 | \r | |
166 | //this function is the same but uses\r | |
167 | function f_string2ttcn_RBS_v_str(in charstring pl_cs, charstring pl_expected_result, in boolean pl_ok_expected) {\r | |
168 | var RBS vl_result;\r | |
169 | if( pl_ok_expected ) {\r | |
170 | @try {\r | |
171 | string2ttcn(pl_cs, vl_result);\r | |
172 | setverdict(pass);\r | |
173 | }\r | |
174 | @catch(err_str) {\r | |
175 | log("str2ttcn() failed: ",err_str);\r | |
176 | setverdict(fail);\r | |
177 | }\r | |
178 | if( pl_expected_result == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }\r | |
179 | } \r | |
180 | else \r | |
181 | {\r | |
182 | @try {\r | |
183 | string2ttcn(pl_cs, vl_result);\r | |
184 | setverdict(fail);\r | |
185 | }\r | |
186 | @catch(err_str) {\r | |
187 | log("str2ttcn() conversion error: ",err_str);\r | |
188 | setverdict(pass,"Expected error, ok");\r | |
189 | }\r | |
190 | \r | |
191 | }\r | |
192 | log("Expected result: ", pl_expected_result );\r | |
193 | log("Result: ", vl_result);\r | |
194 | }\r | |
195 | \r | |
196 | //=========================================================================\r | |
197 | // Testcases\r | |
198 | //=========================================================================\r | |
199 | \r | |
200 | \r | |
201 | testcase tc_bs_1() runs on MC {\r | |
202 | var template BitStrings_1_2 vlt_bs := ?;\r | |
203 | log(vlt_bs);\r | |
204 | }\r | |
205 | \r | |
206 | testcase tc_bs_ModulePar_emb() runs on MC {\r | |
207 | log(t_rbs(tspt_bs_mod4v));\r | |
208 | if(log2str(t_rbs(tspt_bs_mod4v)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
209 | log(t_rbs(tspt_bs_mod4o));\r | |
210 | if(log2str(t_rbs(tspt_bs_mod4o)) != "{ bs := omit }") {setverdict(fail)} else {setverdict(pass)};\r | |
211 | log(t_rbs(tspt_bs_mod4a));\r | |
212 | if(log2str(t_rbs(tspt_bs_mod4a)) != "{ bs := * }") {setverdict(fail)} else {setverdict(pass)};\r | |
213 | log(t_rbs(tspt_bs_mod4q));\r | |
214 | if(log2str(t_rbs(tspt_bs_mod4q)) != "{ bs := ? }") {setverdict(fail)} else {setverdict(pass)};\r | |
215 | log(t_rbs(tspt_bs_mod4al1));\r | |
216 | if(log2str(t_rbs(tspt_bs_mod4al1)) != "{ bs := * length (2) }") {setverdict(fail)} else {setverdict(pass)};\r | |
217 | log(t_rbs(tspt_bs_mod4al2));\r | |
218 | if(log2str(t_rbs(tspt_bs_mod4al2)) != "{ bs := * length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};\r | |
219 | log(t_rbs(tspt_bs_mod4ql1));\r | |
220 | if(log2str(t_rbs(tspt_bs_mod4ql1)) != "{ bs := ? length (2) }") {setverdict(fail)} else {setverdict(pass)};\r | |
221 | log(t_rbs(tspt_bs_mod4ql2));\r | |
222 | if(log2str(t_rbs(tspt_bs_mod4ql2)) != "{ bs := ? length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};\r | |
223 | log(">",t_rbs(tspt_bs_mod4vl1),"<");\r | |
224 | if(log2str(t_rbs(tspt_bs_mod4vl1)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
225 | log(t_rbs(tspt_bs_mod4vl2));\r | |
226 | if(log2str(t_rbs(tspt_bs_mod4vl2)) != "{ bs := (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
227 | \r | |
228 | log(t_rbs(tspt_bs_mod4vl3));\r | |
229 | if(log2str(t_rbs(tspt_bs_mod4vl3)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
230 | log(t_rbs(tspt_bs_mod4c1));\r | |
231 | if(log2str(t_rbs(tspt_bs_mod4c1)) != "{ bs := complement (\'01101\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
232 | log(t_rbs(tspt_bs_mod4c2));\r | |
233 | if(log2str(t_rbs(tspt_bs_mod4c2)) != "{ bs := complement (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
234 | log(t_rbs(tspt_bs_mod4c3));\r | |
235 | if(log2str(t_rbs(tspt_bs_mod4c3)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
236 | log(t_rbs(tspt_bs_mod4pa));\r | |
237 | if(log2str(t_rbs(tspt_bs_mod4pa)) != "{ bs := \'000*111\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
238 | log(t_rbs(tspt_bs_mod4pq));\r | |
239 | if(log2str(t_rbs(tspt_bs_mod4pq)) != "{ bs := \'000?111\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
240 | //==\r | |
241 | log(t_rbs(tspt_bs_mod4vifp));\r | |
242 | if(log2str(t_rbs(tspt_bs_mod4vifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
243 | log(t_rbs(tspt_bs_mod4oifp));\r | |
244 | if(log2str(t_rbs(tspt_bs_mod4oifp)) != "{ bs := omit ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
245 | log(t_rbs(tspt_bs_mod4aifp));\r | |
246 | if(log2str(t_rbs(tspt_bs_mod4aifp)) != "{ bs := * ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
247 | log(t_rbs(tspt_bs_mod4qifp));\r | |
248 | if(log2str(t_rbs(tspt_bs_mod4qifp)) != "{ bs := ? ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
249 | log(t_rbs(tspt_bs_mod4al1ifp));\r | |
250 | if(log2str(t_rbs(tspt_bs_mod4al1ifp)) != "{ bs := * length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
251 | log(t_rbs(tspt_bs_mod4al2ifp));\r | |
252 | if(log2str(t_rbs(tspt_bs_mod4al2ifp)) != "{ bs := * length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
253 | log(t_rbs(tspt_bs_mod4ql1ifp));\r | |
254 | if(log2str(t_rbs(tspt_bs_mod4ql1ifp)) != "{ bs := ? length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
255 | log(t_rbs(tspt_bs_mod4ql2ifp));\r | |
256 | if(log2str(t_rbs(tspt_bs_mod4ql2ifp)) != "{ bs := ? length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
257 | log(t_rbs(tspt_bs_mod4vl1ifp));\r | |
258 | if(log2str(t_rbs(tspt_bs_mod4vl1ifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
259 | log(t_rbs(tspt_bs_mod4vl2ifp));\r | |
260 | if(log2str(t_rbs(tspt_bs_mod4vl2ifp)) != "{ bs := (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
261 | log(t_rbs(tspt_bs_mod4vl3ifp));\r | |
262 | if(log2str(t_rbs(tspt_bs_mod4vl3ifp)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
263 | log(t_rbs(tspt_bs_mod4c1ifp));\r | |
264 | if(log2str(t_rbs(tspt_bs_mod4c1ifp)) != "{ bs := complement (\'01101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
265 | log(t_rbs(tspt_bs_mod4c2ifp));\r | |
266 | if(log2str(t_rbs(tspt_bs_mod4c2ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
267 | log(t_rbs(tspt_bs_mod4c3ifp));\r | |
268 | if(log2str(t_rbs(tspt_bs_mod4c3ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
269 | log(t_rbs(tspt_bs_mod4paifp));\r | |
270 | if(log2str(t_rbs(tspt_bs_mod4paifp)) != "{ bs := \'000*111'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
271 | log(t_rbs(tspt_bs_mod4pqifp));\r | |
272 | if(log2str(t_rbs(tspt_bs_mod4pqifp)) != "{ bs := \'000?111\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
273 | }\r | |
274 | \r | |
275 | testcase tc_bs_ttcn2string_emb() runs on MC {\r | |
276 | log(t_rbs(tspt_bs_mod4v));\r | |
277 | if(ttcn2string(t_rbs(tspt_bs_mod4v)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
278 | log(t_rbs(tspt_bs_mod4o));\r | |
279 | if(ttcn2string(t_rbs(tspt_bs_mod4o)) != "{ bs := omit }") {setverdict(fail)} else {setverdict(pass)};\r | |
280 | log(t_rbs(tspt_bs_mod4a));\r | |
281 | if(ttcn2string(t_rbs(tspt_bs_mod4a)) != "{ bs := * }") {setverdict(fail)} else {setverdict(pass)};\r | |
282 | log(t_rbs(tspt_bs_mod4q));\r | |
283 | if(ttcn2string(t_rbs(tspt_bs_mod4q)) != "{ bs := ? }") {setverdict(fail)} else {setverdict(pass)};\r | |
284 | log(t_rbs(tspt_bs_mod4al1));\r | |
285 | if(ttcn2string(t_rbs(tspt_bs_mod4al1)) != "{ bs := * length (2) }") {setverdict(fail)} else {setverdict(pass)};\r | |
286 | log(t_rbs(tspt_bs_mod4al2));\r | |
287 | if(ttcn2string(t_rbs(tspt_bs_mod4al2)) != "{ bs := * length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};\r | |
288 | log(t_rbs(tspt_bs_mod4ql1));\r | |
289 | if(ttcn2string(t_rbs(tspt_bs_mod4ql1)) != "{ bs := ? length (2) }") {setverdict(fail)} else {setverdict(pass)};\r | |
290 | log(t_rbs(tspt_bs_mod4ql2));\r | |
291 | if(ttcn2string(t_rbs(tspt_bs_mod4ql2)) != "{ bs := ? length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};\r | |
292 | log(">",t_rbs(tspt_bs_mod4vl1),"<");\r | |
293 | if(ttcn2string(t_rbs(tspt_bs_mod4vl1)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
294 | log(t_rbs(tspt_bs_mod4vl2));\r | |
295 | if(ttcn2string(t_rbs(tspt_bs_mod4vl2)) != "{ bs := (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
296 | \r | |
297 | log(t_rbs(tspt_bs_mod4vl3));\r | |
298 | if(ttcn2string(t_rbs(tspt_bs_mod4vl3)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
299 | log(t_rbs(tspt_bs_mod4c1));\r | |
300 | if(ttcn2string(t_rbs(tspt_bs_mod4c1)) != "{ bs := complement (\'01101\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
301 | log(t_rbs(tspt_bs_mod4c2));\r | |
302 | if(ttcn2string(t_rbs(tspt_bs_mod4c2)) != "{ bs := complement (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
303 | log(t_rbs(tspt_bs_mod4c3));\r | |
304 | if(ttcn2string(t_rbs(tspt_bs_mod4c3)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};\r | |
305 | log(t_rbs(tspt_bs_mod4pa));\r | |
306 | if(ttcn2string(t_rbs(tspt_bs_mod4pa)) != "{ bs := \'000*111\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
307 | log(t_rbs(tspt_bs_mod4pq));\r | |
308 | if(ttcn2string(t_rbs(tspt_bs_mod4pq)) != "{ bs := \'000?111\'B }") {setverdict(fail)} else {setverdict(pass)};\r | |
309 | //==\r | |
310 | log(t_rbs(tspt_bs_mod4vifp));\r | |
311 | if(ttcn2string(t_rbs(tspt_bs_mod4vifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
312 | log(t_rbs(tspt_bs_mod4oifp));\r | |
313 | if(ttcn2string(t_rbs(tspt_bs_mod4oifp)) != "{ bs := omit ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
314 | log(t_rbs(tspt_bs_mod4aifp));\r | |
315 | if(ttcn2string(t_rbs(tspt_bs_mod4aifp)) != "{ bs := * ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
316 | log(t_rbs(tspt_bs_mod4qifp));\r | |
317 | if(ttcn2string(t_rbs(tspt_bs_mod4qifp)) != "{ bs := ? ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
318 | log(t_rbs(tspt_bs_mod4al1ifp));\r | |
319 | if(ttcn2string(t_rbs(tspt_bs_mod4al1ifp)) != "{ bs := * length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
320 | log(t_rbs(tspt_bs_mod4al2ifp));\r | |
321 | if(ttcn2string(t_rbs(tspt_bs_mod4al2ifp)) != "{ bs := * length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
322 | log(t_rbs(tspt_bs_mod4ql1ifp));\r | |
323 | if(ttcn2string(t_rbs(tspt_bs_mod4ql1ifp)) != "{ bs := ? length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
324 | log(t_rbs(tspt_bs_mod4ql2ifp));\r | |
325 | if(ttcn2string(t_rbs(tspt_bs_mod4ql2ifp)) != "{ bs := ? length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
326 | log(t_rbs(tspt_bs_mod4vl1ifp));\r | |
327 | if(ttcn2string(t_rbs(tspt_bs_mod4vl1ifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
328 | log(t_rbs(tspt_bs_mod4vl2ifp));\r | |
329 | if(ttcn2string(t_rbs(tspt_bs_mod4vl2ifp)) != "{ bs := (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
330 | log(t_rbs(tspt_bs_mod4vl3ifp));\r | |
331 | if(ttcn2string(t_rbs(tspt_bs_mod4vl3ifp)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
332 | log(t_rbs(tspt_bs_mod4c1ifp));\r | |
333 | if(ttcn2string(t_rbs(tspt_bs_mod4c1ifp)) != "{ bs := complement (\'01101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
334 | log(t_rbs(tspt_bs_mod4c2ifp));\r | |
335 | if(ttcn2string(t_rbs(tspt_bs_mod4c2ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
336 | log(t_rbs(tspt_bs_mod4c3ifp));\r | |
337 | if(ttcn2string(t_rbs(tspt_bs_mod4c3ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
338 | log(t_rbs(tspt_bs_mod4paifp));\r | |
339 | if(ttcn2string(t_rbs(tspt_bs_mod4paifp)) != "{ bs := \'000*111'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
340 | log(t_rbs(tspt_bs_mod4pqifp));\r | |
341 | if(ttcn2string(t_rbs(tspt_bs_mod4pqifp)) != "{ bs := \'000?111\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};\r | |
342 | }\r | |
343 | \r | |
344 | //=============== string2ttcn ==============================\r | |
345 | \r | |
346 | testcase tc_bs_string2ttcn_mod4v() runs on MC {\r | |
347 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4v)),t_rbs(tspt_bs_mod4v))\r | |
348 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4v)),t_rbs(tspt_bs_mod4v),true) \r | |
349 | }\r | |
350 | \r | |
351 | testcase tc_bs_string2ttcn_mod4o() runs on MC {\r | |
352 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4o)),t_rbs(tspt_bs_mod4o))\r | |
353 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4o)),t_rbs(tspt_bs_mod4o),true) \r | |
354 | }\r | |
355 | \r | |
356 | testcase tc_bs_string2ttcn_mod4a() runs on MC {\r | |
357 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4a)),t_rbs(tspt_bs_mod4a))\r | |
358 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4a)),t_rbs(tspt_bs_mod4a),false) \r | |
359 | }\r | |
360 | \r | |
361 | testcase tc_bs_string2ttcn_mod4q() runs on MC {\r | |
362 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4q)),t_rbs(tspt_bs_mod4q))\r | |
363 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4q)),t_rbs(tspt_bs_mod4q),false) \r | |
364 | }\r | |
365 | \r | |
366 | testcase tc_bs_string2ttcn_mod4al1() runs on MC {\r | |
367 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al1)),t_rbs(tspt_bs_mod4al1))\r | |
368 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al1)),t_rbs(tspt_bs_mod4al1),false) \r | |
369 | }\r | |
370 | \r | |
371 | testcase tc_bs_string2ttcn_mod4al2() runs on MC {\r | |
372 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al2)),t_rbs(tspt_bs_mod4al2))\r | |
373 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al2)),t_rbs(tspt_bs_mod4al2),false) \r | |
374 | }\r | |
375 | \r | |
376 | \r | |
377 | testcase tc_bs_string2ttcn_mod4ql1() runs on MC {\r | |
378 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql1)),t_rbs(tspt_bs_mod4ql1))\r | |
379 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql1)),t_rbs(tspt_bs_mod4ql1),false) \r | |
380 | }\r | |
381 | \r | |
382 | testcase tc_bs_string2ttcn_mod4ql2() runs on MC {\r | |
383 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql2)),t_rbs(tspt_bs_mod4ql2))\r | |
384 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql2)),t_rbs(tspt_bs_mod4ql2),false) \r | |
385 | }\r | |
386 | \r | |
387 | testcase tc_bs_string2ttcn_mod4vl1() runs on MC {\r | |
388 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl1)),t_rbs(tspt_bs_mod4vl1))\r | |
389 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl1)),t_rbs(tspt_bs_mod4vl1),true) \r | |
390 | }\r | |
391 | \r | |
392 | testcase tc_bs_string2ttcn_mod4vl2() runs on MC {\r | |
393 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl2)),t_rbs(tspt_bs_mod4vl2))\r | |
394 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl2)),t_rbs(tspt_bs_mod4vl2),false) \r | |
395 | }\r | |
396 | \r | |
397 | \r | |
398 | testcase tc_bs_string2ttcn_mod4vifp() runs on MC {\r | |
399 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vifp)),t_rbs(tspt_bs_mod4vifp))\r | |
400 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vifp)),t_rbs(tspt_bs_mod4vifp),false) \r | |
401 | }\r | |
402 | \r | |
403 | testcase tc_bs_string2ttcn_mod4oifp() runs on MC {\r | |
404 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4oifp)),t_rbs(tspt_bs_mod4oifp))\r | |
405 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4oifp)),t_rbs(tspt_bs_mod4oifp),false) \r | |
406 | }\r | |
407 | \r | |
408 | testcase tc_bs_string2ttcn_mod4aifp() runs on MC {\r | |
409 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4aifp)),t_rbs(tspt_bs_mod4aifp))\r | |
410 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4aifp)),t_rbs(tspt_bs_mod4aifp),false) \r | |
411 | }\r | |
412 | \r | |
413 | testcase tc_bs_string2ttcn_mod4qifp() runs on MC {\r | |
414 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4qifp)),t_rbs(tspt_bs_mod4qifp))\r | |
415 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4qifp)),t_rbs(tspt_bs_mod4qifp),false) \r | |
416 | }\r | |
417 | \r | |
418 | testcase tc_bs_string2ttcn_mod4al1ifp() runs on MC {\r | |
419 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al1ifp)),t_rbs(tspt_bs_mod4al1ifp))\r | |
420 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al1ifp)),t_rbs(tspt_bs_mod4al1ifp),false) \r | |
421 | }\r | |
422 | \r | |
423 | testcase tc_bs_string2ttcn_mod4al2ifp() runs on MC {\r | |
424 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al2ifp)),t_rbs(tspt_bs_mod4al2ifp))\r | |
425 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al2ifp)),t_rbs(tspt_bs_mod4al2ifp),false) \r | |
426 | }\r | |
427 | \r | |
428 | \r | |
429 | testcase tc_bs_string2ttcn_mod4ql1ifp() runs on MC {\r | |
430 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql1ifp)),t_rbs(tspt_bs_mod4ql1ifp))\r | |
431 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql1ifp)),t_rbs(tspt_bs_mod4ql1ifp),false) \r | |
432 | }\r | |
433 | \r | |
434 | testcase tc_bs_string2ttcn_mod4ql2ifp() runs on MC {\r | |
435 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql2ifp)),t_rbs(tspt_bs_mod4ql2ifp))\r | |
436 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql2ifp)),t_rbs(tspt_bs_mod4ql2ifp),false) \r | |
437 | }\r | |
438 | \r | |
439 | testcase tc_bs_string2ttcn_mod4vl1ifp() runs on MC {\r | |
440 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl1ifp)),t_rbs(tspt_bs_mod4vl1ifp))\r | |
441 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl1ifp)),t_rbs(tspt_bs_mod4vl1ifp),false) \r | |
442 | }\r | |
443 | \r | |
444 | testcase tc_bs_string2ttcn_mod4vl2ifp() runs on MC {\r | |
445 | f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl2ifp)),t_rbs(tspt_bs_mod4vl2ifp))\r | |
446 | f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl2ifp)),t_rbs(tspt_bs_mod4vl2ifp),false) \r | |
447 | }\r | |
448 | \r | |
449 | //=========================================================================\r | |
450 | // Control\r | |
451 | //=========================================================================\r | |
452 | \r | |
453 | \r | |
454 | control {\r | |
455 | log("***bitstring tests****");\r | |
456 | execute(tc_bs_ModulePar_emb());\r | |
457 | execute(tc_bs_ttcn2string_emb());\r | |
458 | execute(tc_bs_string2ttcn_mod4v());\r | |
459 | execute(tc_bs_string2ttcn_mod4o());\r | |
460 | execute(tc_bs_string2ttcn_mod4a());\r | |
461 | execute(tc_bs_string2ttcn_mod4q());\r | |
462 | execute(tc_bs_string2ttcn_mod4al1());\r | |
463 | execute(tc_bs_string2ttcn_mod4al2());\r | |
464 | execute(tc_bs_string2ttcn_mod4ql1());\r | |
465 | execute(tc_bs_string2ttcn_mod4ql2());\r | |
466 | execute(tc_bs_string2ttcn_mod4vl1());\r | |
467 | execute(tc_bs_string2ttcn_mod4vl2());\r | |
468 | //execute(tc_bs_string2ttcn_mod4vl3()); \r | |
469 | \r | |
470 | execute(tc_bs_string2ttcn_mod4vifp());\r | |
471 | execute(tc_bs_string2ttcn_mod4oifp());\r | |
472 | execute(tc_bs_string2ttcn_mod4aifp());\r | |
473 | execute(tc_bs_string2ttcn_mod4qifp());\r | |
474 | execute(tc_bs_string2ttcn_mod4al1ifp());\r | |
475 | execute(tc_bs_string2ttcn_mod4al2ifp());\r | |
476 | execute(tc_bs_string2ttcn_mod4ql1ifp());\r | |
477 | execute(tc_bs_string2ttcn_mod4ql2ifp());\r | |
478 | execute(tc_bs_string2ttcn_mod4vl1ifp());\r | |
479 | execute(tc_bs_string2ttcn_mod4vl2ifp());\r | |
480 | }\r | |
481 | \r | |
482 | } |