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 ******************************************************************************/
8 module bitstring_test {
10 //=========================================================================
12 //=========================================================================
13 import from types all;
14 import from functions all;
15 //=========================================================================
17 //=========================================================================
18 modulepar template boolean tspt_b_t := true;
21 //modulepar bitstrings not modified from cfg file
22 template bitstring tspt_bs_v := '01101'B;
23 template bitstring tspt_bs_o := omit;
24 template bitstring tspt_bs_a := *;
25 template bitstring tspt_bs_q := ?;
26 template bitstring tspt_bs_al1 := * length(2); //length restriction
27 template bitstring tspt_bs_al2 := * length(2..4);
28 template bitstring tspt_bs_ql1 := ? length(2);
29 template bitstring tspt_bs_ql2 := ? length(2..4);
30 template bitstring tspt_bs_vl1 := ('01101'B);
31 template bitstring tspt_bs_vl2 := ('01101'B,'1010'B);
32 template bitstring tspt_bs_vl3 := ('01101'B,'1010'B,'101'B);
33 template bitstring tspt_bs_c1 := complement('01101'B)
34 template bitstring tspt_bs_c2 := complement('01101'B,'1010'B);
35 template bitstring tspt_bs_c3 := complement('01101'B,'1010'B,'101'B);
36 //template bitstring tspt_bs_r1 := ('A'B..'B'B); //range not allowed
37 //template bitstring tspt_bs_r2 := ('a'B..'c'B);
38 template bitstring tspt_bs_pa := '000*111'B
39 template bitstring tspt_bs_pq := '000?111'B
41 template bitstring tspt_bs_vifp := '01101'B ifpresent;
42 template bitstring tspt_bs_oifp := omit ifpresent;
43 template bitstring tspt_bs_aifp := * ifpresent;
44 template bitstring tspt_bs_qifp := ? ifpresent;
45 template bitstring tspt_bs_al1ifp := * length(2) ifpresent; //length restriction
46 template bitstring tspt_bs_al2ifp := * length(2..4) ifpresent;
47 template bitstring tspt_bs_ql1ifp := ? length(2) ifpresent;
48 template bitstring tspt_bs_ql2ifp := ? length(2..4) ifpresent;
49 template bitstring tspt_bs_vl1ifp := ('01101'B) ifpresent;
50 template bitstring tspt_bs_vl2ifp := ('01101'B,'1010'B) ifpresent;
51 template bitstring tspt_bs_vl3ifp := ('01101'B,'1010'B,'101'B) ifpresent;
52 template bitstring tspt_bs_c1ifp := complement('01101'B) ifpresent
53 template bitstring tspt_bs_c2ifp := complement('01101'B,'1010'B) ifpresent;
54 template bitstring tspt_bs_c3ifp := complement('01101'B,'1010'B,'101'B) ifpresent;
55 //template bitstring tspt_bs_r1ifp := ('A'B..'B'B) ifpresent; //range not allowed
56 //template bitstring tspt_bs_r2ifp := ('a'B..'c'B) ifpresent; //range not allowed
57 template bitstring tspt_bs_paifp := '000*111'B ifpresent
58 template bitstring tspt_bs_pqifp := '000?111'B ifpresent
60 //modulepar bitstrings modified from cfg file
61 template bitstring tspt_bs_mod4v := * //after mod:'01101';
62 template bitstring tspt_bs_mod4o := * //omit;
63 template bitstring tspt_bs_mod4a := '0'B //*;
64 template bitstring tspt_bs_mod4q := ''B //?;
65 template bitstring tspt_bs_mod4al1 := '1'B //* length(2); //length restriction
66 template bitstring tspt_bs_mod4al2 := '1010010001'B //mofified for: * length(2..4);
67 template bitstring tspt_bs_mod4ql1 := '1010010001'B //mofified for:? length(2);
68 template bitstring tspt_bs_mod4ql2 := '1010010001'B //mofified for:? length(2..4);
69 template bitstring tspt_bs_mod4vl1 := ('01101'B) //TODO: Adam //It should be mofified for: ('01101'B);
70 template bitstring tspt_bs_mod4vl2 := '1010010001'B //mofified for:('01101'B,'1010'B);
71 template bitstring tspt_bs_mod4vl3 := '1010010001'B //mofified for:('01101'B,'1010'B,'B12'B);
72 template bitstring tspt_bs_mod4c1 := '1010010001'B //mofified for:complement('01101')
73 template bitstring tspt_bs_mod4c2 := '1010010001'B //mofified for:complement('01101','1010');
74 template bitstring tspt_bs_mod4c3 := '1010010001'B //mofified for:complement('01101','1010','101');
75 template bitstring tspt_bs_mod4r1 := '1010010001'B //mofified for:('A'..'B'); //range
76 template bitstring tspt_bs_mod4r2 := '1010010001'B //mofified for:('a'..'c');
77 template bitstring tspt_bs_mod4pa := '1010010001'B //mofified for:pattern 'abc*123'
78 template bitstring tspt_bs_mod4pq := '1010010001'B //mofified for:pattern 'abc?123'
80 template bitstring tspt_bs_mod4vifp := '1010010001'B //mofified for:'01101' ifpresent;
81 template bitstring tspt_bs_mod4oifp := '1010010001'B //mofified for:omit ifpresent;
82 template bitstring tspt_bs_mod4aifp := '1010010001'B //mofified for:* ifpresent;
83 template bitstring tspt_bs_mod4qifp := '1010010001'B //mofified for:? ifpresent;
84 template bitstring tspt_bs_mod4al1ifp := '1010010001'B //mofified for:* length(2) ifpresent; //length restriction
85 template bitstring tspt_bs_mod4al2ifp := '1010010001'B //mofified for:* length(2..4) ifpresent;
86 template bitstring tspt_bs_mod4ql1ifp := '1010010001'B //mofified for:? length(2) ifpresent;
87 template bitstring tspt_bs_mod4ql2ifp := '1010010001'B //mofified for:? length(2..4) ifpresent;
88 template bitstring tspt_bs_mod4vl1ifp := ('01101'B) ifpresent //TODO: Adam //It should be mofified for: ('01101'B);
89 template bitstring tspt_bs_mod4vl2ifp := '1010010001'B //mofified for:('01101','1010') ifpresent;
90 template bitstring tspt_bs_mod4vl3ifp := '1010010001'B //mofified for:('01101','1010','B12') ifpresent;
91 template bitstring tspt_bs_mod4c1ifp := '1010010001'B //mofified for:complement('01101') ifpresent
92 template bitstring tspt_bs_mod4c2ifp := '1010010001'B //mofified for:complement('01101','1010') ifpresent;
93 template bitstring tspt_bs_mod4c3ifp := '1010010001'B //mofified for:complement('01101','1010','101') ifpresent;
94 //template bitstring tspt_bs_mod4r1ifp := '1010010001'B //mofified for:('0'B..'1'B) ifpresent; //range
95 //template bitstring tspt_bs_mod4r2ifp := '1010010001'B //mofified for:('0'B..'1'B) ifpresent;
96 template bitstring tspt_bs_mod4paifp := '1010010001'B //mofified for:pattern 'abc*xyz'B ifpresent
97 template bitstring tspt_bs_mod4pqifp := '1010010001'B //mofified for:pattern 'abc?xyz'B ifpresent
101 //=========================================================================
103 //=========================================================================
105 function f_string2ttcn_RBS_t(in charstring pl_rbs, in template RBS pl_expected_result) {
106 var template RBS vl_result;
108 string2ttcn(pl_rbs,vl_result);
112 log("string2ttcn() failed: ",err_str);
115 log(pl_expected_result);
117 if( log2str(pl_expected_result) == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }
120 function f_string2ttcn_RBS_t_str(in charstring pl_rec, in charstring pl_expected_result) {
121 var template RBS vl_result;
123 string2ttcn(pl_rec,vl_result);
127 log("str2ttcn() failed: ",err_str);
130 log("Expected result: ", pl_expected_result);
131 log("Result: ", vl_result);
132 if( pl_expected_result == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }
135 //template string -> variable conversion
136 //expected result: error
137 function f_string2ttcn_RBS_v(in charstring pl_cs, in template RBS pl_expected_result, in boolean pl_ok_expected) {
139 if( pl_ok_expected ) {
141 string2ttcn(pl_cs, vl_result);
145 log("string2ttcn() failed: ",err_str);
148 if( log2str(pl_expected_result) == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }
153 string2ttcn(pl_cs, vl_result);
157 log("string2ttcn() conversion error: ",err_str);
158 setverdict(pass,"Expected error, ok");
162 log("Expected result: ",pl_expected_result );
163 log("Result: ", vl_result);
166 //this function is the same but uses
167 function f_string2ttcn_RBS_v_str(in charstring pl_cs, charstring pl_expected_result, in boolean pl_ok_expected) {
169 if( pl_ok_expected ) {
171 string2ttcn(pl_cs, vl_result);
175 log("str2ttcn() failed: ",err_str);
178 if( pl_expected_result == log2str(vl_result) ) { setverdict(pass) } else { setverdict(fail) }
183 string2ttcn(pl_cs, vl_result);
187 log("str2ttcn() conversion error: ",err_str);
188 setverdict(pass,"Expected error, ok");
192 log("Expected result: ", pl_expected_result );
193 log("Result: ", vl_result);
196 //=========================================================================
198 //=========================================================================
201 testcase tc_bs_1() runs on MC {
202 var template BitStrings_1_2 vlt_bs := ?;
206 testcase tc_bs_ModulePar_emb() runs on MC {
207 log(t_rbs(tspt_bs_mod4v));
208 if(log2str(t_rbs(tspt_bs_mod4v)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};
209 log(t_rbs(tspt_bs_mod4o));
210 if(log2str(t_rbs(tspt_bs_mod4o)) != "{ bs := omit }") {setverdict(fail)} else {setverdict(pass)};
211 log(t_rbs(tspt_bs_mod4a));
212 if(log2str(t_rbs(tspt_bs_mod4a)) != "{ bs := * }") {setverdict(fail)} else {setverdict(pass)};
213 log(t_rbs(tspt_bs_mod4q));
214 if(log2str(t_rbs(tspt_bs_mod4q)) != "{ bs := ? }") {setverdict(fail)} else {setverdict(pass)};
215 log(t_rbs(tspt_bs_mod4al1));
216 if(log2str(t_rbs(tspt_bs_mod4al1)) != "{ bs := * length (2) }") {setverdict(fail)} else {setverdict(pass)};
217 log(t_rbs(tspt_bs_mod4al2));
218 if(log2str(t_rbs(tspt_bs_mod4al2)) != "{ bs := * length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};
219 log(t_rbs(tspt_bs_mod4ql1));
220 if(log2str(t_rbs(tspt_bs_mod4ql1)) != "{ bs := ? length (2) }") {setverdict(fail)} else {setverdict(pass)};
221 log(t_rbs(tspt_bs_mod4ql2));
222 if(log2str(t_rbs(tspt_bs_mod4ql2)) != "{ bs := ? length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};
223 log(">",t_rbs(tspt_bs_mod4vl1),"<");
224 if(log2str(t_rbs(tspt_bs_mod4vl1)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};
225 log(t_rbs(tspt_bs_mod4vl2));
226 if(log2str(t_rbs(tspt_bs_mod4vl2)) != "{ bs := (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};
228 log(t_rbs(tspt_bs_mod4vl3));
229 if(log2str(t_rbs(tspt_bs_mod4vl3)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};
230 log(t_rbs(tspt_bs_mod4c1));
231 if(log2str(t_rbs(tspt_bs_mod4c1)) != "{ bs := complement (\'01101\'B) }") {setverdict(fail)} else {setverdict(pass)};
232 log(t_rbs(tspt_bs_mod4c2));
233 if(log2str(t_rbs(tspt_bs_mod4c2)) != "{ bs := complement (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};
234 log(t_rbs(tspt_bs_mod4c3));
235 if(log2str(t_rbs(tspt_bs_mod4c3)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};
236 log(t_rbs(tspt_bs_mod4pa));
237 if(log2str(t_rbs(tspt_bs_mod4pa)) != "{ bs := \'000*111\'B }") {setverdict(fail)} else {setverdict(pass)};
238 log(t_rbs(tspt_bs_mod4pq));
239 if(log2str(t_rbs(tspt_bs_mod4pq)) != "{ bs := \'000?111\'B }") {setverdict(fail)} else {setverdict(pass)};
241 log(t_rbs(tspt_bs_mod4vifp));
242 if(log2str(t_rbs(tspt_bs_mod4vifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
243 log(t_rbs(tspt_bs_mod4oifp));
244 if(log2str(t_rbs(tspt_bs_mod4oifp)) != "{ bs := omit ifpresent }") {setverdict(fail)} else {setverdict(pass)};
245 log(t_rbs(tspt_bs_mod4aifp));
246 if(log2str(t_rbs(tspt_bs_mod4aifp)) != "{ bs := * ifpresent }") {setverdict(fail)} else {setverdict(pass)};
247 log(t_rbs(tspt_bs_mod4qifp));
248 if(log2str(t_rbs(tspt_bs_mod4qifp)) != "{ bs := ? ifpresent }") {setverdict(fail)} else {setverdict(pass)};
249 log(t_rbs(tspt_bs_mod4al1ifp));
250 if(log2str(t_rbs(tspt_bs_mod4al1ifp)) != "{ bs := * length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
251 log(t_rbs(tspt_bs_mod4al2ifp));
252 if(log2str(t_rbs(tspt_bs_mod4al2ifp)) != "{ bs := * length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
253 log(t_rbs(tspt_bs_mod4ql1ifp));
254 if(log2str(t_rbs(tspt_bs_mod4ql1ifp)) != "{ bs := ? length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
255 log(t_rbs(tspt_bs_mod4ql2ifp));
256 if(log2str(t_rbs(tspt_bs_mod4ql2ifp)) != "{ bs := ? length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
257 log(t_rbs(tspt_bs_mod4vl1ifp));
258 if(log2str(t_rbs(tspt_bs_mod4vl1ifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
259 log(t_rbs(tspt_bs_mod4vl2ifp));
260 if(log2str(t_rbs(tspt_bs_mod4vl2ifp)) != "{ bs := (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
261 log(t_rbs(tspt_bs_mod4vl3ifp));
262 if(log2str(t_rbs(tspt_bs_mod4vl3ifp)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
263 log(t_rbs(tspt_bs_mod4c1ifp));
264 if(log2str(t_rbs(tspt_bs_mod4c1ifp)) != "{ bs := complement (\'01101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
265 log(t_rbs(tspt_bs_mod4c2ifp));
266 if(log2str(t_rbs(tspt_bs_mod4c2ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
267 log(t_rbs(tspt_bs_mod4c3ifp));
268 if(log2str(t_rbs(tspt_bs_mod4c3ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
269 log(t_rbs(tspt_bs_mod4paifp));
270 if(log2str(t_rbs(tspt_bs_mod4paifp)) != "{ bs := \'000*111'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
271 log(t_rbs(tspt_bs_mod4pqifp));
272 if(log2str(t_rbs(tspt_bs_mod4pqifp)) != "{ bs := \'000?111\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
275 testcase tc_bs_ttcn2string_emb() runs on MC {
276 log(t_rbs(tspt_bs_mod4v));
277 if(ttcn2string(t_rbs(tspt_bs_mod4v)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};
278 log(t_rbs(tspt_bs_mod4o));
279 if(ttcn2string(t_rbs(tspt_bs_mod4o)) != "{ bs := omit }") {setverdict(fail)} else {setverdict(pass)};
280 log(t_rbs(tspt_bs_mod4a));
281 if(ttcn2string(t_rbs(tspt_bs_mod4a)) != "{ bs := * }") {setverdict(fail)} else {setverdict(pass)};
282 log(t_rbs(tspt_bs_mod4q));
283 if(ttcn2string(t_rbs(tspt_bs_mod4q)) != "{ bs := ? }") {setverdict(fail)} else {setverdict(pass)};
284 log(t_rbs(tspt_bs_mod4al1));
285 if(ttcn2string(t_rbs(tspt_bs_mod4al1)) != "{ bs := * length (2) }") {setverdict(fail)} else {setverdict(pass)};
286 log(t_rbs(tspt_bs_mod4al2));
287 if(ttcn2string(t_rbs(tspt_bs_mod4al2)) != "{ bs := * length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};
288 log(t_rbs(tspt_bs_mod4ql1));
289 if(ttcn2string(t_rbs(tspt_bs_mod4ql1)) != "{ bs := ? length (2) }") {setverdict(fail)} else {setverdict(pass)};
290 log(t_rbs(tspt_bs_mod4ql2));
291 if(ttcn2string(t_rbs(tspt_bs_mod4ql2)) != "{ bs := ? length (2 .. 4) }") {setverdict(fail)} else {setverdict(pass)};
292 log(">",t_rbs(tspt_bs_mod4vl1),"<");
293 if(ttcn2string(t_rbs(tspt_bs_mod4vl1)) != "{ bs := \'01101\'B }") {setverdict(fail)} else {setverdict(pass)};
294 log(t_rbs(tspt_bs_mod4vl2));
295 if(ttcn2string(t_rbs(tspt_bs_mod4vl2)) != "{ bs := (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};
297 log(t_rbs(tspt_bs_mod4vl3));
298 if(ttcn2string(t_rbs(tspt_bs_mod4vl3)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};
299 log(t_rbs(tspt_bs_mod4c1));
300 if(ttcn2string(t_rbs(tspt_bs_mod4c1)) != "{ bs := complement (\'01101\'B) }") {setverdict(fail)} else {setverdict(pass)};
301 log(t_rbs(tspt_bs_mod4c2));
302 if(ttcn2string(t_rbs(tspt_bs_mod4c2)) != "{ bs := complement (\'01101\'B, \'1010\'B) }") {setverdict(fail)} else {setverdict(pass)};
303 log(t_rbs(tspt_bs_mod4c3));
304 if(ttcn2string(t_rbs(tspt_bs_mod4c3)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) }") {setverdict(fail)} else {setverdict(pass)};
305 log(t_rbs(tspt_bs_mod4pa));
306 if(ttcn2string(t_rbs(tspt_bs_mod4pa)) != "{ bs := \'000*111\'B }") {setverdict(fail)} else {setverdict(pass)};
307 log(t_rbs(tspt_bs_mod4pq));
308 if(ttcn2string(t_rbs(tspt_bs_mod4pq)) != "{ bs := \'000?111\'B }") {setverdict(fail)} else {setverdict(pass)};
310 log(t_rbs(tspt_bs_mod4vifp));
311 if(ttcn2string(t_rbs(tspt_bs_mod4vifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
312 log(t_rbs(tspt_bs_mod4oifp));
313 if(ttcn2string(t_rbs(tspt_bs_mod4oifp)) != "{ bs := omit ifpresent }") {setverdict(fail)} else {setverdict(pass)};
314 log(t_rbs(tspt_bs_mod4aifp));
315 if(ttcn2string(t_rbs(tspt_bs_mod4aifp)) != "{ bs := * ifpresent }") {setverdict(fail)} else {setverdict(pass)};
316 log(t_rbs(tspt_bs_mod4qifp));
317 if(ttcn2string(t_rbs(tspt_bs_mod4qifp)) != "{ bs := ? ifpresent }") {setverdict(fail)} else {setverdict(pass)};
318 log(t_rbs(tspt_bs_mod4al1ifp));
319 if(ttcn2string(t_rbs(tspt_bs_mod4al1ifp)) != "{ bs := * length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
320 log(t_rbs(tspt_bs_mod4al2ifp));
321 if(ttcn2string(t_rbs(tspt_bs_mod4al2ifp)) != "{ bs := * length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
322 log(t_rbs(tspt_bs_mod4ql1ifp));
323 if(ttcn2string(t_rbs(tspt_bs_mod4ql1ifp)) != "{ bs := ? length (2) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
324 log(t_rbs(tspt_bs_mod4ql2ifp));
325 if(ttcn2string(t_rbs(tspt_bs_mod4ql2ifp)) != "{ bs := ? length (2 .. 4) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
326 log(t_rbs(tspt_bs_mod4vl1ifp));
327 if(ttcn2string(t_rbs(tspt_bs_mod4vl1ifp)) != "{ bs := \'01101\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
328 log(t_rbs(tspt_bs_mod4vl2ifp));
329 if(ttcn2string(t_rbs(tspt_bs_mod4vl2ifp)) != "{ bs := (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
330 log(t_rbs(tspt_bs_mod4vl3ifp));
331 if(ttcn2string(t_rbs(tspt_bs_mod4vl3ifp)) != "{ bs := (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
332 log(t_rbs(tspt_bs_mod4c1ifp));
333 if(ttcn2string(t_rbs(tspt_bs_mod4c1ifp)) != "{ bs := complement (\'01101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
334 log(t_rbs(tspt_bs_mod4c2ifp));
335 if(ttcn2string(t_rbs(tspt_bs_mod4c2ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
336 log(t_rbs(tspt_bs_mod4c3ifp));
337 if(ttcn2string(t_rbs(tspt_bs_mod4c3ifp)) != "{ bs := complement (\'01101\'B, \'1010\'B, \'101\'B) ifpresent }") {setverdict(fail)} else {setverdict(pass)};
338 log(t_rbs(tspt_bs_mod4paifp));
339 if(ttcn2string(t_rbs(tspt_bs_mod4paifp)) != "{ bs := \'000*111'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
340 log(t_rbs(tspt_bs_mod4pqifp));
341 if(ttcn2string(t_rbs(tspt_bs_mod4pqifp)) != "{ bs := \'000?111\'B ifpresent }") {setverdict(fail)} else {setverdict(pass)};
344 //=============== string2ttcn ==============================
346 testcase tc_bs_string2ttcn_mod4v() runs on MC {
347 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4v)),t_rbs(tspt_bs_mod4v))
348 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4v)),t_rbs(tspt_bs_mod4v),true)
351 testcase tc_bs_string2ttcn_mod4o() runs on MC {
352 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4o)),t_rbs(tspt_bs_mod4o))
353 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4o)),t_rbs(tspt_bs_mod4o),true)
356 testcase tc_bs_string2ttcn_mod4a() runs on MC {
357 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4a)),t_rbs(tspt_bs_mod4a))
358 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4a)),t_rbs(tspt_bs_mod4a),false)
361 testcase tc_bs_string2ttcn_mod4q() runs on MC {
362 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4q)),t_rbs(tspt_bs_mod4q))
363 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4q)),t_rbs(tspt_bs_mod4q),false)
366 testcase tc_bs_string2ttcn_mod4al1() runs on MC {
367 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al1)),t_rbs(tspt_bs_mod4al1))
368 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al1)),t_rbs(tspt_bs_mod4al1),false)
371 testcase tc_bs_string2ttcn_mod4al2() runs on MC {
372 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al2)),t_rbs(tspt_bs_mod4al2))
373 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al2)),t_rbs(tspt_bs_mod4al2),false)
377 testcase tc_bs_string2ttcn_mod4ql1() runs on MC {
378 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql1)),t_rbs(tspt_bs_mod4ql1))
379 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql1)),t_rbs(tspt_bs_mod4ql1),false)
382 testcase tc_bs_string2ttcn_mod4ql2() runs on MC {
383 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql2)),t_rbs(tspt_bs_mod4ql2))
384 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql2)),t_rbs(tspt_bs_mod4ql2),false)
387 testcase tc_bs_string2ttcn_mod4vl1() runs on MC {
388 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl1)),t_rbs(tspt_bs_mod4vl1))
389 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl1)),t_rbs(tspt_bs_mod4vl1),true)
392 testcase tc_bs_string2ttcn_mod4vl2() runs on MC {
393 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl2)),t_rbs(tspt_bs_mod4vl2))
394 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl2)),t_rbs(tspt_bs_mod4vl2),false)
398 testcase tc_bs_string2ttcn_mod4vifp() runs on MC {
399 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vifp)),t_rbs(tspt_bs_mod4vifp))
400 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vifp)),t_rbs(tspt_bs_mod4vifp),false)
403 testcase tc_bs_string2ttcn_mod4oifp() runs on MC {
404 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4oifp)),t_rbs(tspt_bs_mod4oifp))
405 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4oifp)),t_rbs(tspt_bs_mod4oifp),false)
408 testcase tc_bs_string2ttcn_mod4aifp() runs on MC {
409 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4aifp)),t_rbs(tspt_bs_mod4aifp))
410 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4aifp)),t_rbs(tspt_bs_mod4aifp),false)
413 testcase tc_bs_string2ttcn_mod4qifp() runs on MC {
414 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4qifp)),t_rbs(tspt_bs_mod4qifp))
415 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4qifp)),t_rbs(tspt_bs_mod4qifp),false)
418 testcase tc_bs_string2ttcn_mod4al1ifp() runs on MC {
419 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al1ifp)),t_rbs(tspt_bs_mod4al1ifp))
420 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al1ifp)),t_rbs(tspt_bs_mod4al1ifp),false)
423 testcase tc_bs_string2ttcn_mod4al2ifp() runs on MC {
424 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4al2ifp)),t_rbs(tspt_bs_mod4al2ifp))
425 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4al2ifp)),t_rbs(tspt_bs_mod4al2ifp),false)
429 testcase tc_bs_string2ttcn_mod4ql1ifp() runs on MC {
430 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql1ifp)),t_rbs(tspt_bs_mod4ql1ifp))
431 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql1ifp)),t_rbs(tspt_bs_mod4ql1ifp),false)
434 testcase tc_bs_string2ttcn_mod4ql2ifp() runs on MC {
435 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4ql2ifp)),t_rbs(tspt_bs_mod4ql2ifp))
436 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4ql2ifp)),t_rbs(tspt_bs_mod4ql2ifp),false)
439 testcase tc_bs_string2ttcn_mod4vl1ifp() runs on MC {
440 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl1ifp)),t_rbs(tspt_bs_mod4vl1ifp))
441 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl1ifp)),t_rbs(tspt_bs_mod4vl1ifp),false)
444 testcase tc_bs_string2ttcn_mod4vl2ifp() runs on MC {
445 f_string2ttcn_RBS_t(ttcn2string(t_rbs(tspt_bs_mod4vl2ifp)),t_rbs(tspt_bs_mod4vl2ifp))
446 f_string2ttcn_RBS_v(ttcn2string(t_rbs(tspt_bs_mod4vl2ifp)),t_rbs(tspt_bs_mod4vl2ifp),false)
449 //=========================================================================
451 //=========================================================================
455 log("***bitstring tests****");
456 execute(tc_bs_ModulePar_emb());
457 execute(tc_bs_ttcn2string_emb());
458 execute(tc_bs_string2ttcn_mod4v());
459 execute(tc_bs_string2ttcn_mod4o());
460 execute(tc_bs_string2ttcn_mod4a());
461 execute(tc_bs_string2ttcn_mod4q());
462 execute(tc_bs_string2ttcn_mod4al1());
463 execute(tc_bs_string2ttcn_mod4al2());
464 execute(tc_bs_string2ttcn_mod4ql1());
465 execute(tc_bs_string2ttcn_mod4ql2());
466 execute(tc_bs_string2ttcn_mod4vl1());
467 execute(tc_bs_string2ttcn_mod4vl2());
468 //execute(tc_bs_string2ttcn_mod4vl3());
470 execute(tc_bs_string2ttcn_mod4vifp());
471 execute(tc_bs_string2ttcn_mod4oifp());
472 execute(tc_bs_string2ttcn_mod4aifp());
473 execute(tc_bs_string2ttcn_mod4qifp());
474 execute(tc_bs_string2ttcn_mod4al1ifp());
475 execute(tc_bs_string2ttcn_mod4al2ifp());
476 execute(tc_bs_string2ttcn_mod4ql1ifp());
477 execute(tc_bs_string2ttcn_mod4ql2ifp());
478 execute(tc_bs_string2ttcn_mod4vl1ifp());
479 execute(tc_bs_string2ttcn_mod4vl2ifp());