Last sync 2016.04.01
[deliverable/titan.core.git] / regression_test / text2ttcn / integer_test.ttcn
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
7 *
8 * Contributors:
9 * Balasko, Jeno
10 *
11 ******************************************************************************/
12 /*
13 //AUTHOR: ethbaat
14 //DATE: 2013-12-11
15 //VERSION: 1.0
16 */
17 module integer_test
18 {
19
20 //=========================================================================
21 // Import Part
22 //=========================================================================
23
24 import from types all;
25 import from functions all;
26
27 //=========================================================================
28 // Module Parameters
29 //=========================================================================
30 modulepar {
31 //integer
32 integer tsp_j := 0;
33 template integer tspt_i_v := 9;
34 template integer tspt_i_o := omit;
35 template integer tspt_i_a := *;
36 template integer tspt_i_q := ?;
37 template integer tspt_i_vl1 := (1);
38 template integer tspt_i_vl2 := (0,1);
39 template integer tspt_i_vl3 := (0,1,-1);
40 template integer tspt_i_c := complement(0,1,-1);
41 template integer tspt_i_r := (1..4); //range
42
43 //templates overwritten:
44 template integer tspt_i1 := *; //overwritten by cfg for value 9
45 template integer tspt_i2 := 4; //overwritten by cfg for omit
46 template integer tspt_i3 := 5; //overwritten by cfg for *
47 template integer tspt_i4 := *; //overwritten by cfg for ?
48 template integer tspt_i5 := ?; //overwritten by cfg for value list (0,1,-1)
49 template integer tspt_i6 := *; //overwritten by cfg for 9 ifpresent
50 template integer tspt_i7 := *; //overwritten by cfg for omit
51 template integer tspt_i8 := *; //overwritten by cfg for *
52 template integer tspt_i9 := *; //overwritten by cfg for ?
53 template integer tspt_i10 := *; //overwritten by cfg for value list (0,1,-1)
54 template integer tspt_i11 := *; //overwritten by cfg for complement
55 }
56
57 //=========================================================================
58 // Data Types
59 //=========================================================================
60
61 // Insert data type defintions here if applicable!
62 // You can use the data_type skeleton!
63
64 //=========================================================================
65 // Signatures
66 //=========================================================================
67
68 // Insert signature definitions here if applicable!
69 // You can use the signature skeleton!
70
71 //=========================================================================
72 //Port Types
73 //=========================================================================
74
75 // Insert port type defintions here if applicable!
76 // You can use the port_type skeleton!
77
78 //=========================================================================
79 //Component Types
80 //=========================================================================
81
82 // Insert component type defintions here if applicable!
83 // You can use the component_type skeleton!
84
85 //=========================================================================
86 // Constants
87 //=========================================================================
88
89 // Insert constants here if applicable!
90 // You can use the constant skeleton!
91
92 //=========================================================================
93 // Templates
94 //=========================================================================
95
96 template REC t_rec(template integer pl_i, template float pl_f, template charstring pl_cs, template bitstring pl_bs) := {
97 i:= pl_i,
98 f:= pl_f,
99 cs:=pl_cs,
100 bs:=pl_bs
101 }
102
103 template integer t_i_v := 9;
104 template integer t_i_o := omit;
105 template integer t_i_a := *;
106 template integer t_i_q := ?;
107 template integer t_i_vl := (0,1,-1)
108 template integer t_i_c := complement(0,1,-1);
109 //=========================================================================
110 // Functions
111 //=========================================================================
112
113 // Insert functions here if applicable!
114 // You can use the function skeleton!
115
116 //=========================================================================
117 // Testcases
118 //=========================================================================
119
120 //Goal: simple integer template is accepted as modulepar and it can be used
121 testcase tc_integer_NoModulePar() runs on MC {
122 if( log2str(t_i_v) != "9") { setverdict(fail)} else { setverdict(pass) }
123 if( log2str(t_i_o) != "omit") { setverdict(fail)};
124 if( log2str(t_i_a) != "*") { setverdict(fail)};
125 if( log2str(t_i_q) != "?") { setverdict(fail)};
126 //log(t_i_vl);
127 if( log2str(t_i_vl) != "(0, 1, -1)") { setverdict(fail) };
128 if( log2str(t_i_c) != "complement (0, 1, -1)") { setverdict(fail) };
129 }
130
131 testcase tc_integer_NoModulePar_Embedded() runs on MC {
132 log(t_rec(t_i_v,omit,omit,omit));
133 if( log2str(t_rec(t_i_v,omit,omit,omit)) != "{ i := 9, f := omit, cs := omit, bs := omit }") { setverdict(fail)} else { setverdict(pass) }
134 log(t_rec(t_i_o,omit,omit,omit));
135 if( log2str(t_rec(t_i_o,omit,omit,omit)) != "{ i := omit, f := omit, cs := omit, bs := omit }" ) { setverdict(fail)};
136 log(t_rec(t_i_a,omit,omit,omit));
137 if( log2str(t_rec(t_i_a,omit,omit,omit)) != "{ i := *, f := omit, cs := omit, bs := omit }" ) { setverdict(fail)};
138 log(t_rec(t_i_q,omit,omit,omit));
139 if( log2str(t_rec(t_i_q,omit,omit,omit)) != "{ i := ?, f := omit, cs := omit, bs := omit }") { setverdict(fail)};
140 log( t_rec(t_i_vl,omit,omit,omit));
141 if( log2str(t_rec(t_i_vl,omit,omit,omit)) != "{ i := (0, 1, -1), f := omit, cs := omit, bs := omit }") { setverdict(fail) };
142 log( t_rec(t_i_c,omit,omit,omit));
143 if( log2str(t_rec(t_i_c,omit,omit,omit)) != "{ i := complement (0, 1, -1), f := omit, cs := omit, bs := omit }") { setverdict(fail) };
144 }
145
146 testcase tc_integer_Embedded() runs on MC {
147 log(t_rec(tspt_i_v,omit,omit,omit));
148 if( log2str(t_rec(tspt_i_v,omit,omit,omit)) != "{ i := 9, f := omit, cs := omit, bs := omit }") { setverdict(fail)} else { setverdict(pass) }
149 log(t_rec(tspt_i_o,omit,omit,omit));
150 if( log2str(t_rec(tspt_i_o,omit,omit,omit)) != "{ i := omit, f := omit, cs := omit, bs := omit }" ) { setverdict(fail)};
151 log(t_rec(tspt_i_a,omit,omit,omit));
152 if( log2str(t_rec(tspt_i_a,omit,omit,omit)) != "{ i := *, f := omit, cs := omit, bs := omit }" ) { setverdict(fail)};
153 log(t_rec(tspt_i_q,omit,omit,omit));
154 if( log2str(t_rec(tspt_i_q,omit,omit,omit)) != "{ i := ?, f := omit, cs := omit, bs := omit }") { setverdict(fail)};
155 log( t_rec(tspt_i_vl1,omit,omit,omit));
156 if( log2str(t_rec(tspt_i_vl1,omit,omit,omit)) != "{ i := 1, f := omit, cs := omit, bs := omit }") { setverdict(fail) };
157 log( t_rec(tspt_i_vl2,omit,omit,omit));
158 if( log2str(t_rec(tspt_i_vl2,omit,omit,omit)) != "{ i := (0, 1), f := omit, cs := omit, bs := omit }") { setverdict(fail) };
159 log( t_rec(tspt_i_vl3,omit,omit,omit));
160 if( log2str(t_rec(tspt_i_vl3,omit,omit,omit)) != "{ i := (0, 1, -1), f := omit, cs := omit, bs := omit }") { setverdict(fail) };
161 log( t_rec(tspt_i_c,omit,omit,omit));
162 if( log2str(t_rec(tspt_i_c,omit,omit,omit)) != "{ i := complement (0, 1, -1), f := omit, cs := omit, bs := omit }") { setverdict(fail) };
163 }
164
165 testcase tc_integer_Embedded_value() runs on MC {
166 template REC vlt:=t_rec(tspt_i_v,omit,omit,omit);
167 var RoREC vl_good_values := {{ 9,omit,omit,omit}};
168 var RoREC vl_wrong_values := { { 10,omit,omit,omit}, { 9,1.0,omit,omit},{ 9,1.0,"lambada",'01'B}, { 10000,1.0,"lambada",'01'B} };
169 f_checkMatchingValues_rec( vlt, vl_good_values, vl_wrong_values );
170 }
171
172 testcase tc_integer_Embedded_complement() runs on MC {
173 template REC vlt:=t_rec(tspt_i_c,omit,omit,omit);
174 var RoREC vl_good_values := { {2,omit,omit,omit},{3,omit,omit,omit},{4,omit,omit,omit},{-2,omit,omit,omit}};
175 var RoREC vl_wrong_values := { {1,omit,omit,omit},{-1,omit,omit,omit},{0,omit,omit,omit},{ 9,1.0,omit,omit},{ 9,1.0,"lambada",'01'B}, { 10000,1.0,"lambada",'01'B} };
176 f_checkMatchingValues_rec( vlt, vl_good_values, vl_wrong_values );
177 }
178
179 testcase tc_integer_Embedded_range() runs on MC {
180 template REC vlt:=t_rec(tspt_i_r,omit,omit,omit);
181 var RoREC vl_good_values := {{1,omit,omit,omit},{2,omit,omit,omit},{3,omit,omit,omit},{4,omit,omit,omit}};
182 var RoREC vl_wrong_values := { {-1,omit,omit,omit},{5,omit,omit,omit},{9,omit,omit,omit},{ 10,omit,omit,omit}, { 9,1.0,omit,omit},{ 9,1.0,"lambada",'01'B}, { 10000,1.0,"lambada",'01'B} };
183 f_checkMatchingValues_rec( vlt, vl_good_values, vl_wrong_values );
184 }
185
186 //value
187 testcase tc_integer_value() runs on MC {
188 log( tspt_i_v );
189 if( log2str(tspt_i_v) != "9" ) { setverdict(fail) } else { setverdict(pass) }
190 var RoI vl_good_values := {9}
191 var RoI vl_wrong_values := {-1000000, 0, -1,2,20001, 4294967296, 4294967296+1}
192 f_checkMatchingValues_int( tspt_i_v, vl_good_values, vl_wrong_values );
193 }
194
195 //omit
196 testcase tc_integer_omit() runs on MC {
197 log( tspt_i_o );
198 if( log2str(tspt_i_o) != "omit" ) { setverdict(fail) } else { setverdict(pass) }
199 var RoI vl_good_values := {}
200 var RoI vl_wrong_values := { -100000, -1, 0,1,9, 4294967296, 4294967296+1}
201 f_checkMatchingValues_int( tspt_i_o, vl_good_values, vl_wrong_values );
202 }
203
204 //asterix
205 testcase tc_integer_a() runs on MC {
206 log( tspt_i_a );
207 if( log2str(tspt_i_a) != "*" ) { setverdict(fail) } else { setverdict(pass) }
208 var RoI vl_good_values := {-100000, -1, 0,1,9, 4294967296, 4294967296+1}
209 var RoI vl_wrong_values := {}
210 f_checkMatchingValues_int( tspt_i_a, vl_good_values, vl_wrong_values );
211 }
212
213 testcase tc_integer_q() runs on MC {
214 log( tspt_i_q );
215 if( log2str(tspt_i_q) != "?" ) { setverdict(fail) } else { setverdict(pass) }
216 var RoI vl_good_values := {-100000, -1, 0,1, 4294967296, 4294967296+1}
217 var RoI vl_wrong_values := {}
218 f_checkMatchingValues_int( tspt_i_q, vl_good_values, vl_wrong_values );
219 }
220 //Goal: to test if integer template is modified from cfg file:
221 //value list
222 testcase tc_integer_vl() runs on MC {
223 log( tspt_i_vl3 );
224 if( log2str(tspt_i_vl3) != "(0, 1, -1)" ) { setverdict(fail) } else { setverdict(pass) }
225 var RoI vl_good_values := {-1,0,1}
226 var RoI vl_wrong_values := {-1000000,2,9,20001}
227 f_checkMatchingValues_int(tspt_i_vl3, vl_good_values,vl_wrong_values);
228 }
229
230 //goal: to test if template modulepar can be a right value
231 testcase tc_integer_vl_right_value() runs on MC {
232 var template integer vlt := tspt_i_vl3;
233 log( tspt_i_vl3 );
234 if( log2str(vlt) != "(0, 1, -1)" ) { setverdict(fail) } else { setverdict(pass) }
235 var RoI vl_good_values := {-1,0,1}
236 var RoI vl_wrong_values := {-1000000,2,20001}
237 f_checkMatchingValues_int(vlt, vl_good_values,vl_wrong_values);
238 }
239
240 //integer modulepar templates modified from cfg file:
241
242 // for value
243 testcase tc_integer_modified4v() runs on MC {
244 log( tspt_i1 );
245 if( log2str(tspt_i1) != "9" ) { setverdict(fail) } else { setverdict(pass) }
246 var RoI vl_good_values := {9}
247 var RoI vl_wrong_values := {-1000000, 0, -1,2,20001, 4294967296, 4294967296+1}
248 f_checkMatchingValues_int( tspt_i1, vl_good_values, vl_wrong_values );
249 }
250
251 //for omit
252 testcase tc_integer_modified4o() runs on MC {
253 log( tspt_i2 );
254 if( log2str(tspt_i2) != "omit" ) { setverdict(fail) } else { setverdict(pass) }
255 var RoI vl_good_values := {}
256 var RoI vl_wrong_values := { -100000, -1, 0,1,9, 4294967296, 4294967296+1}
257 f_checkMatchingValues_int( tspt_i2, vl_good_values, vl_wrong_values );
258 }
259
260 //asterix
261 testcase tc_integer_modified4a() runs on MC {
262 log( tspt_i3 );
263 if( log2str(tspt_i3) != "*" ) { setverdict(fail) } else { setverdict(pass) }
264 var RoI vl_good_values := {-100000, -1, 0,1,9, 4294967296, 4294967296+1}
265 var RoI vl_wrong_values := {}
266 f_checkMatchingValues_int( tspt_i3, vl_good_values, vl_wrong_values );
267 }
268
269 testcase tc_integer_modified4q() runs on MC {
270 log( tspt_i4 );
271 if( log2str(tspt_i4) != "?" ) { setverdict(fail) } else { setverdict(pass) }
272 var RoI vl_good_values := {-100000, -1, 0,1,9, 4294967296, 4294967296+1}
273 var RoI vl_wrong_values := {}
274 f_checkMatchingValues_int( tspt_i4, vl_good_values, vl_wrong_values );
275 }
276
277 //value list
278 testcase tc_integer_modified4vl() runs on MC {
279 log( tspt_i5 );
280 if( log2str(tspt_i5) != "(0, 1, -1)" ) { setverdict(fail) } else { setverdict(pass) }
281 var RoI vl_good_values := {-1,0,1}
282 var RoI vl_wrong_values := {-1000000,2,20001}
283 f_checkMatchingValues_int(tspt_i5, vl_good_values,vl_wrong_values);
284 }
285
286 // for value
287 testcase tc_integer_modified4vifp() runs on MC {
288 log( tspt_i6 );
289 if( log2str(tspt_i6) != "9 ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
290 var RoI vl_good_values := {9}
291 var RoI vl_wrong_values := {-1000000, 0, -1,2,20001, 4294967296, 4294967296+1}
292 f_checkMatchingValues_int( tspt_i6, vl_good_values, vl_wrong_values );
293 }
294 //for omit
295 testcase tc_integer_modified4oifp() runs on MC {
296 log( tspt_i7 );
297 if( log2str(tspt_i7) != "omit ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
298 var RoI vl_good_values := {}
299 var RoI vl_wrong_values := { -100000, -1, 0,1,9, 4294967296, 4294967296+1}
300 f_checkMatchingValues_int( tspt_i7, vl_good_values, vl_wrong_values );
301 }
302
303 //asterix
304 testcase tc_integer_modified4aifp() runs on MC {
305 log( tspt_i8 );
306 if( log2str(tspt_i8) != "* ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
307 var RoI vl_good_values := {-100000, -1, 0,1,9, 4294967296, 4294967296+1}
308 var RoI vl_wrong_values := {}
309 f_checkMatchingValues_int( tspt_i8, vl_good_values, vl_wrong_values );
310 }
311
312 testcase tc_integer_modified4qifp() runs on MC {
313 log( tspt_i9 );
314 if( log2str(tspt_i9) != "? ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
315 var RoI vl_good_values := {-100000, -1, 0,1,9, 4294967296, 4294967296+1}
316 var RoI vl_wrong_values := {}
317 f_checkMatchingValues_int( tspt_i9, vl_good_values, vl_wrong_values );
318 }
319
320 //value list
321 testcase tc_integer_modified4vlifp() runs on MC {
322 log( tspt_i10 );
323 if( log2str(tspt_i10) != "(0, 1, -1) ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
324 var RoI vl_good_values := {-1,0,1}
325 var RoI vl_wrong_values := {-1000000,2,20001}
326 f_checkMatchingValues_int(tspt_i10, vl_good_values,vl_wrong_values);
327 }
328
329 //complement
330 testcase tc_integer_modified4c() runs on MC {
331 log( tspt_i11);
332 if( log2str(tspt_i11) != "complement (9)" ) { setverdict(fail) } else { setverdict(pass) }
333 var RoI vl_good_values := {-100000, -1, 0,1, 4294967296, 4294967296+1}
334 var RoI vl_wrong_values := {9}
335 f_checkMatchingValues_int( tspt_i11, vl_good_values, vl_wrong_values );
336 }
337
338
339
340 //=========================================================================
341 // Control
342 //=========================================================================
343 control {
344 log("****Integer tests****")
345 execute(tc_integer_NoModulePar());
346 execute(tc_integer_NoModulePar_Embedded()); //with template record containing template argument
347 execute(tc_integer_Embedded());
348 execute(tc_integer_Embedded_value());
349 execute(tc_integer_Embedded_complement());
350 execute(tc_integer_Embedded_range());
351 execute(tc_integer_value());
352 execute(tc_integer_omit());
353 execute(tc_integer_a());
354 execute(tc_integer_q());
355 execute(tc_integer_vl());
356 execute(tc_integer_vl_right_value());
357 //integer templates modified from cfg file"
358 execute(tc_integer_modified4v());
359 execute(tc_integer_modified4o());
360 execute(tc_integer_modified4a());
361 execute(tc_integer_modified4q());
362 execute(tc_integer_modified4vl());
363 execute(tc_integer_modified4vifp());
364 execute(tc_integer_modified4oifp());
365 execute(tc_integer_modified4aifp());
366 execute(tc_integer_modified4qifp());
367 execute(tc_integer_modified4vlifp());
368 execute(tc_integer_modified4c());
369 }
370
371 } // end of module
This page took 0.059663 seconds and 5 git commands to generate.