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