Sync with 5.1.0
[deliverable/titan.core.git] / regression_test / text2ttcn / float_test.ttcn
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 */
13 module float_test
14 {
15
16 //=========================================================================
17 // Import Part
18 //=========================================================================
19 import from types all;
20 import from functions all;
21
22 //=========================================================================
23 // Module Parameters
24 //=========================================================================
25
26 modulepar {
27 template float tspt_f_v := 9.0;
28 template float tspt_f_o := omit;
29 template float tspt_f_a := *;
30 template float tspt_f_q := ?;
31 template float tspt_f_vl1 := (0.0)
32 template float tspt_f_vl2 := (0.0,1.2)
33 template float tspt_f_vl3 := (0.0,1.2,-1.9)
34 template float tspt_f_c1 := complement(0.0);
35 template float tspt_f_c3 := complement(0.0,1.2,-1.9);
36 template float tspt_f_r := (-1.9..3.1);
37
38 template float tspt_f1 := *; //overwritten by cfg for value 9.0
39 template float tspt_f2 := 4.0; //overwritten by cfg for omit
40 template float tspt_f3 := 5.0; //overwritten by cfg for *
41 template float tspt_f4 := *; //overwritten by cfg for ?
42 template float tspt_f_mod4vl1 := ?; //overwritten by cfg for value list (0.0)
43 template float tspt_f_mod4vl3 := ?; //overwritten by cfg for value list (0.0,1.2,-1.9)
44 template float tspt_f6 := *; //overwritten by cfg for 9.0 ifpresent
45 template float tspt_f7 := *; //overwritten by cfg for omit ifpresent
46 template float tspt_f8 := *; //overwritten by cfg for * ifpresent
47 template float tspt_f9 := 9.0; //overwritten by cfg for ? ifpresent
48 template float tspt_f10 := *; //overwritten by cfg for value list (0.0,1.2,-1.9) ifpresent
49 template float tspt_f11 := *; //overwritten by cfg for complement
50 template float tspt_f12 := *; //overwritten by cfg for complement(9.0) ifpresent
51 template float tspt_f13 := *;
52 template float tspt_f14 := *;
53 }
54
55 //=========================================================================
56 // Data Types
57 //=========================================================================
58
59 //=========================================================================
60 // Signatures
61 //=========================================================================
62
63 //=========================================================================
64 // Constants
65 //=========================================================================
66
67 //=========================================================================
68 // Templates
69 //=========================================================================
70 template float t_f_v := 9.0;
71 template float t_f_o := omit;
72 template float t_f_a := *;
73 template float t_f_q := ?;
74 template float t_f_vl := (0.0,1.2,-1.9)
75 template float t_f_c := complement(0.0,1.2,-1.9);
76
77 //=========================================================================
78 // Altsteps
79 //=========================================================================
80
81 // Insert altsteps here if applicable!
82 // You can use the altstep skeleton!
83
84 //=========================================================================
85 // Functions
86 //=========================================================================
87
88 // Insert functions here if applicable!
89 // You can use the function skeleton!
90
91 //=========================================================================
92 // Testcases
93 //=========================================================================
94
95 testcase tc_float_NoModulePar() runs on MC {
96 log(t_f_v);
97 if( log2str(t_f_v) != "9.000000") { setverdict(fail)} else { setverdict(pass) }
98 if( log2str(t_f_o) != "omit") { setverdict(fail)};
99 if( log2str(t_f_a) != "*") { setverdict(fail)};
100 if( log2str(t_f_q) != "?") { setverdict(fail)};
101 if( log2str(t_f_vl) != "(0.000000, 1.200000, -1.900000)") { setverdict(fail) };
102 if( log2str(t_f_c) != "complement (0.000000, 1.200000, -1.900000)") { setverdict(fail) };
103 }
104
105 testcase tc_float_ModulePar() runs on MC {
106 if( log2str(tspt_f_v) != "9.000000") { setverdict(fail)} else { setverdict(pass) }
107 if( log2str(tspt_f_o) != "omit") { setverdict(fail)};
108 if( log2str(tspt_f_a) != "*") { setverdict(fail)};
109 if( log2str(tspt_f_q) != "?") { setverdict(fail)};
110 log(tspt_f_vl3);
111 if( log2str(tspt_f_vl1) != "0.000000") { setverdict(fail) };
112 if( log2str(tspt_f_vl2) != "(0.000000, 1.200000)") { setverdict(fail) };
113 if( log2str(tspt_f_vl3) != "(0.000000, 1.200000, -1.900000)") { setverdict(fail) };
114 if( log2str(tspt_f_c1) != "complement (0.000000)") { setverdict(fail) };
115 if( log2str(tspt_f_c3) != "complement (0.000000, 1.200000, -1.900000)") { setverdict(fail) };
116 //log(tspt_f_r);
117 if( log2str(tspt_f_r) != "(-1.900000 .. 3.100000)") { setverdict(fail) };
118 }
119
120 testcase tc_float_Embedded() runs on MC {
121 log(t_rec(1,tspt_f_v,omit,omit));
122 if( log2str(t_rec(1,tspt_f_v,omit,omit)) != "{ i := 1, f := 9.000000, cs := omit, bs := omit }") { setverdict(fail)} else { setverdict(pass) }
123 if( log2str(t_rec(1,tspt_f_o,omit,omit)) != "{ i := 1, f := omit, cs := omit, bs := omit }") { setverdict(fail)};
124 if( log2str(t_rec(1,tspt_f_a,omit,omit)) != "{ i := 1, f := *, cs := omit, bs := omit }") { setverdict(fail)};
125 if( log2str(t_rec(1,tspt_f_q,omit,omit)) != "{ i := 1, f := ?, cs := omit, bs := omit }"){ setverdict(fail)};
126 //log(tspt_f_vl3);
127 if( log2str(t_rec(1,tspt_f_vl1,omit,omit)) != "{ i := 1, f := 0.000000, cs := omit, bs := omit }") { setverdict(fail) };
128 if( log2str(t_rec(1,tspt_f_vl2,omit,omit)) != "{ i := 1, f := (0.000000, 1.200000), cs := omit, bs := omit }") { setverdict(fail) };
129 if( log2str(t_rec(1,tspt_f_vl3,omit,omit)) != "{ i := 1, f := (0.000000, 1.200000, -1.900000), cs := omit, bs := omit }") { setverdict(fail) };
130 if( log2str(t_rec(1,tspt_f_c1,omit,omit)) != "{ i := 1, f := complement (0.000000), cs := omit, bs := omit }") { setverdict(fail) };
131 if( log2str(t_rec(1,tspt_f_c3,omit,omit)) != "{ i := 1, f := complement (0.000000, 1.200000, -1.900000), cs := omit, bs := omit }") { setverdict(fail) };
132 //log(tspt_f_r);
133 if( log2str(t_rec(1,tspt_f_r,omit,omit)) != "{ i := 1, f := (-1.900000 .. 3.100000), cs := omit, bs := omit }" ) { setverdict(fail) };
134 }
135
136 //value
137 testcase tc_float_value() runs on MC {
138 log( tspt_f_v );
139 if( log2str(tspt_f_v) != "9.000000" ) { setverdict(fail) } else { setverdict(pass) }
140 var RoF vl_good_values := {9.0}
141 var RoF vl_wrong_values := {-1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
142 f_checkMatchingValues_float( tspt_f_v, vl_good_values, vl_wrong_values );
143 }
144
145 testcase tc_float_omit() runs on MC {
146 log( tspt_f_o );
147 if( log2str(tspt_f_o) != "omit" ) { setverdict(fail) } else { setverdict(pass) }
148 var RoF vl_good_values := {}
149 var RoF vl_wrong_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
150 f_checkMatchingValues_float( tspt_f_o, vl_good_values, vl_wrong_values );
151 }
152
153 testcase tc_float_a() runs on MC {
154 log( tspt_f_a );
155 if( log2str(tspt_f_a) != "*" ) { setverdict(fail) } else { setverdict(pass) }
156 var RoF vl_good_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
157 var RoF vl_wrong_values := {}
158 f_checkMatchingValues_float( tspt_f_a, vl_good_values, vl_wrong_values );
159 }
160
161 testcase tc_float_q() runs on MC {
162 log( tspt_f_q );
163 if( log2str(tspt_f_q) != "?") { setverdict(fail) } else { setverdict(pass) }
164 var RoF vl_good_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
165 var RoF vl_wrong_values := {}
166 f_checkMatchingValues_float( tspt_f_a, vl_good_values, vl_wrong_values );
167 }
168
169 testcase tc_float_vl() runs on MC {
170 log( tspt_f_vl3 );
171 if( log2str(tspt_f_vl3) != "(0.000000, 1.200000, -1.900000)" ) { setverdict(fail) } else { setverdict(pass) }
172 var RoF vl_good_values := { 0.0, 1.2, -1.9 }
173 var RoF vl_wrong_values := {9.0, -1000000.0, 0.01, -1.91, 8.99999, 9.0, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
174 f_checkMatchingValues_float( tspt_f_vl3, vl_good_values, vl_wrong_values );
175 }
176
177 //range
178 testcase tc_float_r() runs on MC {
179 log( tspt_f_r );
180 if( log2str(tspt_f_r) != "(-1.900000 .. 3.100000)" ) { setverdict(fail) } else { setverdict(pass) }
181 var RoF vl_good_values := { -1.900000, -1.8999999, -1.0, 0.0, 1.2, -1.9, 3.1 }
182 var RoF vl_wrong_values := {3.10001, 9.0, -1000000.0, -1.91, 8.99999, 9.0, 9.0001, -2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
183 f_checkMatchingValues_float( tspt_f_r, vl_good_values, vl_wrong_values );
184 }
185
186 testcase tc_float_right_value() runs on MC {
187 var template float vlt := tspt_f_vl3;
188 log( vlt );
189 if( log2str(vlt) != "(0.000000, 1.200000, -1.900000)" ) { setverdict(fail) } else { setverdict(pass) }
190 var RoF vl_good_values := { 0.0, 1.2, -1.9 }
191 var RoF vl_wrong_values := {9.0, -1000000.0, 0.01, -1.91, 8.99999, 9.0, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
192 f_checkMatchingValues_float( vlt, vl_good_values, vl_wrong_values );
193 }
194
195 //
196 //value
197 testcase tc_float_modified4v() runs on MC {
198 log( tspt_f1 );
199 if( log2str(tspt_f1) != "9.000000" ) { setverdict(fail) } else { setverdict(pass) }
200 var RoF vl_good_values := {9.0}
201 var RoF vl_wrong_values := {-1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
202 f_checkMatchingValues_float( tspt_f1, vl_good_values, vl_wrong_values );
203 }
204
205 testcase tc_float_modified4o() runs on MC {
206 log( tspt_f2 );
207 if( log2str(tspt_f2) != "omit" ) { setverdict(fail) } else { setverdict(pass) }
208 var RoF vl_good_values := {}
209 var RoF vl_wrong_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
210 f_checkMatchingValues_float( tspt_f2, vl_good_values, vl_wrong_values );
211 }
212
213 testcase tc_float_modified4a() runs on MC {
214 log( tspt_f3 );
215 if( log2str(tspt_f3) != "*" ) { setverdict(fail) } else { setverdict(pass) }
216 var RoF vl_good_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
217 var RoF vl_wrong_values := {}
218 f_checkMatchingValues_float( tspt_f3, vl_good_values, vl_wrong_values );
219 }
220
221 testcase tc_float_modified4q() runs on MC {
222 log( tspt_f4 );
223 if( log2str(tspt_f4) != "?") { setverdict(fail) } else { setverdict(pass) }
224 var RoF vl_good_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
225 var RoF vl_wrong_values := {}
226 f_checkMatchingValues_float( tspt_f4, vl_good_values, vl_wrong_values );
227 }
228
229 testcase tc_float_modified4vl1() runs on MC {
230 log( tspt_f_mod4vl1 );
231 if( log2str(tspt_f_mod4vl1) != "0.000000" ) { setverdict(fail) } else { setverdict(pass) }
232 var RoF vl_good_values := { 0.0 }
233 var RoF vl_wrong_values := {1.2, -1.9, 9.0, -1000000.0, 0.01, -1.91, 8.99999, 9.0, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
234 f_checkMatchingValues_float( tspt_f_mod4vl1, vl_good_values, vl_wrong_values );
235 }
236
237 testcase tc_float_modified4vl3() runs on MC {
238 log( tspt_f_mod4vl3 );
239 if( log2str(tspt_f_mod4vl3) != "(0.000000, 1.200000, -1.900000)" ) { setverdict(fail) } else { setverdict(pass) }
240 var RoF vl_good_values := { 0.0, 1.2, -1.9 }
241 var RoF vl_wrong_values := {9.0, -1000000.0, 0.01, -1.91, 8.99999, 9.0, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
242 f_checkMatchingValues_float( tspt_f_mod4vl3, vl_good_values, vl_wrong_values );
243 }
244
245 testcase tc_float_modified4c() runs on MC {
246 var template float vlt := tspt_f11;
247 log( vlt );
248 if( log2str(vlt) != "complement (9.000000)" ) { setverdict(fail) } else { setverdict(pass) }
249 var RoF vl_good_values := { -1000000.0, 0.01, -1.91, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
250 var RoF vl_wrong_values := { 9.0 }
251 f_checkMatchingValues_float( vlt, vl_good_values, vl_wrong_values );
252 }
253
254 // modified 4 range from cfg file
255 testcase tc_float_modified4r() runs on MC {
256 log( tspt_f13 );
257 if( log2str(tspt_f13) != "(-1.900000 .. 3.100000)" ) { setverdict(fail) } else { setverdict(pass) }
258 var RoF vl_good_values := { -1.900000, -1.8999999, -1.0, 0.0, 1.2, -1.9, 3.1 }
259 var RoF vl_wrong_values := {3.10001, 9.0, -1000000.0, -1.91, 8.99999, 9.0, 9.0001, -2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
260 f_checkMatchingValues_float( tspt_f13, vl_good_values, vl_wrong_values );
261 }
262
263 testcase tc_float_modified4vl_right_value() runs on MC {
264 var template float vlt := tspt_f_mod4vl3;
265 log( vlt );
266 if( log2str(vlt) != "(0.000000, 1.200000, -1.900000)" ) { setverdict(fail) } else { setverdict(pass) }
267 var RoF vl_good_values := { 0.0, 1.2, -1.9 }
268 var RoF vl_wrong_values := {9.0, -1000000.0, 0.01, -1.91, 8.99999, 9.0, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
269 f_checkMatchingValues_float( vlt, vl_good_values, vl_wrong_values );
270 }
271
272 //value
273 testcase tc_float_modified4vifp() runs on MC {
274 log( tspt_f6 );
275 if( log2str(tspt_f6) != "9.000000 ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
276 var RoF vl_good_values := {9.0}
277 var RoF vl_wrong_values := {-1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
278 f_checkMatchingValues_float( tspt_f6, vl_good_values, vl_wrong_values );
279 }
280
281 testcase tc_float_modified4oifp() runs on MC {
282 log( tspt_f7 );
283 if( log2str(tspt_f7) != "omit ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
284 var RoF vl_good_values := {}
285 var RoF vl_wrong_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
286 f_checkMatchingValues_float( tspt_f7, vl_good_values, vl_wrong_values );
287 }
288
289 testcase tc_float_modified4aifp() runs on MC {
290 log( tspt_f8 );
291 if( log2str(tspt_f8) != "* ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
292 var RoF vl_good_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
293 var RoF vl_wrong_values := {}
294 f_checkMatchingValues_float( tspt_f8, vl_good_values, vl_wrong_values );
295 }
296
297 testcase tc_float_modified4qifp() runs on MC {
298 log( tspt_f4 );
299 if( log2str(tspt_f9) != "? ifpresent") { setverdict(fail) } else { setverdict(pass) }
300 var RoF vl_good_values := {9.0, -1000000.0, 0.0, -1.0, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
301 var RoF vl_wrong_values := {}
302 f_checkMatchingValues_float( tspt_f9, vl_good_values, vl_wrong_values );
303 }
304
305 testcase tc_float_modified4vlifp() runs on MC {
306 log( tspt_f10 );
307 if( log2str(tspt_f10) != "(0.000000, 1.200000, -1.900000) ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
308 var RoF vl_good_values := { 0.0, 1.2, -1.9 }
309 var RoF vl_wrong_values := {9.0, -1000000.0, 0.01, -1.91, 8.99999, 9.0, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
310 f_checkMatchingValues_float( tspt_f10, vl_good_values, vl_wrong_values );
311 }
312
313 testcase tc_float_modified4cifp() runs on MC {
314 var template float vlt := tspt_f12;
315 log( vlt );
316 if( log2str(vlt) != "complement (9.000000) ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
317 var RoF vl_good_values := { -1000000.0, 0.01, -1.91, 8.99999, 9.0001, 2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
318 var RoF vl_wrong_values := { 9.0 }
319 f_checkMatchingValues_float( vlt, vl_good_values, vl_wrong_values );
320 }
321
322 // modified 4 range from cfg file
323 testcase tc_float_modified4rifp() runs on MC {
324 log( tspt_f14 );
325 if( log2str(tspt_f14) != "(-1.900000 .. 3.100000) ifpresent" ) { setverdict(fail) } else { setverdict(pass) }
326 var RoF vl_good_values := { -1.900000, -1.8999999, -1.0, 0.0, 1.2, -1.9, 3.1 }
327 var RoF vl_wrong_values := {3.10001, 9.0, -1000000.0, -1.91, 8.99999, 9.0, 9.0001, -2.0, 20001.0e9, 4294967296.0, 4294967296.0+1.0}
328 f_checkMatchingValues_float( tspt_f14, vl_good_values, vl_wrong_values );
329 }
330
331 //=========================================================================
332 // Control
333 //=========================================================================
334
335 control {
336 log("****float tests****");
337 execute(tc_float_NoModulePar());
338 execute(tc_float_ModulePar());
339 execute(tc_float_Embedded());
340 execute(tc_float_value());
341 execute(tc_float_omit());
342 execute(tc_float_a());
343 execute(tc_float_q());
344 execute(tc_float_vl());
345 execute(tc_float_r());
346 execute(tc_float_right_value());
347 execute(tc_float_modified4v());
348 execute(tc_float_modified4o());
349 execute(tc_float_modified4a());
350 execute(tc_float_modified4q());
351 execute(tc_float_modified4vl1());
352 execute(tc_float_modified4vl3());
353 execute(tc_float_modified4c());
354 execute(tc_float_modified4r());
355 execute(tc_float_modified4vl_right_value());
356 execute(tc_float_modified4vifp());
357 execute(tc_float_modified4oifp());
358 execute(tc_float_modified4aifp());
359 execute(tc_float_modified4qifp());
360 execute(tc_float_modified4vlifp());
361 execute(tc_float_modified4cifp());
362 execute(tc_float_modified4rifp());
363 }
364
365 } // end of module
This page took 0.037648 seconds and 5 git commands to generate.