Fix external_objects_java module tests under Linux/Mac OS X
[scilab.git] / scilab / modules / external_objects_java / tests / unit_tests / jcompile.dia.ref
1 //
2 //  Copyright (C) 2013 - S/E - Sylvestre Ledru
3 //
4 //  This file must be used under the terms of the CeCILL.
5 //  This source file is licensed as described in the file COPYING, which
6 //  you should have received as part of this distribution.  The terms
7 //  are also available at
8 //  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9 //
10 //
11 // <-- JVM MANDATORY -->
12 //
13 exec("SCI/modules/external_objects_java/tests/unit_tests/ecjclasspath.sce", -1);
14 c = jcompile("Test", ["public class Test {";
15 "public int field;";
16 "public Test(int n) {";
17 "field = n;";
18 "}";
19 "}";]);
20 assert_checkequal(jgetclassname(c),"Test");
21 t = c.new(128);
22 v = jgetfield(t, "field");
23 // or easier
24 //junwraprem(t.field)
25 jremove c t v;
26 fd = mopen(TMPDIR+"/HelloWorld.java","wt");
27 mputl(["public class HelloWorld {"
28 "public static String getHello() {"
29 "return ""Hello World !!"";"
30 "}"
31 "}"],fd);
32 mclose(fd);
33 jcompile(TMPDIR+"/HelloWorld.java")
34 jimport HelloWorld;
35 assert_checkequal(HelloWorld.getHello(), "Hello World !!");
36 directory=SCI+"/modules/external_objects_java/examples/com/foo/";
37 // Compile of all them
38 jcompile(ls(directory + "/*.java"))
39 jimport("com.foo.HouseFactory")
40 house = HouseFactory.basicHouse();
41 assert_checkequal(house.toString(), "This is a house painted in white, has a white door, and 1 windows");
42 assert_checkequal(jgetclassname(house), "com.foo.House");
43 jimport("com.foo.CircularWindow");
44 newWindow = CircularWindow.new(0.5);
45 house.addWindow(newWindow);
46 assert_checkequal(house.toString(), "This is a house painted in white, has a white door, and 2 windows");
47 jimport("com.foo.Color");
48 jimport("com.foo.Door");
49 newDoor = Door.new(Color.RED);
50 house.replaceDoor(newDoor);
51 assert_checkequal(house.toString(), "This is a house painted in white, has a red door, and 2 windows");