81cb2fd2e02fdf8457b48aae6ed621a53296f735
[deliverable/titan.core.git] / regression_test / json / Testcases.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 module Testcases {
9
10 import from Functions all;
11 import from Types all;
12 import from JsonData language "ASN.1" all;
13
14 modulepar R tsp_r := {
15 i:= 1,
16 cs:="two",
17 b:=true,
18 d:=Monday
19 };
20
21 modulepar charstring tsp_cs_long := "123456789123456789123456789 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ;""'\\/\n\r\t\f\b.,<>?|:][{}=-+!@#$%^&*()";
22
23
24
25
26 const octetstring c_BOM_UTF8 :='EFBBBF'O;
27
28 const integer c_i :=18
29
30 const R c_r := {
31 i:= 1,
32 cs:="two",
33 b:=true,
34 d:= Monday
35 };
36
37 const charstring qm := "\""; //quotation mark
38 const octetstring qmo :='22'O;
39 const octetstring commao := '2C'O;
40 const universal charstring c_arvizturo := char(0,0,0,193)&"rv"&char(0,0,0,237)&"zt"&char(0,0,1,113)&"r"&char(0,0,1,81) & "t" & char(0,0,0,252)&"k"&char(0,0,0,246)&"rfr"&char(0,0,0,243)&"g"&char(0,0,0,233)&"p";
41 const charstring c_cs_long := "123456789123456789123456789 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ;"
42 const charstring c_cs_escapes := "'\\/\n\r\t\f\b.,<>?|:][{}=-+!@#$%^&*()";
43
44
45 //=========================================================================
46 // Testcases
47 //=========================================================================
48
49 testcase tc_integer_pos() runs on MTC{
50 var integer x1 := 18;
51 f_check_encoding(encoded:= f_enc_int(x1), expected := '3138'O)
52 f_bool2verdict(x1==f_dec_int(f_enc_int(x1)));
53 }
54
55 testcase tc_integer_0() runs on MTC{
56 var integer x1 := 0;
57 f_check_encoding(encoded:= f_enc_int(x1), expected := '30'O)
58 f_bool2verdict(x1==f_dec_int(f_enc_int(x1)));
59 }
60
61 testcase tc_integer_neg() runs on MTC{
62 var integer x := -917805;
63
64 f_check_encoding(encoded:= f_enc_int(x), expected := char2oct(int2str(x))) ;
65 f_bool2verdict(x==f_dec_int(f_enc_int(x)));
66 }
67
68 testcase tc_integer_bigpos() runs on MTC{
69 var integer x1 := 123456789123456789123456789;
70 f_check_encoding(encoded:= f_enc_int(x1), expected := '313233343536373839313233343536373839313233343536373839'O)
71 f_bool2verdict(x1==f_dec_int(f_enc_int(x1)));
72 }
73
74 testcase tc_integer_expression1() runs on MTC{
75 var integer x := 2;
76 var octetstring os:= f_enc_int( 6*x )
77 f_check_encoding(encoded:= os, expected := '3132'O)
78 f_bool2verdict(12==f_dec_int(os));
79 }
80
81 testcase tc_integer_const() runs on MTC{
82
83 var octetstring os:= f_enc_int( c_i )
84 f_check_encoding(encoded:= os, expected := '3138'O)
85 f_bool2verdict(c_i==f_dec_int(os));
86 }
87
88 testcase tc_integer_imported() runs on MTC{
89 var octetstring os:= f_enc_int( c_imported_i )
90 f_check_encoding(encoded:= os, expected := '3131'O)
91 f_bool2verdict(c_imported_i==f_dec_int(os));
92 }
93
94 testcase tc_boolean_true() runs on MTC{
95 var boolean x := true;
96 var octetstring os:= f_enc_bool( x )
97 f_check_encoding(encoded:= os, expected := char2oct("true"));
98 f_bool2verdict(x==f_dec_bool(os));
99 }
100
101 testcase tc_boolean_false() runs on MTC{
102 var boolean x := false;
103 var octetstring os:= f_enc_bool( x )
104 f_check_encoding(encoded:= os, expected := char2oct("false"));
105 f_bool2verdict(x==f_dec_bool(os));
106 }
107
108 testcase tc_charstring_ascii_basic() runs on MTC{
109 var charstring cs := "everything or nothing"
110 var octetstring os:= f_enc_cs( cs )
111 f_check_encoding(encoded:= os, expected := char2oct(qm & cs & qm));
112 f_bool2verdict(cs==f_dec_cs(os));
113 }
114
115 testcase tc_charstring_ascii_basic_long() runs on MTC{
116 var charstring cs := c_cs_long;
117 var octetstring os:= f_enc_cs( cs )
118 f_check_encoding(encoded:= os, expected := char2oct(qm & cs & qm));
119 f_bool2verdict(cs==f_dec_cs(os));
120 }
121
122 testcase tc_charstring_ascii_basic_long_const() runs on MTC{
123 var charstring cs := c_cs_long;
124 var octetstring os:= f_enc_cs( c_cs_long )
125 f_check_encoding(encoded:= os, expected := char2oct(qm & cs & qm));
126 f_bool2verdict( cs ==f_dec_cs(os));
127 }
128
129 testcase tc_charstring_ascii_basic_punctuation() runs on MTC{
130 var charstring cs := ".,<>?|:][{}=-+!@#$%^&*()";
131 var octetstring os:= f_enc_cs( cs )
132 f_check_encoding(encoded:= os, expected := char2oct(qm & cs & qm));
133 f_bool2verdict(cs ==f_dec_cs(os));
134 }
135
136
137 testcase tc_charstring_ascii_basic_escapes() runs on MTC{
138 var RoCS cs := {
139 "\\","/","\n",
140 "\r","\t","\f","\b"
141 };
142 var RoOS os_expected := {
143 '225C5C22'O, '222F22'O,'225C6E22'O,
144 '225C7222'O,'225C7422'O,'225C6622'O, '225C6222'O
145 };
146 var integer len:=lengthof(cs);
147
148 for(var integer i:=0;i<len;i:=i+1) {
149 var octetstring os:= f_enc_cs( cs[i] )
150 f_check_encoding(encoded:= os, expected := os_expected[i]);
151 f_bool2verdict(cs[i] ==f_dec_cs(os_expected[i]));
152 }
153 }
154
155 testcase tc_charstring_ascii_extended1() runs on MTC{
156 var charstring cs := "Vire au Vert l"&char(0,0,0,224)&"!";
157 var octetstring os:= f_enc_cs( cs )
158 f_check_encoding(encoded:= os, expected := char2oct(qm & cs & qm));
159 @try{
160 f_bool2verdict(cs==f_dec_cs(os));
161 setverdict(fail,"error expected")
162 }
163 @catch(err_msg) {
164 setverdict(pass,"expected error, ok")
165 }
166
167 }
168
169 testcase tc_ucharstring_ascii_extended1_xer() runs on MTC{
170 var universal charstring ucs := "Vire au Vert l" & char(0,0,0,224)&"!";
171 var octetstring os:= f_enc_ucs_x( ucs )
172 log( "Octetstring:" , os);
173
174 @try{
175 f_bool2verdict(ucs==f_dec_ucs_x(os));
176 setverdict(pass,ucs," == ", f_dec_ucs_x(os) );
177 }
178 @catch(err_msg) {
179 setverdict(fail,"unexpected error, nok")
180 }
181 }
182
183
184
185 //========== Universal Charstring =================
186
187
188
189 testcase tc_ucharstring_ascii_basic_long() runs on MTC{
190 var universal charstring ucs := c_cs_long;
191 var octetstring os:= f_enc_ucs( ucs )
192 f_check_encoding(encoded:= os, expected := remove_bom(unichar2oct( qm & ucs & qm, "UTF-8")));
193 f_bool2verdict(ucs==f_dec_ucs(os));
194 }
195
196 testcase tc_ucharstring_ascii_basic_escapes() runs on MTC{
197 var RoUCS cs := {
198 "\\","/","\n",
199 "\r","\t","\f","\b"
200 };
201 var RoOS os_expected := {
202 '225C5C22'O, '222F22'O,'225C6E22'O,
203 '225C7222'O,'225C7422'O,'225C6622'O, '225C6222'O
204 };
205 var integer len:=lengthof(cs);
206
207 for(var integer i:=0;i<len;i:=i+1) {
208 var octetstring os:= f_enc_ucs( cs[i] )
209 f_check_encoding(encoded:= os, expected := os_expected[i]);
210 f_bool2verdict(cs[i] ==f_dec_ucs(os_expected[i]));
211 }
212 }
213
214 testcase tc_ucharstring_ascii_extended1() runs on MTC{
215 var universal charstring ucs := "Vire au Vert l" & char(0,0,0,224)&"!";
216 var octetstring os:= f_enc_ucs( ucs )
217 f_check_encoding(encoded:= os, expected := remove_bom(unichar2oct( qm & ucs & qm, "UTF-8")));
218 f_bool2verdict(ucs==f_dec_ucs(os));
219 }
220
221 testcase tc_ucharstring_ascii_extended2() runs on MTC{
222 //var universal charstring ucs := "Árvíztűrő tükörfúrógép";'
223 var universal charstring ucs :="Ár";
224 var octetstring os:= f_enc_ucs( ucs )
225 f_check_encoding(encoded:= os, expected := remove_bom(unichar2oct( qm & ucs & qm, "UTF-8")));
226 f_bool2verdict(ucs==f_dec_ucs(os));
227 }
228
229 testcase tc_ucharstring_ascii_extended3() runs on MTC{
230 var universal charstring ucs := c_arvizturo;
231 log("ucs:",ucs);
232 var octetstring os:= f_enc_ucs( ucs )
233 f_check_encoding(encoded:= os, expected := remove_bom(unichar2oct( qm & ucs & qm, "UTF-8")));
234 f_bool2verdict(ucs==f_dec_ucs(os));
235 }
236
237 testcase tc_ucharstring_higherplanes() runs on MTC{
238 var RoUCS us := {
239 char(0,1,0,0) & char(0,1,0,175) & char(0,1,255,255),
240 char(0,2,0,0) & char(0,2,0,175) & char(0,2,255,255),
241 char(0,3,0,0) & char(0,3,0,175) & char(0,3,255,255),
242 char(0,15,0,0)& char(0,15,0,175)& char(0,15,255,255),
243 char(0,16,0,0)& char(0,16,0,175)& char(0,16,255,255),
244 char(0,16,0,0) & char(0,0,0,1) & " "
245 };
246 var octetstring os;
247 var integer len:=lengthof(us);
248
249 for(var integer i:=0;i<len;i:=i+1) {
250 os:= f_enc_ucs( us[i] );
251 f_check_encoding(encoded:= os, expected := remove_bom(unichar2oct( qm & us[i] & qm, "UTF-8")));
252 f_bool2verdict(us[i]==f_dec_ucs(os));
253 }
254 }
255
256 //========= Octetstring ===================
257
258 testcase tc_octetstring() runs on MTC{
259 var octetstring o := '51AD7F32112CC89D'O;
260 var octetstring os:= f_enc_os( o )
261 f_check_encoding(encoded:= os, expected := '223531414437463332313132434338394422'O);
262 f_check_encoding(encoded:= os, expected := qmo & char2oct(oct2str(o)) & qmo);
263 f_bool2verdict(o == f_dec_os(os));
264 }
265
266
267 //========= Hexstring ===================
268
269 testcase tc_hexstring() runs on MTC{
270 var hexstring h := '51AD7F32112CC89D1778DE213A345BA'H;
271 log(hex2str(h));
272 var octetstring os:= f_enc_hex( h );
273
274 f_check_encoding(encoded:= os, expected := '223531414437463332313132434338394431373738444532313341333435424122'O);
275 f_check_encoding(encoded:= os, expected := qmo & char2oct(hex2str(h)) & qmo);
276 f_bool2verdict(h == f_dec_hex(os));
277 }
278
279
280 //========= Bitstring ===================
281 testcase tc_bitstring() runs on MTC{
282 var bitstring bs := '1101001101111011'B;
283 var octetstring os:= f_enc_bit(bs);
284 f_check_encoding(encoded:= os, expected := qmo & char2oct(bit2str(bs)) & qmo);
285 f_bool2verdict(bs == f_dec_bit(os));
286 }
287
288 //========= Verdicttype ===================
289 testcase tc_verdicttype() runs on MTC{
290 var RoV vt := { none, inconc, pass, fail, error};
291 var RoCS cs :={"none","inconc","pass", "fail", "error"}
292 //var verdicttype vt := inconc;
293 var octetstring os;
294 var integer len :=lengthof(vt)
295 for(var integer i:=0;i<len;i:=i+1) {
296 os:= f_enc_vt(vt[i]);
297 f_check_encoding(encoded:= os, expected := qmo & char2oct(cs[i]) & qmo);
298 f_bool2verdict(vt[i] == f_dec_vt(f_enc_vt(vt[i])));
299 }
300
301 }
302
303 //========= Float ===================
304 testcase tc_float() runs on MTC{
305 var RoF f := { 58.1165, 19.6695e16, not_a_number, infinity, -infinity };
306 var RoCS cs := {"58.116500","1.966950e+17","\"not_a_number\"", "\"infinity\"", "\"-infinity\""}
307 var octetstring os;
308 var integer len :=lengthof(f)
309
310 for(var integer i:=0;i<len;i:=i+1) {
311 os:= f_enc_f(f[i]);
312 f_check_encoding(encoded:= os, expected := char2oct(cs[i]) );
313 log(f_dec_f(f_enc_f(f[i])))
314 f_bool2verdict( f[i] == f_dec_f(f_enc_f(f[i])) ) ;
315 }
316
317 }
318
319
320 //============ enum ======================
321
322 testcase tc_enum() runs on MTC{
323 var Days day := Monday;
324 var octetstring os:= char2oct("Monday");
325 f_check_encoding(encoded:= os, expected := char2oct("Monday") );
326 f_bool2verdict(day ==f_dec_days(f_enc_days(day)) )
327 }
328
329 //===== Record =======
330
331 testcase tc_record() runs on MTC{
332 var R r := {
333 i:= 1,
334 cs:="two",
335 b:=true,
336 d:=Monday
337 };
338 var octetstring os := char2oct("{\"i\":1,\"cs\":\"two\",\"b\":true,\"d\":\"Monday\"}");
339 f_check_encoding(encoded:= f_enc_R(r), expected := os)
340 f_bool2verdict(match(f_dec_R(f_enc_R(r)), r));
341 }
342
343 testcase tc_record_const() runs on MTC{
344 var octetstring os := char2oct("{\"i\":1,\"cs\":\"two\",\"b\":true,\"d\":\"Monday\"}");
345 f_check_encoding(encoded:= f_enc_R(c_r), expected := os)
346 f_bool2verdict(match(f_dec_R(f_enc_R(c_r)), c_r));
347 }
348
349 testcase tc_record_modulepar() runs on MTC{
350 var octetstring os := char2oct("{\"i\":1,\"cs\":\"two\",\"b\":true,\"d\":\"Monday\"}");
351 f_check_encoding(encoded:= f_enc_R(tsp_r), expected := os)
352 f_bool2verdict(match(f_dec_R(f_enc_R(tsp_r)), tsp_r));
353 }
354
355 testcase tc_record_empty() runs on MTC{
356 var EmptyRec r := { };
357 var octetstring os := char2oct("{}");
358 f_check_encoding(encoded:= f_enc_ER(r), expected := os)
359 f_bool2verdict(match(f_dec_ER(f_enc_ER(r)), r));
360 }
361
362
363 //====== Record of===============
364
365 //ROI
366 testcase tc_recordofinteger_empty() runs on MTC{
367 var RoI r:={}
368 var octetstring os := char2oct("[]");
369 f_check_encoding(encoded:= f_enc_roi(r), expected := os)
370 f_bool2verdict(match(f_dec_roi(f_enc_roi(r)), r));
371 }
372
373 testcase tc_recordofinteger_short() runs on MTC{
374 var RoI r:= { 1, 4, 5, 7, 6, 6, 4, 0 , -1 };
375 var octetstring os := char2oct("[1,4,5,7,6,6,4,0,-1]");
376 f_check_encoding(encoded:= f_enc_roi(r), expected := os)
377 f_bool2verdict(match(f_dec_roi(f_enc_roi(r)), r));
378 }
379
380 testcase tc_recordofinteger_long() runs on MTC{
381 var RoI r:= {0};
382 var octetstring os := char2oct("[0");
383 //init:
384
385 for(var integer i:=1; i<50; i:=i+1) {
386 r[i]:=i;
387 os := os & commao & char2oct(int2str(i));
388 }
389 os := os & char2oct("]")
390 log(r);
391 log(os)
392 //test:
393 f_check_encoding(encoded:= f_enc_roi(r), expected := os)
394 f_bool2verdict(match(f_dec_roi(f_enc_roi(r)), r));
395 }
396
397 //RoF
398 testcase tc_recordoffloat_empty() runs on MTC{
399 var RoF r:={}
400 var octetstring os := char2oct("[]");
401 f_check_encoding(encoded:= f_enc_rof(r), expected := os)
402 f_bool2verdict(match(f_dec_rof(f_enc_rof(r)), r));
403 }
404
405 testcase tc_recordoffloat_short() runs on MTC{
406 var RoF r:={1.0, 1.234, 12.345e12, 12.345e-3, infinity}
407 var octetstring os := char2oct("[1.000000,1.234000,1.234500e+13,0.012345,\"infinity\"]");
408 f_check_encoding(encoded:= f_enc_rof(r), expected := os)
409 f_bool2verdict( match(r,f_dec_rof(f_enc_rof(r))));
410 log(match(r,f_dec_rof(f_enc_rof(r))));
411 }
412
413 //RoCS
414 testcase tc_recordofCS_empty() runs on MTC{
415 var RoCS r:={}
416 var octetstring os := char2oct("[]");
417 f_check_encoding(encoded:= f_enc_rocs(r), expected := os)
418 f_bool2verdict(match(f_dec_rocs(f_enc_rocs(r)), r));
419 }
420
421 testcase tc_recordofCS_short() runs on MTC{
422 var RoCS r:={ "alMa", "","korte","joe@gmail.com"}
423 var octetstring os := char2oct("[\"alMa\",\"\",\"korte\",\"joe@gmail.com\"]");
424 f_check_encoding(encoded:= f_enc_rocs(r), expected := os)
425 f_bool2verdict( match(r,f_dec_rocs(f_enc_rocs(r))));
426 log(match(r,f_dec_rocs(f_enc_rocs(r))));
427 }
428
429 //====== Array ==================
430
431 testcase tc_array_int() runs on MTC {
432 var IntArr r:= { 1, 4, 7 };
433 var octetstring os := char2oct("[1,4,7]");
434 f_check_encoding(encoded:= f_enc_ints(r), expected := os)
435 f_bool2verdict(match(r,f_dec_ints(f_enc_ints(r))));
436 log(match(r,f_dec_ints(f_enc_ints(r))));
437 }
438
439 testcase tc_array_float() runs on MTC {
440 var FloatArr r:= { 3.14, 2.73, 0.66666 };
441 var octetstring os := char2oct("[3.140000,2.730000,0.666660]");
442 f_check_encoding(encoded:= f_enc_floats(r), expected := os)
443 f_bool2verdict(match(r,f_dec_floats(f_enc_floats(r))));
444 log(match(r,f_dec_floats(f_enc_floats(r))));
445 }
446
447 testcase tc_array_str() runs on MTC {
448 var StrArr r:= { "red", "blue", "green", "white" };
449 var octetstring os := char2oct("[\"red\",\"blue\",\"green\",\"white\"]");
450 f_check_encoding(encoded:= f_enc_strs(r), expected := os)
451 f_bool2verdict(match(r,f_dec_strs(f_enc_strs(r))));
452 log(match(r,f_dec_strs(f_enc_strs(r))));
453 }
454
455 //====== Union ==================
456 testcase tc_union() runs on MTC{
457 var A myunion := { b:= true }
458 var octetstring os := char2oct("{\"b\":true}");
459 f_check_encoding(encoded:= f_enc_A(myunion), expected := os)
460 f_bool2verdict(match(f_dec_A(f_enc_A(myunion)), myunion));
461 }
462
463 testcase tc_union2() runs on MTC{
464 var A myunion := { f:= infinity }
465 var octetstring os := char2oct("{\"f\":\"infinity\"}");
466 f_check_encoding(encoded:= f_enc_A(myunion), expected := os)
467 f_bool2verdict(match(f_dec_A(f_enc_A(myunion)), myunion));
468 }
469
470 testcase tc_union_false() runs on MTC{
471 var A myunion := { b:= true }
472 var octetstring os := char2oct("{\"b\":true}");
473 f_check_encoding(encoded:= f_enc_A(myunion), expected := os)
474 @try{
475 var A retval := f_dec_A('ABBA'O);
476 setverdict(fail,"error expected, not received");
477 }
478 @catch( err_msg){
479 log(err_msg);
480 setverdict(pass,"expected error received")
481 }
482 }
483
484 //====== ASN.1 types ==================
485 // SEQUENCE OF INTEGER
486 testcase tc_asn_seqof() runs on MTC {
487 var octetstring os := char2oct(c_ints_str);
488 f_check_encoding(encoded:= f_enc_seqofint(c_ints), expected := os)
489 f_bool2verdict(match(f_dec_seqofint(os), c_ints));
490 }
491
492 // SEQUENCE
493 testcase tc_asn_seq() runs on MTC {
494 var octetstring os := char2oct(c_product_str);
495 f_check_encoding(encoded:= f_enc_seqprod(c_product), expected := os)
496 f_bool2verdict(match(f_dec_seqprod(os), c_product));
497 }
498
499 // CHOICE
500 testcase tc_asn_choice() runs on MTC {
501 var octetstring os := char2oct(c_number_str);
502 f_check_encoding(encoded:= f_enc_number(c_number), expected := os)
503 f_bool2verdict(match(f_dec_number(os), c_number));
504 }
505
506 // SEQUENCE OF CHOICE
507 testcase tc_asn_strings() runs on MTC {
508 var octetstring os := char2oct(c_strings_str);
509 f_check_encoding(encoded:= f_enc_strings(c_strings), expected := os)
510 f_bool2verdict(match(f_dec_strings(os), c_strings));
511 }
512
513 // SET containing a SEQUENCE, a SET OF CHOICE and a SEQUENCE OF CHOICE
514 testcase tc_asn_complex() runs on MTC {
515 var octetstring os := char2oct(c_set_val_str);
516 f_check_encoding(encoded:= f_enc_complex(c_set_val), expected := os)
517 f_bool2verdict(match(f_dec_complex(os), c_set_val));
518 }
519
520
521 //=========================================================================
522 // Control
523 //=========================================================================
524 control {
525
526 execute(tc_integer_pos());
527 execute(tc_integer_0());
528 execute(tc_integer_neg());
529 execute(tc_integer_bigpos());
530 execute(tc_integer_expression1());
531 execute(tc_integer_const());
532 execute(tc_integer_imported());
533 execute(tc_boolean_true());
534 execute(tc_boolean_false());
535 execute(tc_charstring_ascii_basic());
536 execute(tc_charstring_ascii_basic_long());
537 execute(tc_charstring_ascii_basic_long_const());
538 execute(tc_charstring_ascii_basic_punctuation());
539 execute(tc_charstring_ascii_basic_escapes());
540 execute(tc_charstring_ascii_extended1());
541 execute(tc_charstring_ascii_basic_escapes());
542
543 execute(tc_ucharstring_ascii_extended1_xer());
544 execute(tc_ucharstring_ascii_extended1());
545 execute(tc_ucharstring_ascii_extended2());
546 execute(tc_ucharstring_ascii_extended3());
547 execute(tc_ucharstring_higherplanes());
548 execute(tc_octetstring());
549 execute(tc_hexstring());
550 execute(tc_bitstring());
551 execute(tc_verdicttype());
552 execute(tc_float());
553 execute(tc_record());
554 execute(tc_record_const());
555 execute(tc_record_modulepar());
556 execute(tc_record_empty());
557 execute(tc_recordofinteger_empty());
558 execute(tc_recordofinteger_short());
559 execute(tc_recordoffloat_empty());
560 execute(tc_recordoffloat_short());
561 execute(tc_recordofCS_empty());
562 execute(tc_recordofCS_short());
563 execute(tc_array_int());
564 execute(tc_array_float());
565 execute(tc_array_str());
566 execute(tc_union());
567 execute(tc_union2());
568 execute(tc_union_false());
569
570 execute(tc_asn_seqof());
571 execute(tc_asn_seq());
572 execute(tc_asn_choice());
573 execute(tc_asn_strings());
574 execute(tc_asn_complex());
575 }
576
577
578 }
This page took 0.084608 seconds and 4 git commands to generate.