Last sync 2016.04.01
[deliverable/titan.core.git] / regression_test / ucharstrOper / UTF32Testcases.ttcn
CommitLineData
970ed795 1/******************************************************************************
d44e3c4f 2 * Copyright (c) 2000-2016 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
d44e3c4f 7 *
8 * Contributors:
9 * Balasko, Jeno
10 * Baranyi, Botond
11 *
970ed795
EL
12 ******************************************************************************/
13// This module tests the following functions for UTF-32:
14// oct2unichar
15// unichar2oct
16// get_stringencoding
17module UTF32Testcases {
18
19import from Common all;
20
21//=========================================================================
22// Testcases
23//=========================================================================
24
25// Insert test cases here if applicable!
26// You can use the test_case skeleton!
27
28testcase tc_converter_test_temp() runs on MTC {
29 var octetstring o := '010203040a0b0c0d'O
30
31 f_changeOrderUTF32(o)
32 log(o);
33 if(o=='040302010d0c0b0a'O){
34 setverdict(pass);
35 } else {
36 setverdict(fail);
37 }
38}
39
40
41//==== The next 4 testcase groups uses the Uncode standard 5.0 / Chapter 3/ Table 3-9 ======
42
43//===1===
44testcase tc_oct2unichar_UTF32_1() runs on MTC {
45 var octetstring o := c_BOM_UTF32BE & '0000004D'O
46 var universal charstring u_expected := char(0,0,0,77);
47
48 f_oct2unichar_positivetest(
49 inputOs:=o,
50 encType:="UTF-32",
51 expectedUCS:= u_expected,
52 expectedEncType:="UTF-32BE",
53 expectedOs := o
54 )
55}
56
57testcase tc_oct2unichar_UTF32BE_1() runs on MTC {
58 var octetstring o := c_BOM_UTF32BE & '0000004D'O
59 var universal charstring u_expected := char(0,0,0,77);
60
61
62 f_oct2unichar_positivetest(
63 inputOs:=o,
64 encType:="UTF-32BE",
65 expectedUCS:= u_expected,
66 expectedEncType:="UTF-32BE",
67 expectedOs := o
68 )
69}
70
71testcase tc_oct2unichar_UTF32LE_1() runs on MTC {
72 var octetstring o := c_BOM_UTF32BE & '0000004D'O
73 var universal charstring u_expected := char(0,0,0,77);
74
75 f_changeOrderUTF32(o);
76
77 f_oct2unichar_positivetest(
78 inputOs:=o,
79 encType:="UTF-32LE",
80 expectedUCS:= u_expected,
81 expectedEncType:="UTF-32LE",
82 expectedOs := o
83 )
84}
85
86//===2===
87testcase tc_oct2unichar_UTF32_2() runs on MTC {
88 var octetstring o := c_BOM_UTF32BE & '00000430'O
89 var universal charstring u_expected := char(0,0,4,48);
90
91 f_oct2unichar_positivetest(
92 inputOs:=o,
93 encType:="UTF-32",
94 expectedUCS:= u_expected,
95 expectedEncType:="UTF-32BE",
96 expectedOs := o
97 )
98}
99
100testcase tc_oct2unichar_UTF32BE_2() runs on MTC {
101 var octetstring o := c_BOM_UTF32BE & '00000430'O
102 var universal charstring u_expected := char(0,0,4,48);
103
104
105 f_oct2unichar_positivetest(
106 inputOs:=o,
107 encType:="UTF-32BE",
108 expectedUCS:= u_expected,
109 expectedEncType:="UTF-32BE",
110 expectedOs := o
111 )
112}
113
114
115
116testcase tc_oct2unichar_UTF32LE_2() runs on MTC {
117 var octetstring o := c_BOM_UTF32BE & '00000430'O
118 var universal charstring u_expected := char(0,0,4,48);
119
120 f_changeOrderUTF32(o);
121
122 f_oct2unichar_positivetest(
123 inputOs:=o,
124 encType:="UTF-32LE",
125 expectedUCS:= u_expected,
126 expectedEncType:="UTF-32LE",
127 expectedOs := o
128 )
129}
130
131//===3===
132testcase tc_oct2unichar_UTF32_3() runs on MTC {
133 var octetstring o := c_BOM_UTF32BE & '00004E8C'O
134 var universal charstring u_expected := char(0,0,78,140);
135
136 f_oct2unichar_positivetest(
137 inputOs:=o,
138 encType:="UTF-32",
139 expectedUCS:= u_expected,
140 expectedEncType:="UTF-32BE",
141 expectedOs := o
142 )
143}
144
145testcase tc_oct2unichar_UTF32BE_3() runs on MTC {
146 var octetstring o := c_BOM_UTF32BE & '00004E8C'O
147 var universal charstring u_expected := char(0,0,78,140);
148
149
150 f_oct2unichar_positivetest(
151 inputOs:=o,
152 encType:="UTF-32BE",
153 expectedUCS:= u_expected,
154 expectedEncType:="UTF-32BE",
155 expectedOs := o
156 )
157}
158
159testcase tc_oct2unichar_UTF32LE_3() runs on MTC {
160 var octetstring o := c_BOM_UTF32BE & '00004E8C'O
161 var universal charstring u_expected := char(0,0,78,140);
162
163 f_changeOrderUTF32(o);
164
165 f_oct2unichar_positivetest(
166 inputOs:=o,
167 encType:="UTF-32LE",
168 expectedUCS:= u_expected,
169 expectedEncType:="UTF-32LE",
170 expectedOs := o
171 )
172}
173
174
175//==4==
176testcase tc_oct2unichar_UTF32_4() runs on MTC {
177 var octetstring o := c_BOM_UTF32BE & '00010302'O
178 var universal charstring u_expected := char(0,1,3,2);
179
180 f_oct2unichar_positivetest(
181 inputOs:=o,
182 encType:="UTF-32",
183 expectedUCS:=char(0,1,3,2),
184 expectedEncType:="UTF-32BE",
185 expectedOs := o
186 )
187}
188
189testcase tc_oct2unichar_UTF32BE_4() runs on MTC {
190 var octetstring o := c_BOM_UTF32BE & '00010302'O
191 var universal charstring u_expected := char(0,1,3,2);
192
193
194 f_oct2unichar_positivetest(
195 inputOs:=o,
196 encType:="UTF-32BE",
197 expectedUCS:=char(0,1,3,2),
198 expectedEncType:="UTF-32BE",
199 expectedOs := o
200 )
201}
202
203
204
205testcase tc_oct2unichar_UTF32LE_4() runs on MTC {
206 var octetstring o := c_BOM_UTF32BE & '00010302'O
207
208 var universal charstring u_expected := char(0,1,3,2);
209
210 f_changeOrderUTF32(o);
211
212 f_oct2unichar_positivetest(
213 inputOs:=o,
214 encType:="UTF-32LE",
215 expectedUCS:=char(0,1,3,2),
216 expectedEncType:="UTF-32LE",
217 expectedOs := o
218 )
219}
220
221testcase tc_oct2unichar_UTF32_4_negative() runs on MTC {
222 var octetstring o := c_BOM_UTF32BE & '00010302'O
223 var universal charstring u_expected := char(0,1,3,2);
224
225 f_changeOrderUTF32(o);
226
227 f_oct2unichar_negativetest(
228 inputOs:=o,
229 encType:="UTF-32",
230 expectedErrorMsg:="Any UTF-32 code \(0xFFFE0000\) greater than 0x0010FFFF is ill-formed"
231 )
232}
233
234testcase tc_oct2unichar_UTF32BE_4_negative() runs on MTC {
235 var octetstring o := c_BOM_UTF32BE & '00010302'O
236 var universal charstring u_expected := char(0,1,3,2);
237
238 f_changeOrderUTF32(o);
239
240 f_oct2unichar_negativetest(
241 inputOs:=o,
242 encType:="UTF-32BE",
243 expectedErrorMsg:="Any UTF-32 code \(0xFFFE0000\) greater than 0x0010FFFF is ill-formed"
244 )
245}
246
247testcase tc_oct2unichar_UTF32LE_4_negative() runs on MTC {
248 var octetstring o := c_BOM_UTF32BE & '00010302'O
249 var universal charstring u_expected := char(0,1,3,2);
250
251 f_oct2unichar_negativetest(
252 inputOs:=o,
253 encType:="UTF-32LE",
254 expectedErrorMsg:="Any UTF-32 code \(0xFFFE0000\) greater than 0x0010FFFF is ill-formed"
255 )
256}
257
258
259// ==== General test ===
260
261testcase tc_oct2unichar_UTF32BE_BMP_low() runs on MTC {
262
263 var integer L := 0;
264 var integer N := oct2int('D7FF'O)
265
266 for(var integer i:=L;i<=N;i:=i+2049) {
267
268 for(var integer j:=0;j<4;j:=j+1) {
269 f_oct2unichar_positivetest(
270 inputOs := c_BOM_UTF32BE & int2oct(i+j,4),
271 encType := "UTF-32BE",
272 expectedUCS := int2unichar(i+j),
273 expectedEncType := "UTF-32BE"
274 )
275 }
276
277 }
278}
279
280testcase tc_oct2unichar_UTF32BE_BMP_hi() runs on MTC {
281
282 var integer L := oct2int('E000'O)
283 var integer N := oct2int('FFFF'O)
284
285 for(var integer i:=L;i<=N;i:=i+2049) {
286
287 for(var integer j:=0;j<4;j:=j+1) {
288 log(">>=====i: ",i," j: ",j,"=======")
289 f_oct2unichar_positivetest(
290 inputOs := c_BOM_UTF32BE & int2oct(i+j,4),
291 encType := "UTF-32BE",
292 expectedUCS := int2unichar(i+j),
293 expectedEncType := "UTF-32BE"
294 )
295 }
296
297 }
298}
299
300testcase tc_oct2unichar_UTF32LE_BMP_low() runs on MTC {
301
302 var integer L := 0;
303 var integer N := oct2int('D7FF'O)
304 var octetstring o;
305
306 for(var integer i:=L;i<=N;i:=i+2049) {
307
308 for(var integer j:=0;j<4;j:=j+1) {
309 o:=c_BOM_UTF32BE & int2oct(i+j,4);
310 f_changeOrderUTF32(o);
311 f_oct2unichar_positivetest(
312 inputOs := o,
313 encType := "UTF-32LE",
314 expectedUCS := int2unichar(i+j),
315 expectedEncType := "UTF-32LE"
316 )
317 }
318
319 }
320}
321
322testcase tc_oct2unichar_UTF32LE_BMP_hi() runs on MTC {
323
324 var integer L := oct2int('E000'O)
325 var integer N := oct2int('FFFF'O)
326 var octetstring o;
327
328 for(var integer i:=L;i<=N;i:=i+2049) {
329 for(var integer j:=0;j<4;j:=j+1) {
330 o:=c_BOM_UTF32BE & int2oct(i+j,4);
331 f_changeOrderUTF32(o);
332 f_oct2unichar_positivetest(
333 inputOs := o,
334 encType := "UTF-32LE",
335 expectedUCS := int2unichar(i+j),
336 expectedEncType := "UTF-32LE"
337 )
338 }
339
340 }
341}
342
343//=== higher planes ====
344
345testcase tc_oct2unichar_UTF32() runs on MTC {
346
347 var integer L := oct2int('010000'O);
348 var integer N := oct2int('10FFFF'O)
349
350 for(var integer i:=L;i<=N;i:=i+25007) {
351
352 for(var integer j:=0;j<4;j:=j+1) {
353 log("=====i: ",i," j: ",j,"=======")
354 f_oct2unichar_positivetest(
355 inputOs := c_BOM_UTF32BE & int2oct(i+j,4),
356 encType := "UTF-32",
357 expectedUCS := int2unichar(i+j),
358 expectedEncType := "UTF-32BE"
359 )
360 }
361
362 }
363}
364
365testcase tc_oct2unichar_UTF32BE() runs on MTC {
366
367 var integer L := oct2int('010000'O);
368 var integer N := oct2int('10FFFF'O)
369
370 for(var integer i:=L;i<=N;i:=i+256*64) {
371
372 for(var integer j:=0;j<4;j:=j+1) {
373 f_oct2unichar_positivetest(
374 inputOs := c_BOM_UTF32BE & int2oct(i+j,4),
375 encType := "UTF-32BE",
376 expectedUCS := int2unichar(i+j),
377 expectedEncType := "UTF-32BE"
378 )
379 }
380
381 }
382}
383
384
385testcase tc_oct2unichar_UTF32LE() runs on MTC {
386
387 var integer L := oct2int('010000'O);
388 var integer N := oct2int('10FFFF'O)
389 var octetstring o;
390
391 for(var integer i:=L;i<=N;i:=i+256*64) {
392
393 for(var integer j:=0;j<4;j:=j+1) {
394 o:=c_BOM_UTF32BE & int2oct(i+j,4);
395 f_changeOrderUTF32(o);
396 f_oct2unichar_positivetest(
397 inputOs := o,
398 encType := "UTF-32LE",
399 expectedUCS := int2unichar(i+j),
400 expectedEncType := "UTF-32LE"
401 )
402 }
403
404 }
405}
406
407testcase tc_unichar2oct_utf32_asciistring() runs on MTC {
d44e3c4f 408 var universal charstring us1 := c_arvizturo; //"Ã\81rvíztűrÅ\91 tükörfúrógép"
970ed795
EL
409 var universal charstring us2 :="Steve Jobs likes the Apple"
410 //2
411 var octetstring os_expected := f_ucharstring2utf32BE(us1);
412
413 f_unichar2oct_positivetest(
414 u := us1,
415 encodingType:="UTF-32",
416 expectedResult := os_expected
417 )
418
419 os_expected := f_ucharstring2utf32BE(us2);
420
421 f_unichar2oct_positivetest(
422 u := us2,
423 encodingType:="UTF-32",
424 expectedResult := os_expected
425 )
426
427
428
429}
430
431testcase tc_unichar2oct_utf32BE_asciistring() runs on MTC {
432
d44e3c4f 433 var universal charstring us1 := c_arvizturo; //"Ã\81rvíztűrÅ\91 tükörfúrógép"
970ed795
EL
434 var universal charstring us2 :="Steve Jobs likes the Apple"
435
436 var octetstring os_expected := f_ucharstring2utf32BE(us1);
437
438 f_unichar2oct_positivetest(
439 u := us1,
440 encodingType:="UTF-32BE",
441 expectedResult := os_expected
442 )
443
444 os_expected := f_ucharstring2utf32BE(us2);
445
446 f_unichar2oct_positivetest(
447 u := us2,
448 encodingType:="UTF-32BE",
449 expectedResult := os_expected
450 )
451
452}
453
454
455testcase tc_unichar2oct_utf32LE_asciistring() runs on MTC {
456
d44e3c4f 457 var universal charstring us1 := c_arvizturo; //"Ã\81rvíztűrÅ\91 tükörfúrógép"
970ed795
EL
458 var universal charstring us2 :="Steve Jobs likes the Apple"
459
460 var octetstring os_expected := f_ucharstring2utf32BE(us1);
461 if( not f_changeOrderUTF32(os_expected) ) { setverdict(fail, "Odd length is not expected") }
462 f_unichar2oct_positivetest(
463 u := us1,
464 encodingType:="UTF-32LE",
465 expectedResult := os_expected
466 )
467
468 os_expected := f_ucharstring2utf32BE(us2);
469 if( not f_changeOrderUTF32(os_expected) ) { setverdict(fail, "Odd length is not expected") }
470 f_unichar2oct_positivetest(
471 u := us2,
472 encodingType:="UTF-32LE",
473 expectedResult := os_expected
474 )
475
476}
477
478
479testcase tc_unichar2oct_utf32_upperplane_longer() runs on MTC {
480 var RoUCS us := {
481 char(0,1,0,0) & char(0,1,0,175) & char(0,1,255,255),
482 char(0,2,0,0) & char(0,2,0,175) & char(0,2,255,255),
483 char(0,3,0,0) & char(0,3,0,175) & char(0,3,255,255),
484 char(0,15,0,0)& char(0,15,0,175)& char(0,15,255,255),
485 char(0,16,0,0)& char(0,16,0,175)& char(0,16,255,255),
486 char(0,16,0,0) & char(0,0,0,1) & " "
487 };
488 var octetstring os_expected;
489 var integer len:=lengthof(us);
490
491 for(var integer i:=0;i<len;i:=i+1) {
492 os_expected := f_ucharstring2utf32BE(us[i]);
493 f_unichar2oct_positivetest(
494 u := us[i],
495 encodingType:="UTF-32",
496 expectedResult := os_expected
497 )
498 }
499}
500
501testcase tc_unichar2oct_utf32BE_upperplane_longer() runs on MTC {
502 var RoUCS us := {
503 char(0,1,0,0) & char(0,1,0,175) & char(0,1,255,255),
504 char(0,2,0,0) & char(0,2,0,175) & char(0,2,255,255),
505 char(0,3,0,0) & char(0,3,0,175) & char(0,3,255,255),
506 char(0,15,0,0)& char(0,15,0,175)& char(0,15,255,255),
507 char(0,16,0,0)& char(0,16,0,175)& char(0,16,255,255),
508 char(0,16,0,0) & char(0,0,0,1) & " "
509 };
510 var octetstring os_expected;
511 var integer len:=lengthof(us);
512
513 for(var integer i:=0;i<len;i:=i+1) {
514 os_expected := f_ucharstring2utf32BE(us[i]);
515 f_unichar2oct_positivetest(
516 u := us[i],
517 encodingType:="UTF-32BE",
518 expectedResult := os_expected
519 )
520 }
521}
522
523testcase tc_unichar2oct_utf32LE_upperplane_longer() runs on MTC {
524 var RoUCS us := {
525 char(0,1,0,0) & char(0,1,0,175) & char(0,1,255,255),
526 char(0,2,0,0) & char(0,2,0,175) & char(0,2,255,255),
527 char(0,3,0,0) & char(0,3,0,175) & char(0,3,255,255),
528 char(0,15,0,0)& char(0,15,0,175)& char(0,15,255,255),
529 char(0,16,0,0)& char(0,16,0,175)& char(0,16,255,255),
530 char(0,16,0,0) & char(0,0,0,1) & " "
531 };
532 var octetstring os_expected;
533 var integer len:=lengthof(us);
534
535 for(var integer i:=0;i<len;i:=i+1) {
536 os_expected := f_ucharstring2utf32BE(us[i]);
537 if( not f_changeOrderUTF32(os_expected) ) { setverdict(fail, "Odd length is not expected") }
538 f_unichar2oct_positivetest(
539 u := us[i],
540 encodingType:="UTF-32LE",
541 expectedResult := os_expected
542 )
543 }
544}
545//=========================================================================
546// Control
547//=========================================================================
548
549control{
550 execute(tc_converter_test_temp())
551 execute(tc_oct2unichar_UTF32_1());
552 execute(tc_oct2unichar_UTF32BE_1());
553 execute(tc_oct2unichar_UTF32LE_1());
554 execute(tc_oct2unichar_UTF32_2());
555 execute(tc_oct2unichar_UTF32BE_2());
556 execute(tc_oct2unichar_UTF32LE_2());
557 execute(tc_oct2unichar_UTF32_3());
558 execute(tc_oct2unichar_UTF32BE_3());
559 execute(tc_oct2unichar_UTF32LE_3());
560 execute(tc_oct2unichar_UTF32_4());
561 execute(tc_oct2unichar_UTF32BE_4());
562 execute(tc_oct2unichar_UTF32LE_4());
563 execute(tc_oct2unichar_UTF32_4_negative());
564 execute(tc_oct2unichar_UTF32BE_4_negative());
565 execute(tc_oct2unichar_UTF32LE_4_negative());
566 execute(tc_oct2unichar_UTF32BE_BMP_low());
567 execute(tc_oct2unichar_UTF32BE_BMP_hi());
568 execute(tc_oct2unichar_UTF32LE_BMP_low());
569 execute(tc_oct2unichar_UTF32LE_BMP_hi());
570 execute(tc_oct2unichar_UTF32());
571 execute(tc_oct2unichar_UTF32BE());
572 execute(tc_oct2unichar_UTF32LE());
573 execute(tc_unichar2oct_utf32_asciistring());
574 execute(tc_unichar2oct_utf32BE_asciistring());
575 execute(tc_unichar2oct_utf32LE_asciistring());
576 execute(tc_unichar2oct_utf32_upperplane_longer());
577 execute(tc_unichar2oct_utf32BE_upperplane_longer());
578 execute(tc_unichar2oct_utf32LE_upperplane_longer());
579}
580
581} // end of module
This page took 0.045065 seconds and 5 git commands to generate.