• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15import {BusinessError} from "@ohos.base";
16import * as namespace2Test from "my_ns";
17import * as namespaceTest from "ns_alltest";
18
19loadLibrary("ani_namespace");
20
21let nameInterfaceTest: namespaceTest.functiontest.TestNameSpace =
22    namespaceTest.functiontest.get_interface_NameSpace();
23let testInterfacePerformance1:
24    namespaceTest.functiontest.TestInterfacePerformance1 =
25    namespaceTest.functiontest.get_interface_performance1();
26let testInterfacePerformance2:
27    namespaceTest.functiontest.TestInterfacePerformance2 =
28    namespaceTest.functiontest.get_interface_performance2();
29let testInterfacePerformance3:
30    namespaceTest.functiontest.TestInterfacePerformance3 =
31    namespaceTest.functiontest.get_interface_performance3();
32let testInterfacePerformance4:
33    namespaceTest.functiontest.TestInterfacePerformance4 =
34    namespaceTest.functiontest.get_interface_performance4();
35let testInterfacePerformance5:
36    namespaceTest.functiontest.TestInterfacePerformance5 =
37    namespaceTest.functiontest.get_interface_performance5();
38let testInterfacePerformance6:
39    namespaceTest.functiontest.TestInterfacePerformance6 =
40    namespaceTest.functiontest.get_interface_performance6();
41let testInterfacePerformance7:
42    namespaceTest.functiontest.TestInterfacePerformance7 =
43    namespaceTest.functiontest.get_interface_performance7();
44let testInterfacePerformance8:
45    namespaceTest.functiontest.TestInterfacePerformance8 =
46    namespaceTest.functiontest.get_interface_performance8();
47let testInterfacePerformance9:
48    namespaceTest.functiontest.TestInterfacePerformance9 =
49    namespaceTest.functiontest.get_interface_performance9();
50let testInterfacePerformance10:
51    namespaceTest.functiontest.TestInterfacePerformance10 =
52    namespaceTest.functiontest.get_interface_performance10();
53let testInterfacePerformance11:
54    namespaceTest.functiontest.TestInterfacePerformance11 =
55    namespaceTest.functiontest.get_interface_performance11();
56let testInterfacePerformance12:
57    namespaceTest.functiontest.TestInterfacePerformance12 =
58    namespaceTest.functiontest.get_interface_performance12();
59let testInterfacePerformance13:
60    namespaceTest.functiontest.TestInterfacePerformance13 =
61    namespaceTest.functiontest.get_interface_performance13();
62let testInterfacePerformance14:
63    namespaceTest.functiontest.TestInterfacePerformance14 =
64    namespaceTest.functiontest.get_interface_performance14();
65let testInterfacePerformance15:
66    namespaceTest.functiontest.TestInterfacePerformance15 =
67    namespaceTest.functiontest.get_interface_performance15();
68let testInterfacePerformance16:
69    namespaceTest.functiontest.TestInterfacePerformance16 =
70    namespaceTest.functiontest.get_interface_performance16();
71let testInterfacePerformance17:
72    namespaceTest.functiontest.TestInterfacePerformance17 =
73    namespaceTest.functiontest.get_interface_performance17();
74let testInterfacePerformance18:
75    namespaceTest.functiontest.TestInterfacePerformance18 =
76    namespaceTest.functiontest.get_interface_performance18();
77let testInterfacePerformance19:
78    namespaceTest.functiontest.TestInterfacePerformance19 =
79    namespaceTest.functiontest.get_interface_performance19();
80let testInterfacePerformance20:
81    namespaceTest.functiontest.TestInterfacePerformance20 =
82    namespaceTest.functiontest.get_interface_performance20();
83let testInterfacePerformance21:
84    namespaceTest.functiontest.TestInterfacePerformance21 =
85    namespaceTest.functiontest.get_interface_performance21();
86
87let testIbaseInterface2: namespaceTest.functiontest.IbaseInterface2 =
88    namespaceTest.functiontest.get_interface_IbaseInterface2();
89
90let testIbaseInterface3: namespaceTest.functiontest.IbaseInterface3 =
91    namespaceTest.functiontest.get_interface_IbaseInterface3();
92
93function testCasebaseFunctionTest1() {
94    namespaceTest.functiontest.BaseFunctionTest1()
95}
96
97function testCasebaseFunctionTest2() {
98    namespaceTest.functiontest.BaseFunctionTest2(127 as byte)
99}
100
101function testCasebaseFunctionTest3() {
102    namespaceTest.functiontest.BaseFunctionTest3(255 as short)
103}
104
105function testCasebaseFunctionTest4() {
106    namespaceTest.functiontest.BaseFunctionTest4(2147483647)
107}
108
109function testCasebaseFunctionTest5() {
110    namespaceTest.functiontest.BaseFunctionTest5(9223372036854775807)
111}
112
113function testCasebaseFunctionTest6() {
114    namespaceTest.functiontest.BaseFunctionTest6(3.1415 as float)
115}
116
117function testCasebaseFunctionTest7() {
118    namespaceTest.functiontest.BaseFunctionTest7(3.1415125)
119}
120
121function testCasebaseFunctionTest8() {
122    namespaceTest.functiontest.BaseFunctionTest8("baseFunctionTest8!@#$%%^&*()")
123}
124
125function testCasebaseFunctionTest9() {
126    namespaceTest.functiontest.BaseFunctionTest9(false)
127}
128
129function testCasebaseFunctionTest10() {
130    let byteArray: byte[] = [1, 127, -120, 0, 100];
131    namespaceTest.functiontest.BaseFunctionTest10(byteArray)
132}
133
134function testCasebaseFunctionTest11() {
135    let shortArray: short[] = [32767, -32768, 122, 50, 10086];
136    namespaceTest.functiontest.BaseFunctionTest11(shortArray)
137}
138
139function testCasebaseFunctionTest12() {
140    namespaceTest.functiontest.BaseFunctionTest12(255 as short)
141}
142
143function testCasebaseFunctionTest12_1() {
144    namespaceTest.functiontest.BaseFunctionTest12(undefined)
145}
146
147function testCasebaseFunctionTest13() {
148    namespaceTest.functiontest.BaseFunctionTest13(9223372036854775807)
149}
150
151function testCasebaseFunctionTest13_1() {
152    namespaceTest.functiontest.BaseFunctionTest13(undefined)
153}
154
155function testCasebaseFunctionTest14() {
156    let numbersU8: byte[] = [1, 2, 3, 4, 5];
157    let arrbuf1: ArrayBuffer = new ArrayBuffer(numbersU8.length);
158    for (let i = 0; i < numbersU8.length; i++) {
159        arrbuf1.set(i, numbersU8[i]);
160    }
161    namespaceTest.functiontest.BaseFunctionTest14(arrbuf1)
162}
163
164function testCasebaseFunctionTest15() {
165    let record: Record<string, int> = {
166        "test1": 0,
167        "test2": 1,
168        "test3": 2,
169        "test4": 3,
170    };
171    namespaceTest.functiontest.BaseFunctionTest15(record)
172}
173
174function testCasebaseFunctionTest16() {
175    let res = namespaceTest.functiontest.BaseFunctionTest16(110 as byte);
176    assertEQ(res, 120)
177}
178
179function testCasebaseFunctionTest16_1() {
180    try {
181        let res = namespaceTest.functiontest.BaseFunctionTest16(127 as byte);
182    } catch (e) {
183        assertEQ(
184            e.toString(),
185            "Error: BaseFunctionTest16: result exceeds int8_t range")
186    }
187}
188
189function testCasebaseFunctionTest17() {
190    let res = namespaceTest.functiontest.BaseFunctionTest17(3270 as short);
191    assertEQ(res, 32700)
192}
193
194function testCasebaseFunctionTest17_1() {
195    try {
196        let res = namespaceTest.functiontest.BaseFunctionTest17(32767 as short);
197    } catch (e) {
198        assertEQ(
199            e.toString(),
200            "Error: BaseFunctionTest17: result exceeds int16_t range")
201    }
202}
203
204function testCasebaseFunctionTest18() {
205    let res = namespaceTest.functiontest.BaseFunctionTest18(21474836);
206    assertEQ(res, 2147483600)
207}
208
209function testCasebaseFunctionTest18_1() {
210    try {
211        let res = namespaceTest.functiontest.BaseFunctionTest18(21474837);
212    } catch (e) {
213        console.log("testCasebaseFunctionTest18_1 error ", e.toString())
214        assertEQ(
215            e.toString(),
216            "Error: BaseFunctionTest18: result exceeds int32_t range")
217    }
218}
219
220function testCasebaseFunctionTest19() {
221    let res = namespaceTest.functiontest.BaseFunctionTest19(92233720368547758);
222    assertEQ(res, 922337203685477580)
223}
224
225function testCasebaseFunctionTest20() {
226    let res = namespaceTest.functiontest.BaseFunctionTest20(3.14 as float);
227    assertEQ(res, 103.14 as float)
228}
229
230function testCasebaseFunctionTest21() {
231    let res = namespaceTest.functiontest.BaseFunctionTest21(1);
232    assertEQ(res, 2.01)
233}
234
235function testCasebaseFunctionTest22() {
236    let res =
237        namespaceTest.functiontest.BaseFunctionTest22("BaseFunctionTest22");
238    assertEQ(res, "BaseFunctionTest22hello ani")
239}
240
241function testCasebaseFunctionTest22_1() {
242    let res =
243        namespaceTest.functiontest.BaseFunctionTest22("baseFunctionTest22——1");
244    assertEQ(res, "baseFunctionTest22——1")
245}
246
247function testCasebaseFunctionTest23() {
248    let res = namespaceTest.functiontest.BaseFunctionTest23(true);
249    assertEQ(res, false)
250}
251
252function testCasebaseFunctionTest23_1() {
253    let res = namespaceTest.functiontest.BaseFunctionTest23(false);
254    assertEQ(res, true)
255}
256
257function testCasebaseFunctionTest24() {
258    let byteArray: byte[] = [1, 2, 3, 4, 5];
259    let res: byte[] = namespaceTest.functiontest.BaseFunctionTest24(byteArray);
260    let temp: byte[] = [2, 4, 6, 8, 10];
261    for (let i = 0; i < res.length; i++) {
262        assertEQ(res[i], temp[i])
263    }
264}
265
266function testCasebaseFunctionTest25() {
267    let shortArray: short[] = [1, 2, 3, 4, 5];
268    let res = namespaceTest.functiontest.BaseFunctionTest25(shortArray);
269    let temp: byte[] = [3, 4, 5, 6, 7];
270    for (let i = 0; i < res.length; i++) {
271        assertEQ(res[i], temp[i])
272    }
273}
274
275function testCasebaseFunctionTest26() {
276    let res = namespaceTest.functiontest.BaseFunctionTest26(3276 as short);
277    assertEQ(res, 3286)
278}
279
280function testCasebaseFunctionTest26_1() {
281    let res = namespaceTest.functiontest.BaseFunctionTest26(undefined);
282    assertEQ(res, undefined)
283}
284
285function testCasebaseFunctionTest27() {
286    let res = namespaceTest.functiontest.BaseFunctionTest27(922337203685477580);
287    assertEQ(res, 922337203685477590)
288}
289
290function testCasebaseFunctionTest27_1() {
291    let res = namespaceTest.functiontest.BaseFunctionTest27(undefined);
292    assertEQ(res, undefined)
293}
294
295function testCasebaseFunctionTest28() {
296    let numbersU8: byte[] = [11, 2, 3, 4, 5];
297    let arrbuf1: ArrayBuffer = new ArrayBuffer(numbersU8.length);
298    for (let i = 0; i < numbersU8.length; i++) {
299        arrbuf1.set(i, numbersU8[i]);
300    }
301    let res = namespaceTest.functiontest.BaseFunctionTest28(arrbuf1);
302    console.log("testCasebaseFunctionTest28 length: " + res.getByteLength());
303    console.log("testCasebaseFunctionTest28 : " + res);
304    assertEQ(res.getByteLength(), 5)
305    for (let i = 0; i < res.getByteLength(); i++) {
306        console.log(
307            `testCasebaseFunctionTest28 Byte at index ${i}: ${res.at(i)}`);
308        assertEQ(res.at(i), numbersU8[i] * 10)
309    }
310}
311
312function testCasebaseFunctionTest29() {
313    const myRecord: Record<string, int> = {
314        "key1": 10,
315        "key2": 20,
316        "key3": 30,
317    };
318
319    const resultRecord: Record<string, int> = {
320        "test0": 10,
321        "test1": 11,
322        "test2": 12,
323    };
324    let res = namespaceTest.functiontest.BaseFunctionTest29(myRecord);
325    console.log("testCasebaseFunctionTest29 ", res);
326    console.log("testCasebaseFunctionTest29 test0 ", res["test0"]);
327    assertEQ(res["test0"], resultRecord["test0"]);
328    assertEQ(res["test1"], resultRecord["test1"]);
329    assertEQ(res["test2"], resultRecord["test2"]);
330}
331
332function testCasebaseFunctionTest30() {
333    let color = namespaceTest.functiontest.Color.BLUE;
334    let res = namespaceTest.functiontest.BaseFunctionTest30(color);
335    console.log("testCasebaseFunctionTest30 ", res)
336    assertEQ(res, namespaceTest.functiontest.Color.RED)
337}
338
339function testCasebaseFunctionTest31() {
340    let color = namespaceTest.functiontest.Color.RED;
341    namespaceTest.functiontest.BaseFunctionTest31(color);
342}
343
344function testCasebaseFunctionTest32() {
345    let res = namespaceTest.functiontest.BaseFunctionTest32(
346        127 as byte, 100 as short, 256, 10000, true);
347    assertEQ(res, 100)
348}
349
350function testCasebaseFunctionTest32_1() {
351    let res = namespaceTest.functiontest.BaseFunctionTest32(
352        127 as byte, 100 as short, 256, 10000, false);
353    assertEQ(res, 127)
354}
355
356function testCasebaseFunctionTest33() {
357    let res = namespaceTest.functiontest.BaseFunctionTest33(
358        127 as byte, 100 as short, 256, 10000, true);
359    assertEQ(res, 256)
360}
361
362function testCasebaseFunctionTest33_1() {
363    let res = namespaceTest.functiontest.BaseFunctionTest33(
364        127 as byte, 100 as short, 256, 10000, false);
365    assertEQ(res, 100)
366}
367
368function testCasebaseFunctionTest34() {
369    let res = namespaceTest.functiontest.BaseFunctionTest34(
370        127 as byte, 100 as short, 256, 10000, true);
371    assertEQ(res, 10000)
372}
373
374function testCasebaseFunctionTest34_1() {
375    let res = namespaceTest.functiontest.BaseFunctionTest34(
376        127 as byte, 100 as short, 256, 10000, false);
377    assertEQ(res, 100)
378}
379
380function testCasebaseFunctionTest35() {
381    let res = namespaceTest.functiontest.BaseFunctionTest35(
382        127 as byte, 100 as short, 256, 10000, true);
383    assertEQ(res, 127)
384}
385
386function testCasebaseFunctionTest35_1() {
387    let res = namespaceTest.functiontest.BaseFunctionTest35(
388        127 as byte, 100 as short, 256, 10000, false);
389    assertEQ(res, 100)
390}
391
392function testCasebaseFunctionTest36() {
393    let int8Array: byte[] = [1, 2, 3, 4, 5];
394    let int64Array: long[] =
395        [9223372036854775807, -100, 121, -2147483648, -9223372036854775808];
396    let res = namespaceTest.functiontest.BaseFunctionTest36(
397        10 as byte, 11 as short, true, int8Array, int64Array);
398    assertEQ(res.length, int8Array.length)
399    let tempResult: int[] = [22, 23, 24, 25, 26];
400    for (let i: int = 0; i < res.length; i++) {
401        assertEQ(res[i], tempResult[i])
402    }
403}
404
405function testCasebaseFunctionTest36_1() {
406    let int8Array: byte[] = [1, 2, 3, 4, 5];
407    let int64Array: long[] = [100, -100, 200, -300, -400];
408    let res = namespaceTest.functiontest.BaseFunctionTest36(
409        127 as byte, 100 as short, false, int8Array, int64Array);
410    assertEQ(res.length, int64Array.length)
411    for (let i: int = 0; i < res.length; i++) {
412        assertEQ(res[i], int64Array[i])
413    }
414}
415
416function testCasebaseFunctionTest37() {
417    let intArray: int[] = [922337, -100, 121, -2147483648, -92233720];
418    let int64Array: long[] = [100, -100, 121, -200, 0];
419    let res = namespaceTest.functiontest.BaseFunctionTest37(
420        10 as byte, 11 as short, 12, true, int64Array);
421    assertEQ(res.length, int64Array.length)
422    let tempResult: int[] = [133, -67, 154, -167, 33];
423    for (let i: int = 0; i < res.length; i++) {
424        assertEQ(res[i], tempResult[i])
425    }
426}
427
428function testCasebaseFunctionTest37_1() {
429    let intArray: int[] = [922337, -100, 121, -2147483648, -92233720];
430    let int64Array: long[] = [100, -100, 200, -300, -400];
431    let res = namespaceTest.functiontest.BaseFunctionTest37(
432        127 as byte, 100 as short, 256, false, int64Array);
433    assertEQ(res.length, int64Array.length)
434    for (let i: int = 0; i < res.length; i++) {
435        assertEQ(res[i], int64Array[i] * 10)
436    }
437}
438
439function testCasebaseFunctionTest38() {
440    let byteArray: byte[] = [1, 2, 3, 4, 5];
441    let int16Array: short[] = [100, -100, 121, -200, -500];
442    let res = namespaceTest.functiontest.BaseFunctionTest38(
443        10 as byte, "test1", true, byteArray, int16Array);
444    assertEQ(res, "test110")
445}
446
447function testCasebaseFunctionTest38_1() {
448    let byteArray: byte[] = [1, 2, 3, 4, 5];
449    let int16Array: short[] = [100, -100, 121, -200, -500];
450    let res = namespaceTest.functiontest.BaseFunctionTest38(
451        127 as byte, "test1", false, byteArray, int16Array);
452    assertEQ(res, "test11100")
453}
454
455function testCasebaseFunctionTest39() {
456    let boolArray: boolean[] = [true, false, true, false, true];
457    let intArray: int[] = [922337, -100, 121, -2147483648, -92233720];
458    let res = namespaceTest.functiontest.BaseFunctionTest39(
459        11 as short, "test1", true, boolArray, intArray);
460    assertEQ(res, false)
461}
462
463function testCasebaseFunctionTest39_1() {
464    let boolArray: boolean[] = [true, false, true, false, true];
465    let intArray: int[] = [922337, -100, 121, -2147483648, -92233720];
466    let res = namespaceTest.functiontest.BaseFunctionTest39(
467        100 as short, "test1", false, boolArray, intArray);
468    assertEQ(res, false)
469}
470
471function testCasebaseFunctionTest40() {
472    let byteArray: byte[] = [1, 2, 3, 4, 5];
473    let numbersU8: byte[] = [10, 20, 30, 40, 50];
474    let arrbuf1: ArrayBuffer = new ArrayBuffer(numbersU8.length);
475    for (let i = 0; i < numbersU8.length; i++) {
476        arrbuf1.set(i, numbersU8[i])
477    }
478    let res = namespaceTest.functiontest.BaseFunctionTest40(
479        -2.0002, "test1", true, byteArray, arrbuf1);
480    assertEQ(res.length, byteArray.length)
481    for (let i: int = 0; i < res.length; i++) {
482        assertEQ(res[i], byteArray[i] * 2)
483    }
484}
485
486function testCasebaseFunctionTest40_1() {
487    let byteArray: byte[] = [1, 2, 3, 4, 5];
488    let numbersU8: byte[] = [10, 20, 30, 40, 50];
489    let arrbuf1: ArrayBuffer = new ArrayBuffer(numbersU8.length);
490    for (let i = 0; i < numbersU8.length; i++) {
491        arrbuf1.set(i, numbersU8[i])
492    }
493    let res = namespaceTest.functiontest.BaseFunctionTest40(
494        -2.0002, "test1", false, byteArray, arrbuf1);
495    assertEQ(res.length, byteArray.length)
496    for (let i: int = 0; i < res.length; i++) {
497        assertEQ(res[i], byteArray[i] + 10)
498    }
499}
500
501function testCasebaseFunctionTest41() {
502    namespaceTest.functiontest.BaseFunctionTest41(
503        10 as byte, 11 as short, 12, 10000, 3.14 as float);
504}
505function testCasebaseFunctionTest42() {
506    let res =
507        namespaceTest.functiontest.BaseFunctionTest42(10000, 256 as short);
508    assertEQ(res, 10256)
509}
510
511function testCasebaseFunctionTest42_1() {
512    try {
513        let res = namespaceTest.functiontest.BaseFunctionTest42(
514            2147483647, 256 as short);
515    } catch (e) {
516        console.log("testCasebaseFunctionTest42_1 e ", e.toString())
517        assertEQ(
518            e.toString(),
519            "Error: BaseFunctionTest42_int: result exceeds int32_t range")
520    }
521}
522
523function testCasebaseFunctionTest43() {
524    let record: Record<string, int> = {
525        "test1": 0,
526        "test2": 1,
527        "test3": 2,
528    };
529    let res = namespaceTest.functiontest.BaseFunctionTest42(10000, record);
530    assertEQ(res, 10010)
531}
532
533function testCasebaseFunctionTest43_1() {
534    let record: Record<string, int> = {
535        "test1": 0,
536        "test2": 1,
537        "test3": 2,
538    };
539    let res = namespaceTest.functiontest.BaseFunctionTest42(undefined, record);
540    assertEQ(res, -2147483648)
541}
542
543function testCasebaseFunctionTest44() {
544    let res = namespaceTest.functiontest.BaseFunctionTest42();
545    assertEQ(res, 2147483647)
546}
547
548function testCasebaseFunctionTest45() {
549    const testData: namespaceTest.functiontest
550        .Data = {data1: "baseFunctionTest42", data2: true, data3: 2147483647};
551    namespaceTest.functiontest.BaseFunctionTest42(testData);
552}
553
554
555function testCasebaseFunctionTest46() {
556    nameInterfaceTest.BaseFunctionTest43();
557}
558
559function testCasebaseFunctionTest47() {
560    let res = nameInterfaceTest.BaseFunctionTest44(-10 as byte);
561    assertEQ(res, 90)
562}
563
564function testCasebaseFunctionTest48() {
565    let res = nameInterfaceTest.BaseFunctionTest45(320 as short);
566    assertEQ(res, 32000)
567}
568
569function testCasebaseFunctionTest49() {
570    let res = nameInterfaceTest.BaseFunctionTest46(2147483);
571    assertEQ(res, 214748300)
572}
573
574function testCasebaseFunctionTest50() {
575    let res = nameInterfaceTest.BaseFunctionTest47(9223372036854775);
576    assertEQ(res, 922337203685477500)
577}
578
579function testCasebaseFunctionTest51() {
580    let res = nameInterfaceTest.BaseFunctionTest48(100.123 as float);
581    assertEQ(res, 90.123 as float)
582}
583
584function testCasebaseFunctionTest52() {
585    let res = nameInterfaceTest.BaseFunctionTest49(200.66);
586    assertEQ(res, 100.66)
587}
588
589function testCasebaseFunctionTest53() {
590    let res =
591        nameInterfaceTest.BaseFunctionTest50("testCasebaseFunctionTest53");
592    assertEQ(res, "testCasebaseFunctionTest53BaseFunctionTest50")
593}
594
595function testCasebaseFunctionTest54() {
596    let res = nameInterfaceTest.BaseFunctionTest51(true);
597    assertEQ(res, false)
598}
599
600function testCasebaseFunctionTest54_1() {
601    let res = nameInterfaceTest.BaseFunctionTest51(false);
602    assertEQ(res, true)
603}
604
605function testCasebaseFunctionTest55() {
606    let numbersU8: byte[] = [100, 101, 102, 103, 104];
607    let arrbuf1: ArrayBuffer = new ArrayBuffer(numbersU8.length);
608    for (let i = 0; i < numbersU8.length; i++) {
609        arrbuf1.set(i, numbersU8[i]);
610    }
611    let res = nameInterfaceTest.BaseFunctionTest52(arrbuf1);
612    assertEQ(res.getByteLength(), 5)
613    for (let i = 0; i < res.getByteLength(); i++) {
614        console.log(
615            `testCasebaseFunctionTest55 Byte at index ${i}: ${res.at(i)}`);
616        assertEQ(res.at(i), numbersU8[i] + 10)
617    }
618}
619
620function testCasebaseFunctionTest56() {
621    let res = nameInterfaceTest.BaseFunctionTest53(101 as byte);
622    assertEQ(res, 1)
623}
624
625function testCasebaseFunctionTest56_1() {
626    let res = nameInterfaceTest.BaseFunctionTest53(undefined);
627    assertEQ(res, undefined)
628}
629
630function testCasebaseFunctionTest57() {
631    let res = nameInterfaceTest.BaseFunctionTest54(2147483647);
632    assertEQ(res, 2147483547)
633}
634
635function testCasebaseFunctionTest57_1() {
636    let res = nameInterfaceTest.BaseFunctionTest54(undefined);
637    assertEQ(res, undefined)
638}
639
640// function testCasebaseFunctionTest58(){
641//     const testData1 = new namespaceTest.functiontest.Data(
642//         "testCasebaseFunctionTest58",
643//         true,
644//         100
645//     );
646//     const testData2= new namespaceTest.functiontest.Data(
647//         "testCasebaseFunctionTest58_1",
648//         false,
649//         200
650//     );
651//     const testData3= new namespaceTest.functiontest.Data(
652//         "testCasebaseFunctionTest58_2",
653//         false,
654//         300
655//     );
656//     const myRecord: Record<short, namespaceTest.functiontest.Data> = {
657//     100: testData1,
658//     101: testData2,
659//     102: testData3,
660//     };
661//     let res = nameInterfaceTest.BaseFunctionTest55(myRecord);
662//     console.log("testCasebaseFunctionTest58 ",res)
663//     assertEQ(res,2147483547)
664// }
665
666function testCasebaseFunctionTest59() {
667    let res = nameInterfaceTest.BaseFunctionTest56(100);
668    assertEQ(res, 10000)
669}
670
671function testCasebaseFunctionTest60() {
672    let res = nameInterfaceTest.BaseFunctionTest57(127 as byte);
673    assertEQ(res, 12700)
674}
675
676function testCasebaseFunctionTest61() {
677    let res = nameInterfaceTest.testStr;
678    assertEQ(res, "testNameSpace")
679}
680
681function testCasebaseFunctionTest62() {
682    let res = nameInterfaceTest.BaseFunctionTest58(true);
683    assertEQ(res.success, true)
684    assertEQ(res.errorCode, 10000)
685    assertEQ(res.errorMessage, "test58")
686}
687
688function testCasebaseFunctionTest62_1() {
689    let res = nameInterfaceTest.BaseFunctionTest58(false);
690    assertEQ(res.success, false)
691    assertEQ(res.errorCode, 100)
692    assertEQ(res.errorMessage, "test581")
693}
694
695function testCasebaseFunctionTest63() {
696    let record: Record<string, string> = {
697        "test1": "test123!@#$%",
698        "test2": "test123^&*()",
699        "test3": "test123_+{}[]",
700        "test4": "test123;':<>?`",
701    };
702    namespaceTest.functiontest.BaseFunctionTest59(record);
703}
704
705
706function testCasebaseFunctionTest64() {
707    let record: Record<long, boolean> = {
708        9223372036854775807: false,
709        10: true,
710        20: false,
711        30: true,
712    };
713    let res = namespaceTest.functiontest.BaseFunctionTest60(record);
714    assertEQ(res, true)
715}
716
717function testCasebaseFunctionTest64_1() {
718    let record: Record<long, boolean> = {
719        [-100]: false,
720        10: true,
721        20: false,
722        30: true,
723    };
724    let res = namespaceTest.functiontest.BaseFunctionTest60(record);
725    assertEQ(res, false)
726}
727
728
729function testCasebaseFunctionTest64_2() {
730    let record: Record<long, boolean> = {
731        50: false,
732        10: true,
733        20: false,
734        0: true,
735    };
736    let res = namespaceTest.functiontest.BaseFunctionTest60(record);
737    assertEQ(res, false)
738}
739
740
741function testInter1BasePerformanceFunctionTest1() {
742    testInterfacePerformance1.BasePerformanceFunctionTest1();
743}
744
745function testInter1BasePerformanceFunctionTest2() {
746    let res =
747        testInterfacePerformance1.BasePerformanceFunctionTest2(95 as byte);
748    assertEQ(res, 10)
749}
750
751function testInter2BasePerformanceFunctionTest1() {
752    testInterfacePerformance2.BasePerformanceFunctionTest1();
753}
754
755function testInter2BasePerformanceFunctionTest2() {
756    let res =
757        testInterfacePerformance2.BasePerformanceFunctionTest2(95 as byte);
758    assertEQ(res, 10)
759}
760
761function testInter3BasePerformanceFunctionTest1() {
762    testInterfacePerformance3.BasePerformanceFunctionTest1();
763}
764
765function testInter3BasePerformanceFunctionTest2() {
766    let res =
767        testInterfacePerformance3.BasePerformanceFunctionTest2(95 as byte);
768    assertEQ(res, 10)
769}
770
771function testInter4BasePerformanceFunctionTest1() {
772    testInterfacePerformance4.BasePerformanceFunctionTest1();
773}
774
775function testInter4BasePerformanceFunctionTest2() {
776    let res =
777        testInterfacePerformance4.BasePerformanceFunctionTest2(95 as byte);
778    assertEQ(res, 10)
779}
780function testInter5BasePerformanceFunctionTest1() {
781    testInterfacePerformance5.BasePerformanceFunctionTest1();
782}
783
784function testInter5BasePerformanceFunctionTest2() {
785    let res =
786        testInterfacePerformance5.BasePerformanceFunctionTest2(95 as byte);
787    assertEQ(res, 10)
788}
789
790function testInter6BasePerformanceFunctionTest1() {
791    testInterfacePerformance6.BasePerformanceFunctionTest1();
792}
793
794function testInter6BasePerformanceFunctionTest2() {
795    let res =
796        testInterfacePerformance6.BasePerformanceFunctionTest2(95 as byte);
797    assertEQ(res, 10)
798}
799function testInter7BasePerformanceFunctionTest1() {
800    testInterfacePerformance7.BasePerformanceFunctionTest1();
801}
802
803function testInter7BasePerformanceFunctionTest2() {
804    let res =
805        testInterfacePerformance7.BasePerformanceFunctionTest2(95 as byte);
806    assertEQ(res, 10)
807}
808
809function testInter8BasePerformanceFunctionTest1() {
810    testInterfacePerformance8.BasePerformanceFunctionTest1();
811}
812
813function testInter8BasePerformanceFunctionTest2() {
814    let res =
815        testInterfacePerformance8.BasePerformanceFunctionTest2(95 as byte);
816    assertEQ(res, 10)
817}
818function testInter9BasePerformanceFunctionTest1() {
819    testInterfacePerformance9.BasePerformanceFunctionTest1();
820}
821
822function testInter9BasePerformanceFunctionTest2() {
823    let res =
824        testInterfacePerformance9.BasePerformanceFunctionTest2(95 as byte);
825    assertEQ(res, 10)
826}
827function testInter10BasePerformanceFunctionTest1() {
828    testInterfacePerformance10.BasePerformanceFunctionTest1();
829}
830
831function testInter10BasePerformanceFunctionTest2() {
832    let res =
833        testInterfacePerformance10.BasePerformanceFunctionTest2(95 as byte);
834    assertEQ(res, 10)
835}
836function testInter11BasePerformanceFunctionTest1() {
837    testInterfacePerformance11.BasePerformanceFunctionTest1();
838}
839
840function testInter11BasePerformanceFunctionTest2() {
841    let res =
842        testInterfacePerformance11.BasePerformanceFunctionTest2(95 as byte);
843    assertEQ(res, 10)
844}
845function testInter12BasePerformanceFunctionTest1() {
846    testInterfacePerformance12.BasePerformanceFunctionTest1();
847}
848
849function testInter12BasePerformanceFunctionTest2() {
850    let res =
851        testInterfacePerformance12.BasePerformanceFunctionTest2(95 as byte);
852    assertEQ(res, 10)
853}
854function testInter13BasePerformanceFunctionTest1() {
855    testInterfacePerformance13.BasePerformanceFunctionTest1();
856}
857
858function testInter13BasePerformanceFunctionTest2() {
859    let res =
860        testInterfacePerformance13.BasePerformanceFunctionTest2(95 as byte);
861    assertEQ(res, 10)
862}
863
864function testInter14BasePerformanceFunctionTest1() {
865    testInterfacePerformance14.BasePerformanceFunctionTest1();
866}
867
868function testInter14BasePerformanceFunctionTest2() {
869    let res =
870        testInterfacePerformance14.BasePerformanceFunctionTest2(95 as byte);
871    assertEQ(res, 10)
872}
873
874function testInter15BasePerformanceFunctionTest1() {
875    testInterfacePerformance15.BasePerformanceFunctionTest1();
876}
877
878function testInter15BasePerformanceFunctionTest2() {
879    let res =
880        testInterfacePerformance15.BasePerformanceFunctionTest2(95 as byte);
881    assertEQ(res, 10)
882}
883
884function testInter16BasePerformanceFunctionTest1() {
885    testInterfacePerformance16.BasePerformanceFunctionTest1();
886}
887
888function testInter16BasePerformanceFunctionTest2() {
889    let res =
890        testInterfacePerformance16.BasePerformanceFunctionTest2(95 as byte);
891    assertEQ(res, 10)
892}
893function testInter17BasePerformanceFunctionTest1() {
894    testInterfacePerformance17.BasePerformanceFunctionTest1();
895}
896
897function testInter17BasePerformanceFunctionTest2() {
898    let res =
899        testInterfacePerformance17.BasePerformanceFunctionTest2(95 as byte);
900    assertEQ(res, 10)
901}
902function testInter18BasePerformanceFunctionTest1() {
903    testInterfacePerformance18.BasePerformanceFunctionTest1();
904}
905
906function testInter18BasePerformanceFunctionTest2() {
907    let res =
908        testInterfacePerformance18.BasePerformanceFunctionTest2(95 as byte);
909    assertEQ(res, 10)
910}
911
912function testInter19BasePerformanceFunctionTest1() {
913    testInterfacePerformance19.BasePerformanceFunctionTest1();
914}
915
916function testInter19BasePerformanceFunctionTest2() {
917    let res =
918        testInterfacePerformance19.BasePerformanceFunctionTest2(95 as byte);
919    assertEQ(res, 10)
920}
921
922function testInter20BasePerformanceFunctionTest1() {
923    testInterfacePerformance20.BasePerformanceFunctionTest1();
924}
925
926function testInter20BasePerformanceFunctionTest2() {
927    let res =
928        testInterfacePerformance20.BasePerformanceFunctionTest2(95 as byte);
929    assertEQ(res, 10)
930}
931function testInter21BasePerformanceFunctionTest1() {
932    let res = testInterfacePerformance21.i32_test;
933    assertEQ(res, 2147483647)
934}
935function testInter21BasePerformanceFunctionTest2() {
936    let res = testInterfacePerformance21.struct_test;
937    assertEQ(res.data1, "testStruct")
938    assertEQ(res.data2, false)
939    assertEQ(res.data3, -2147483648)
940}
941function testInter21BasePerformanceFunctionTest3() {
942    let res =
943        testInterfacePerformance21.BasePerformanceFunctionTest2(10 as byte);
944    assertEQ(res, 110 as byte)
945}
946
947function testInter21BasePerformanceFunctionTest4() {
948    let res: byte = testInterfacePerformance21.i8_test_attribute;
949    assertEQ(res, 127)
950}
951
952function testInter21BasePerformanceFunctionTest5() {
953    let res: short = testInterfacePerformance21.i16_test_attribute;
954    assertEQ(res, 32767)
955}
956
957function testInter21BasePerformanceFunctionTest6() {
958    let res: int = testInterfacePerformance21.i32_test_attribute;
959    assertEQ(res, 2147483647)
960}
961
962function testInter21BasePerformanceFunctionTest7() {
963    let res: long = testInterfacePerformance21.i64_test_attribute;
964    assertEQ(res, 9223372036854775807)
965}
966
967function testInter21BasePerformanceFunctionTest8() {
968    let res: float = testInterfacePerformance21.f32_test_attribute;
969    assertEQ(res, 3.14 as float)
970}
971function testInter21BasePerformanceFunctionTest9() {
972    let res: double = testInterfacePerformance21.f64_test_attribute;
973    assertEQ(res, -1.23)
974}
975
976function testInter21BasePerformanceFunctionTest10() {
977    let res: string = testInterfacePerformance21.str_test_attribute;
978    assertEQ(res, "TESTSTR")
979}
980
981function testInter21BasePerformanceFunctionTest11() {
982    let res: boolean = testInterfacePerformance21.bool_test_attribute;
983    assertEQ(res, false)
984}
985
986function testInter21BasePerformanceFunctionTest12() {
987    let res: ArrayBuffer =
988        testInterfacePerformance21._ArrayBuffer_test_attribute;
989    assertEQ(res.getByteLength(), 10)
990    for (let i = 0; i < res.getByteLength(); i++) {
991        assertEQ(res.at(i), 10)
992    }
993}
994function testInter21BasePerformanceFunctionTest13() {
995    let res: int|undefined = testInterfacePerformance21.optional_test_attribute;
996    assertEQ(res, 1010)
997}
998
999function testInter21BasePerformanceFunctionTest14() {
1000    let res: Record<int, namespaceTest.functiontest.Data> =
1001        testInterfacePerformance21.record_test_attribute;
1002    console.log("testInter21BasePerformanceFunctionTest14 ", res)
1003    const item = res[100];
1004    assertNE(item, undefined);
1005    assertEQ(item?.data1, "one");
1006    assertEQ(item?.data2, true);
1007    assertEQ(item?.data3, 100);
1008    const item1 = res[101];
1009    assertNE(item1, undefined);
1010    assertEQ(item1?.data1, "two");
1011    assertEQ(item1?.data2, false);
1012    assertEQ(item1?.data3, 101);
1013}
1014
1015function testInter21BasePerformanceFunctionTest15() {
1016    let res: namespaceTest.functiontest.TestUnionName =
1017        testInterfacePerformance21.union_test_attribute;
1018    console.log("testInter21BasePerformanceFunctionTest15 ", res)
1019    assertEQ(res, 100)
1020}
1021
1022function testInter21BasePerformanceFunctionTest16() {
1023    let res: boolean[] = testInterfacePerformance21.array_test_attribute;
1024    console.log("testInter21BasePerformanceFunctionTest16 ", res)
1025    assertEQ(res.length, 1)
1026    assertEQ(res[0], true)
1027}
1028
1029function testInter21BasePerformanceFunctionTest17() {
1030    let color = namespaceTest.functiontest.Color.GREEN;
1031    let res: namespaceTest.functiontest.Color =
1032        testInterfacePerformance21.enum_test_attribute;
1033    assertEQ(res, color)
1034}
1035
1036function testCaseIbaseInterface1() {
1037    let res = testIbaseInterface2.BaseTest();
1038    assertEQ(res, -2147483648)
1039}
1040
1041
1042function testCaseIbaseInterface2() {
1043    let res = testIbaseInterface2.BaseTest1();
1044    assertEQ(res, "TestInterface")
1045}
1046function testCaseIbaseInterface3() {
1047    let res = testIbaseInterface3.BaseTest();
1048    assertEQ(res, 2147483647)
1049}
1050
1051
1052function testCaseIbaseInterface4() {
1053    let res = testIbaseInterface3.BaseTest2();
1054    assertEQ(res, true)
1055}
1056
1057function testCaseConstant1() {
1058    const res = namespaceTest.functiontest.CONSTANT_I8_001;
1059    assertEQ(res, 127)
1060}
1061
1062function testCaseConstant2() {
1063    const res = namespaceTest.functiontest.CONSTANT_I8_002;
1064    assertEQ(res, -128)
1065}
1066
1067function testCaseConstant3() {
1068    const res = namespaceTest.functiontest.CONSTANT_I32_001;
1069    assertEQ(res, 2147483647)
1070}
1071// namespace2
1072function primitives_noreturn() {
1073    namespace2Test.inner.Primitives_noreturn(
1074        1 as int, 2 as double, true, "hello", 3 as byte)
1075}
1076function primitives_return() {
1077    let res = namespace2Test.inner.Primitives_return(
1078        1 as int, 2 as double, true, "hello", 3 as byte)
1079    console.log(res);
1080}
1081
1082function containers_noreturn() {
1083    let arri8: byte[] = [1, 2, 3];
1084    let arri16: short[] = [1, 2, 3, 4];
1085    let arri32: int[] = [1, 2, 3, 4, 5];
1086    let arrf32: float[] = [1.1f, 1.2f, 1.3f];
1087    let arrf64: double[] = [1.123, 2.123, 3.123];
1088
1089    namespace2Test.inner.Containers_noreturn(
1090        arri8, arri16, arrf32, arrf64, "union_string")
1091    namespace2Test.inner.Containers_noreturn(
1092        arri8, arri16, arrf32, arrf64, 1 as byte)
1093}
1094function containers_return() {
1095    let arri8: byte[] = [1, 2, 3];
1096    let arri16: short[] = [1, 2, 3, 4];
1097    let arri32: int[] = [1, 2, 3, 4, 5];
1098    let arrf32: float[] = [1.1f, 1.2f, 1.3f];
1099    let arrf64: double[] = [1.123, 2.123, 3.123];
1100
1101    let res1 = namespace2Test.inner.Containers_return(
1102        arri8, arri16, arrf32, arrf64, "union_string")
1103    let res2 = namespace2Test.inner.Containers_return(
1104        arri8, arri16, arrf32, arrf64, 1 as byte)
1105    console.log(res1 + " " + res2)
1106}
1107function enum_noreturn() {
1108    let color1 = namespace2Test.inner.Color.red;
1109    let color2 = namespace2Test.inner.Color.yellow;
1110    let color3 = namespace2Test.inner.Color.blue;
1111    let color4 = namespace2Test.inner.Color.green;
1112    let color5 = namespace2Test.inner.Color.black;
1113
1114    namespace2Test.inner.Enum_noreturn(color1, color2, color3, color4, color5)
1115}
1116function enum_return() {
1117    let color1 = namespace2Test.inner.Color.red;
1118    let color2 = namespace2Test.inner.Color.yellow;
1119    let color3 = namespace2Test.inner.Color.blue;
1120    let color4 = namespace2Test.inner.Color.green;
1121    let color5 = namespace2Test.inner.Color.black;
1122
1123    let res =
1124        namespace2Test.inner.Enum_return(color1, color2, color3, color4, color5)
1125    console.log(res)
1126}
1127
1128let instance: namespace2Test.inner.TestInterface =
1129    namespace2Test.inner.get_interface();
1130
1131function interface_noparam_noreturn() {
1132    instance.Noparam_noreturn()
1133}
1134
1135function interface_primitives_noreturn() {
1136    instance.Primitives_noreturn(1 as byte)
1137}
1138function interface_primitives_noreturn1() {
1139    instance.Primitives_noreturn1(12 as short)
1140}
1141function interface_primitives_noreturn2() {
1142    instance.Primitives_noreturn2(123 as int)
1143}
1144function interface_primitives_noreturn3() {
1145    instance.Primitives_noreturn3(1.1 as float)
1146}
1147function interface_primitives_noreturn4() {
1148    instance.Primitives_noreturn4(1.1234 as double)
1149}
1150function interface_primitives_noreturn5() {
1151    instance.Primitives_noreturn5(true)
1152}
1153function interface_primitives_noreturn6() {
1154    instance.Primitives_noreturn6("hello")
1155}
1156function interface_primitives_noreturn7() {
1157    instance.Primitives_noreturn7(1234)
1158}
1159
1160function interface_primitives_return() {
1161    instance.Primitives_return(123 as int)
1162}
1163function interface_containers_noreturn1() {
1164    let arri8: byte[] = [1, 2, 3, 4, 5];
1165    instance.Containers_noreturn1(arri8)
1166}
1167function interface_containers_noreturn2() {
1168    instance.Containers_noreturn2("union string")
1169    instance.Containers_noreturn2(1 as byte)
1170}
1171function interface_containers_noreturn3() {
1172    let numbersU8: byte[] = [1, 2, 3, 4, 5];
1173    let arrbuf1: ArrayBuffer = new ArrayBuffer(numbersU8.length);
1174    instance.Containers_noreturn3(arrbuf1)
1175}
1176function interface_containers_noreturn4() {
1177    let color1 = namespace2Test.inner.Color.red;
1178    instance.Containers_noreturn4(color1)
1179}
1180function interface_containers_noreturn5() {
1181    let record: Record<string, int> = {
1182        "test1": 0,
1183        "test2": 1,
1184        "test3": 2,
1185        "test4": 3,
1186    };
1187    instance.Containers_noreturn5(record)
1188}
1189
1190
1191
1192function interface_containers_return() {
1193    let res = instance.Containers_return(123 as byte)
1194    console.log(res)
1195}
1196
1197function interface_ErrorResponse() {
1198    let _struct: namespace2Test.inner.ErrorResponse =
1199        instance.Func_ErrorResponse()
1200}
1201
1202function overload1() {
1203    instance.OverloadFunc(1 as byte, 2 as byte)
1204}
1205function overload2() {
1206    let arri8: byte[] = [1, 2, 3, 4, 5];
1207    let numbersU8: byte[] = [1, 2, 3, 4, 5];
1208    let arrbuf1: ArrayBuffer = new ArrayBuffer(numbersU8.length);
1209    let s = instance.OverloadFunc(arri8, arrbuf1)
1210    console.log(s)
1211}
1212function overload3() {
1213    instance.OverloadFunc()
1214}
1215function overload4() {
1216    let mystruct:
1217        namespace2Test.inner.Mystruct = {_string: "hello", _i8: 1 as byte};
1218    instance.OverloadFunc(mystruct)
1219}
1220
1221function ns_5() {
1222    namespace2Test.test1.Funtest1(123 as int, 1.234 as double)
1223}
1224
1225function test20interface() {
1226    let instance_1: namespace2Test.inner.Test1 =
1227        namespace2Test.inner.get_interface_1();
1228    let instance_20: namespace2Test.inner.Test20 =
1229        namespace2Test.inner.get_interface_20();
1230    instance_1.Fun1()
1231    instance_20.Fun2()
1232}
1233
1234// attribute
1235function testattributeString() {
1236    let name = namespace2Test.inner.PrintTestInterfaceName(instance)
1237    console.log("instance.name is " + name)
1238    assertEQ(name, "String")
1239}
1240function testattributei8() {
1241    let i8 = namespace2Test.inner.PrintTestInterfaceNumberi8(instance)
1242    console.log("instance.i8 is " + i8)
1243    assertEQ(i8, -128)
1244}
1245function testattributei16() {
1246    let i16 = namespace2Test.inner.PrintTestInterfaceNumberi16(instance)
1247    console.log("instance.i16 is " + i16)
1248    assertEQ(i16, -32768)
1249}
1250function testattributei32() {
1251    let i32 = namespace2Test.inner.PrintTestInterfaceNumberi32(instance)
1252    console.log("instance.i32 is " + i32)
1253    assertEQ(i32, -2147483648)
1254}
1255function testattributei64() {
1256    let i64 = namespace2Test.inner.PrintTestInterfaceNumberi64(instance)
1257    console.log("instance.i64 is " + i64)
1258    assertEQ(i64, 1000 as long)
1259}
1260function testattributef32() {
1261    let f32 = namespace2Test.inner.PrintTestInterfaceNumberf32(instance)
1262    console.log("instance.f32 is " + f32)
1263    assertEQ(f32, 3.1415927 as float)
1264}
1265function testattributef64() {
1266    let f64 = namespace2Test.inner.PrintTestInterfaceNumberf64(instance)
1267    console.log("instance.f64 is " + f64)
1268    assertEQ(f64, 3.141592653589793)
1269}
1270function testattributebool() {
1271    let b = namespace2Test.inner.PrintTestInterfacebool(instance)
1272    assertEQ(b, true)
1273}
1274function testattributeArrayBuffer() {
1275    namespace2Test.inner.PrintTestInterfaceArraybuffer(instance)
1276}
1277function testattributeArray() {
1278    namespace2Test.inner.PrintTestInterfaceArray(instance)
1279}
1280function testattributeUnion() {
1281    namespace2Test.inner.PrintTestInterfaceUnion(instance)
1282}
1283function testattributeRecord() {
1284    namespace2Test.inner.PrintTestInterfaceRecord(instance)
1285}
1286function testattributeEnum() {
1287    namespace2Test.inner.PrintTestInterfaceEnum(instance)
1288}
1289
1290function testinheritance() {
1291    let instancetestA: namespace2Test.inner.TestA =
1292        namespace2Test.inner.get_interface_A()
1293    instancetestA.Fun1()
1294    let instancetestB: namespace2Test.inner.TestB =
1295        namespace2Test.inner.get_interface_B()
1296    instancetestB.Fun2()
1297    let instancetestC: namespace2Test.inner.TestC =
1298        namespace2Test.inner.get_interface_C()
1299    instancetestC.Fun3()
1300}
1301
1302function main() {
1303    console.log("run main ... ani_namespace_test begin ...")
1304    const suite = new ArkTestsuite("test function namespace_test")
1305    // namespace2
1306    suite.addTest("primitives_noreturn", primitives_noreturn)
1307    suite.addTest("primitives_return", primitives_return)
1308    suite.addTest("containers_noreturn", containers_noreturn)
1309    suite.addTest("containers_return", containers_return)
1310    suite.addTest("enum_noreturn", enum_noreturn)
1311    suite.addTest("enum_return", enum_return)
1312
1313    suite.addTest("interface_primitives_return", interface_primitives_return)
1314    suite.addTest(
1315        "interface_containers_noreturn1", interface_containers_noreturn1)
1316    suite.addTest(
1317        "interface_containers_noreturn2", interface_containers_noreturn2)
1318    suite.addTest(
1319        "interface_containers_noreturn3", interface_containers_noreturn3)
1320    suite.addTest(
1321        "interface_containers_noreturn3", interface_containers_noreturn4)
1322    suite.addTest(
1323        "interface_containers_noreturn3", interface_containers_noreturn5)
1324    suite.addTest("interface_containers_return", interface_containers_return)
1325
1326    suite.addTest("interface_ErrorResponse", interface_ErrorResponse)
1327
1328    suite.addTest("overload1", overload1)
1329    suite.addTest("overload2", overload2)
1330    suite.addTest("overload3", overload3)
1331    suite.addTest("overload4", overload4)
1332
1333    suite.addTest("interface_noparam_noreturn", interface_noparam_noreturn)
1334    suite.addTest(
1335        "interface_primitives_noreturn", interface_primitives_noreturn)
1336    suite.addTest(
1337        "interface_primitives_noreturn1", interface_primitives_noreturn1)
1338    suite.addTest(
1339        "interface_primitives_noreturn2", interface_primitives_noreturn2)
1340    suite.addTest(
1341        "interface_primitives_noreturn3", interface_primitives_noreturn3)
1342    suite.addTest(
1343        "interface_primitives_noreturn4", interface_primitives_noreturn4)
1344    suite.addTest(
1345        "interface_primitives_noreturn5", interface_primitives_noreturn5)
1346    suite.addTest(
1347        "interface_primitives_noreturn6", interface_primitives_noreturn6)
1348    suite.addTest(
1349        "interface_primitives_noreturn7", interface_primitives_noreturn7)
1350
1351    suite.addTest("test20interface", test20interface);
1352    suite.addTest("ns_5", ns_5);
1353
1354    suite.addTest("testattributeString", testattributeString);
1355    suite.addTest("testattributei8", testattributei8);
1356    suite.addTest("testattributei16", testattributei16);
1357    suite.addTest("testattributei32", testattributei32);
1358    suite.addTest("testattributei64", testattributei64);
1359    suite.addTest("testattributef32", testattributef32);
1360    suite.addTest("testattributef64", testattributef64);
1361    suite.addTest("testattributebool", testattributebool);
1362    suite.addTest("testattributeArrayBuffer", testattributeArrayBuffer);
1363    suite.addTest("testattributeArray", testattributeArray);
1364    suite.addTest("testattributeUnion", testattributeUnion);
1365    suite.addTest("testattributeRecord", testattributeRecord);
1366    suite.addTest("testattributeEnum", testattributeEnum);
1367    suite.addTest("testinheritance", testinheritance);
1368
1369    // namespace1
1370    suite.addTest("check testCasebaseFunctionTest1", testCasebaseFunctionTest1);
1371    suite.addTest("check testCasebaseFunctionTest2", testCasebaseFunctionTest2);
1372    suite.addTest("check testCasebaseFunctionTest3", testCasebaseFunctionTest3);
1373    suite.addTest("check testCasebaseFunctionTest4", testCasebaseFunctionTest4);
1374    suite.addTest("check testCasebaseFunctionTest5", testCasebaseFunctionTest5);
1375    suite.addTest("check testCasebaseFunctionTest6", testCasebaseFunctionTest6);
1376    suite.addTest("check testCasebaseFunctionTest7", testCasebaseFunctionTest7);
1377    suite.addTest("check testCasebaseFunctionTest8", testCasebaseFunctionTest8);
1378    suite.addTest("check testCasebaseFunctionTest9", testCasebaseFunctionTest9);
1379    suite.addTest(
1380        "check testCasebaseFunctionTest10", testCasebaseFunctionTest10);
1381    suite.addTest(
1382        "check testCasebaseFunctionTest11", testCasebaseFunctionTest11);
1383    suite.addTest(
1384        "check testCasebaseFunctionTest12", testCasebaseFunctionTest12);
1385    suite.addTest(
1386        "check testCasebaseFunctionTest12_1", testCasebaseFunctionTest12_1);
1387    suite.addTest(
1388        "check testCasebaseFunctionTest13", testCasebaseFunctionTest13);
1389    suite.addTest(
1390        "check testCasebaseFunctionTest13_1", testCasebaseFunctionTest13_1);
1391    suite.addTest(
1392        "check testCasebaseFunctionTest14", testCasebaseFunctionTest14);
1393    suite.addTest(
1394        "check testCasebaseFunctionTest15", testCasebaseFunctionTest15);
1395    suite.addTest(
1396        "check testCasebaseFunctionTest16", testCasebaseFunctionTest16);
1397    suite.addTest(
1398        "check testCasebaseFunctionTest16_1", testCasebaseFunctionTest16_1);
1399    suite.addTest(
1400        "check testCasebaseFunctionTest17", testCasebaseFunctionTest17);
1401    suite.addTest(
1402        "check testCasebaseFunctionTest17_1", testCasebaseFunctionTest17_1);
1403    suite.addTest(
1404        "check testCasebaseFunctionTest18", testCasebaseFunctionTest18);
1405    suite.addTest(
1406        "check testCasebaseFunctionTest18_1", testCasebaseFunctionTest18_1);
1407    suite.addTest(
1408        "check testCasebaseFunctionTest19", testCasebaseFunctionTest19);
1409    suite.addTest(
1410        "check testCasebaseFunctionTest20", testCasebaseFunctionTest20);
1411    suite.addTest(
1412        "check testCasebaseFunctionTest21", testCasebaseFunctionTest21);
1413    suite.addTest(
1414        "check testCasebaseFunctionTest22", testCasebaseFunctionTest22);
1415    suite.addTest(
1416        "check testCasebaseFunctionTest22_1", testCasebaseFunctionTest22_1);
1417    suite.addTest(
1418        "check testCasebaseFunctionTest23", testCasebaseFunctionTest23);
1419    suite.addTest(
1420        "check testCasebaseFunctionTest23_1", testCasebaseFunctionTest23_1);
1421    suite.addTest(
1422        "check testCasebaseFunctionTest24", testCasebaseFunctionTest24);
1423    suite.addTest(
1424        "check testCasebaseFunctionTest25", testCasebaseFunctionTest25);
1425    suite.addTest(
1426        "check testCasebaseFunctionTest26", testCasebaseFunctionTest26);
1427    suite.addTest(
1428        "check testCasebaseFunctionTest26_1", testCasebaseFunctionTest26_1);
1429    suite.addTest(
1430        "check testCasebaseFunctionTest27", testCasebaseFunctionTest27);
1431    suite.addTest(
1432        "check testCasebaseFunctionTest27_1", testCasebaseFunctionTest27_1);
1433    suite.addTest(
1434        "check testCasebaseFunctionTest28", testCasebaseFunctionTest28);
1435    suite.addTest(
1436        "check testCasebaseFunctionTest29", testCasebaseFunctionTest29);
1437    suite.addTest(
1438        "check testCasebaseFunctionTest30", testCasebaseFunctionTest30);
1439    suite.addTest(
1440        "check testCasebaseFunctionTest31", testCasebaseFunctionTest31);
1441    suite.addTest(
1442        "check testCasebaseFunctionTest32", testCasebaseFunctionTest32);
1443    suite.addTest(
1444        "check testCasebaseFunctionTest32_1", testCasebaseFunctionTest32_1);
1445    suite.addTest(
1446        "check testCasebaseFunctionTest33", testCasebaseFunctionTest33);
1447    suite.addTest(
1448        "check testCasebaseFunctionTest33_1", testCasebaseFunctionTest33_1);
1449    suite.addTest(
1450        "check testCasebaseFunctionTest34", testCasebaseFunctionTest34);
1451    suite.addTest(
1452        "check testCasebaseFunctionTest34_1", testCasebaseFunctionTest34_1);
1453    suite.addTest(
1454        "check testCasebaseFunctionTest35", testCasebaseFunctionTest35);
1455    suite.addTest(
1456        "check testCasebaseFunctionTest35_1", testCasebaseFunctionTest35_1);
1457    suite.addTest(
1458        "check testCasebaseFunctionTest36", testCasebaseFunctionTest36);
1459    suite.addTest(
1460        "check testCasebaseFunctionTest36_1", testCasebaseFunctionTest36_1);
1461    suite.addTest(
1462        "check testCasebaseFunctionTest37", testCasebaseFunctionTest37);
1463    suite.addTest(
1464        "check testCasebaseFunctionTest37_1", testCasebaseFunctionTest37_1);
1465    suite.addTest(
1466        "check testCasebaseFunctionTest38", testCasebaseFunctionTest38);
1467    suite.addTest(
1468        "check testCasebaseFunctionTest38_1", testCasebaseFunctionTest38_1);
1469    suite.addTest(
1470        "check testCasebaseFunctionTest39", testCasebaseFunctionTest39);
1471    suite.addTest(
1472        "check testCasebaseFunctionTest39_1", testCasebaseFunctionTest39_1);
1473    suite.addTest(
1474        "check testCasebaseFunctionTest40", testCasebaseFunctionTest40);
1475    suite.addTest(
1476        "check testCasebaseFunctionTest40_1", testCasebaseFunctionTest40_1);
1477    suite.addTest(
1478        "check testCasebaseFunctionTest41", testCasebaseFunctionTest41);
1479    suite.addTest(
1480        "check testCasebaseFunctionTest42", testCasebaseFunctionTest42);
1481    suite.addTest(
1482        "check testCasebaseFunctionTest42_1", testCasebaseFunctionTest42_1);
1483    suite.addTest(
1484        "check testCasebaseFunctionTest43", testCasebaseFunctionTest43);
1485    suite.addTest(
1486        "check testCasebaseFunctionTest43_1", testCasebaseFunctionTest43_1);
1487    suite.addTest(
1488        "check testCasebaseFunctionTest44", testCasebaseFunctionTest44);
1489    suite.addTest(
1490        "check testCasebaseFunctionTest45", testCasebaseFunctionTest45);
1491    suite.addTest(
1492        "check testCasebaseFunctionTest46", testCasebaseFunctionTest46);
1493    suite.addTest(
1494        "check testCasebaseFunctionTest47", testCasebaseFunctionTest47);
1495    suite.addTest(
1496        "check testCasebaseFunctionTest48", testCasebaseFunctionTest48);
1497    suite.addTest(
1498        "check testCasebaseFunctionTest49", testCasebaseFunctionTest49);
1499    suite.addTest(
1500        "check testCasebaseFunctionTest50", testCasebaseFunctionTest50);
1501    suite.addTest(
1502        "check testCasebaseFunctionTest51", testCasebaseFunctionTest51);
1503    suite.addTest(
1504        "check testCasebaseFunctionTest52", testCasebaseFunctionTest52);
1505    suite.addTest(
1506        "check testCasebaseFunctionTest53", testCasebaseFunctionTest53);
1507    suite.addTest(
1508        "check testCasebaseFunctionTest54", testCasebaseFunctionTest54);
1509    suite.addTest(
1510        "check testCasebaseFunctionTest54_1", testCasebaseFunctionTest54_1);
1511    suite.addTest(
1512        "check testCasebaseFunctionTest55", testCasebaseFunctionTest55);
1513    suite.addTest(
1514        "check testCasebaseFunctionTest56", testCasebaseFunctionTest56);
1515    suite.addTest(
1516        "check testCasebaseFunctionTest56_1", testCasebaseFunctionTest56_1);
1517    suite.addTest(
1518        "check testCasebaseFunctionTest57", testCasebaseFunctionTest57);
1519    suite.addTest(
1520        "check testCasebaseFunctionTest57_1", testCasebaseFunctionTest57_1);
1521    // suite.addTest("check testCasebaseFunctionTest58",
1522    // testCasebaseFunctionTest58);
1523    suite.addTest(
1524        "check testCasebaseFunctionTest59", testCasebaseFunctionTest59);
1525    suite.addTest(
1526        "check testCasebaseFunctionTest60", testCasebaseFunctionTest60);
1527    suite.addTest(
1528        "check testCasebaseFunctionTest61", testCasebaseFunctionTest61);
1529    suite.addTest(
1530        "check testCasebaseFunctionTest62", testCasebaseFunctionTest62);
1531    suite.addTest(
1532        "check testCasebaseFunctionTest62_1", testCasebaseFunctionTest62_1);
1533    suite.addTest(
1534        "check testCasebaseFunctionTest63", testCasebaseFunctionTest63);
1535    suite.addTest(
1536        "check testCasebaseFunctionTest64", testCasebaseFunctionTest64);
1537    suite.addTest(
1538        "check testCasebaseFunctionTest64_1", testCasebaseFunctionTest64_1);
1539    suite.addTest(
1540        "check testCasebaseFunctionTest64_2", testCasebaseFunctionTest64_2);
1541    // performance
1542    suite.addTest(
1543        "check testInter1BasePerformanceFunctionTest1",
1544        testInter1BasePerformanceFunctionTest1);
1545    suite.addTest(
1546        "check testInter1BasePerformanceFunctionTest2",
1547        testInter1BasePerformanceFunctionTest2);
1548    suite.addTest(
1549        "check testInter2BasePerformanceFunctionTest1",
1550        testInter2BasePerformanceFunctionTest1);
1551    suite.addTest(
1552        "check testInter2BasePerformanceFunctionTest2",
1553        testInter2BasePerformanceFunctionTest2);
1554    suite.addTest(
1555        "check testInter3BasePerformanceFunctionTest1",
1556        testInter3BasePerformanceFunctionTest1);
1557    suite.addTest(
1558        "check testInter3BasePerformanceFunctionTest2",
1559        testInter3BasePerformanceFunctionTest2);
1560    suite.addTest(
1561        "check testInter4BasePerformanceFunctionTest1",
1562        testInter4BasePerformanceFunctionTest1);
1563    suite.addTest(
1564        "check testInter4BasePerformanceFunctionTest2",
1565        testInter4BasePerformanceFunctionTest2);
1566    suite.addTest(
1567        "check testInter5BasePerformanceFunctionTest1",
1568        testInter5BasePerformanceFunctionTest1);
1569    suite.addTest(
1570        "check testInter5BasePerformanceFunctionTest2",
1571        testInter5BasePerformanceFunctionTest2);
1572    suite.addTest(
1573        "check testInter6BasePerformanceFunctionTest1",
1574        testInter6BasePerformanceFunctionTest1);
1575    suite.addTest(
1576        "check testInter6BasePerformanceFunctionTest2",
1577        testInter6BasePerformanceFunctionTest2);
1578    suite.addTest(
1579        "check testInter7BasePerformanceFunctionTest1",
1580        testInter7BasePerformanceFunctionTest1);
1581    suite.addTest(
1582        "check testInter7BasePerformanceFunctionTest2",
1583        testInter7BasePerformanceFunctionTest2);
1584    suite.addTest(
1585        "check testInter8BasePerformanceFunctionTest1",
1586        testInter8BasePerformanceFunctionTest1);
1587    suite.addTest(
1588        "check testInter8BasePerformanceFunctionTest2",
1589        testInter8BasePerformanceFunctionTest2);
1590    suite.addTest(
1591        "check testInter9BasePerformanceFunctionTest1",
1592        testInter9BasePerformanceFunctionTest1);
1593    suite.addTest(
1594        "check testInter9BasePerformanceFunctionTest2",
1595        testInter9BasePerformanceFunctionTest2);
1596    suite.addTest(
1597        "check testInter10BasePerformanceFunctionTest1",
1598        testInter10BasePerformanceFunctionTest1);
1599    suite.addTest(
1600        "check testInter10BasePerformanceFunctionTest2",
1601        testInter10BasePerformanceFunctionTest2);
1602    suite.addTest(
1603        "check testInter11BasePerformanceFunctionTest1",
1604        testInter11BasePerformanceFunctionTest1);
1605    suite.addTest(
1606        "check testInter11BasePerformanceFunctionTest2",
1607        testInter11BasePerformanceFunctionTest2);
1608    suite.addTest(
1609        "check testInter12BasePerformanceFunctionTest1",
1610        testInter12BasePerformanceFunctionTest1);
1611    suite.addTest(
1612        "check testInter12BasePerformanceFunctionTest2",
1613        testInter12BasePerformanceFunctionTest2);
1614    suite.addTest(
1615        "check testInter13BasePerformanceFunctionTest1",
1616        testInter13BasePerformanceFunctionTest1);
1617    suite.addTest(
1618        "check testInter13BasePerformanceFunctionTest2",
1619        testInter13BasePerformanceFunctionTest2);
1620    suite.addTest(
1621        "check testInter14BasePerformanceFunctionTest1",
1622        testInter14BasePerformanceFunctionTest1);
1623    suite.addTest(
1624        "check testInter14BasePerformanceFunctionTest2",
1625        testInter14BasePerformanceFunctionTest2);
1626    suite.addTest(
1627        "check testInter15BasePerformanceFunctionTest1",
1628        testInter15BasePerformanceFunctionTest1);
1629    suite.addTest(
1630        "check testInter15BasePerformanceFunctionTest2",
1631        testInter15BasePerformanceFunctionTest2);
1632    suite.addTest(
1633        "check testInter16BasePerformanceFunctionTest1",
1634        testInter16BasePerformanceFunctionTest1);
1635    suite.addTest(
1636        "check testInter16BasePerformanceFunctionTest2",
1637        testInter16BasePerformanceFunctionTest2);
1638    suite.addTest(
1639        "check testInter17BasePerformanceFunctionTest1",
1640        testInter17BasePerformanceFunctionTest1);
1641    suite.addTest(
1642        "check testInter17BasePerformanceFunctionTest2",
1643        testInter17BasePerformanceFunctionTest2);
1644    suite.addTest(
1645        "check testInter18BasePerformanceFunctionTest1",
1646        testInter18BasePerformanceFunctionTest1);
1647    suite.addTest(
1648        "check testInter18BasePerformanceFunctionTest2",
1649        testInter18BasePerformanceFunctionTest2);
1650    suite.addTest(
1651        "check testInter19BasePerformanceFunctionTest1",
1652        testInter19BasePerformanceFunctionTest1);
1653    suite.addTest(
1654        "check testInter19BasePerformanceFunctionTest2",
1655        testInter19BasePerformanceFunctionTest2);
1656    suite.addTest(
1657        "check testInter20BasePerformanceFunctionTest1",
1658        testInter20BasePerformanceFunctionTest1);
1659    suite.addTest(
1660        "check testInter20BasePerformanceFunctionTest2",
1661        testInter20BasePerformanceFunctionTest2);
1662    suite.addTest(
1663        "check testInter21BasePerformanceFunctionTest1",
1664        testInter21BasePerformanceFunctionTest1);
1665    suite.addTest(
1666        "check testInter21BasePerformanceFunctionTest2",
1667        testInter21BasePerformanceFunctionTest2);
1668    suite.addTest(
1669        "check testInter21BasePerformanceFunctionTest3",
1670        testInter21BasePerformanceFunctionTest3);
1671    suite.addTest(
1672        "check testInter21BasePerformanceFunctionTest4",
1673        testInter21BasePerformanceFunctionTest4);
1674    suite.addTest(
1675        "check testInter21BasePerformanceFunctionTest5",
1676        testInter21BasePerformanceFunctionTest5);
1677
1678    suite.addTest(
1679        "check testInter21BasePerformanceFunctionTest6",
1680        testInter21BasePerformanceFunctionTest6);
1681    suite.addTest(
1682        "check testInter21BasePerformanceFunctionTest7",
1683        testInter21BasePerformanceFunctionTest7);
1684    suite.addTest(
1685        "check testInter21BasePerformanceFunctionTest8",
1686        testInter21BasePerformanceFunctionTest8);
1687    suite.addTest(
1688        "check testInter21BasePerformanceFunctionTest9",
1689        testInter21BasePerformanceFunctionTest9);
1690
1691    suite.addTest(
1692        "check testInter21BasePerformanceFunctionTest10",
1693        testInter21BasePerformanceFunctionTest10);
1694
1695    suite.addTest(
1696        "check testInter21BasePerformanceFunctionTest11",
1697        testInter21BasePerformanceFunctionTest11);
1698    suite.addTest(
1699        "check testInter21BasePerformanceFunctionTest12",
1700        testInter21BasePerformanceFunctionTest12);
1701    suite.addTest(
1702        "check testInter21BasePerformanceFunctionTest13",
1703        testInter21BasePerformanceFunctionTest13);
1704
1705    suite.addTest(
1706        "check testInter21BasePerformanceFunctionTest14",
1707        testInter21BasePerformanceFunctionTest14);
1708    suite.addTest(
1709        "check testInter21BasePerformanceFunctionTest15",
1710        testInter21BasePerformanceFunctionTest15);
1711    suite.addTest(
1712        "check testInter21BasePerformanceFunctionTest16",
1713        testInter21BasePerformanceFunctionTest16);
1714    suite.addTest(
1715        "check testInter21BasePerformanceFunctionTest17",
1716        testInter21BasePerformanceFunctionTest17);
1717    suite.addTest("check testCaseIbaseInterface1", testCaseIbaseInterface1);
1718    suite.addTest("check testCaseIbaseInterface2", testCaseIbaseInterface2);
1719    suite.addTest("check testCaseIbaseInterface3", testCaseIbaseInterface3);
1720    suite.addTest("check testCaseIbaseInterface4", testCaseIbaseInterface4);
1721    suite.addTest("check testCaseConstant1", testCaseConstant1);
1722    suite.addTest("check testCaseConstant2", testCaseConstant2);
1723    suite.addTest("check testCaseConstant3", testCaseConstant3);
1724    exit(suite.run());
1725}
1726