Bug 13027 fixed: There was no autowrap into array in JIMS
[scilab.git] / scilab / modules / external_objects_java / tests / unit_tests / array_wrapping.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7
8 c = jcompile("Test", ["public class Test {"
9 "public static double foo(double[] x) {"
10 " double s = 0;"
11 " for (int i = 0; i < x.length; i++) s += x[i];"
12 " return s;"
13 "}"
14 "public static double foo(String[] x) {"
15 " double s = 0;"
16 " for (int i = 0; i < x.length; i++) s += x[i].length();"
17 " return s;"
18 "}"
19 "public static double bar(int[] x) {"
20 " double s = 0;"
21 " for (int i = 0; i < x.length; i++) s += x[i];"
22 " return s;"
23 "}"
24 "}"
25 ]);
26 jimport Test;
27
28 x = 123;
29 assert_checkequal(Test.foo(x), x);
30
31 x = rand(1,100);
32 assert_checkequal(Test.foo(x), sum(x));
33
34 x = rand(100,100);
35 assert_checkequal(Test.foo(x), sum(x));
36
37 assert_checkequal(Test.foo(1,2,3,4,5,6), sum(1:6));
38
39 x = "hello";
40 assert_checkequal(Test.foo(x), length(x));
41
42 x = string(rand(1,100));
43 assert_checkequal(Test.foo(x), sum(length(x)));
44
45 x = string(rand(100,100));
46 assert_checkequal(Test.foo(x), sum(length(x)));
47
48 x = 123;
49 assert_checkequal(Test.bar(x), x);
50
51 x = floor(123 * rand(1,100));
52 assert_checkequal(Test.bar(x), sum(x));
53
54 assert_checkequal(Test.bar(1,2,3,4,5,6), sum(1:6));