Use the swig generated enum ScilabIntegerTypeEnum for int declaration instead of...
[scilab.git] / scilab / modules / types / tests / java / org / scilab / tests / modules / types / testEquals.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2010 - DIGITEO - Sylvestre LEDRU
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12 package org.scilab.tests.modules.types;
13
14 import org.testng.annotations.*;
15
16 import java.util.Arrays;
17
18 import org.scilab.modules.types.scilabTypes.ScilabType;
19 import org.scilab.modules.types.scilabTypes.ScilabDouble;
20 import org.scilab.modules.types.scilabTypes.ScilabInteger;
21 import org.scilab.modules.types.scilabTypes.ScilabIntegerTypeEnum;
22 import org.scilab.modules.types.scilabTypes.ScilabBoolean;
23 import org.scilab.modules.types.scilabTypes.ScilabString;
24 import org.scilab.modules.types.scilabTypes.ScilabList;
25
26 public class testEquals {
27
28         @Test
29         public void compareDoubleTest() throws NullPointerException {
30                 double [][]a={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
31                 double [][]b={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
32                 double [][]c={{42,43},{21,22}};
33                 ScilabDouble aMatrix = new ScilabDouble(a);
34                 ScilabDouble bMatrix = new ScilabDouble(b);
35                 ScilabDouble cMatrix = new ScilabDouble(c);
36                 assert aMatrix.equals(bMatrix) == true;
37                 assert bMatrix.equals(aMatrix) == true;
38                 assert cMatrix.equals(aMatrix) == false;
39                 assert Arrays.deepEquals(aMatrix.getRealPart(), bMatrix.getRealPart()) == true;
40                 assert aMatrix.toString().equals("[21.2, 22.0, 42.0, 39.0 ; 23.2, 24.0, 44.0, 40.0]") == true;
41                 assert cMatrix.toString().equals("[42.0, 43.0 ; 21.0, 22.0]") == true;
42         }
43
44
45         @Test
46         public void compareDoubleComplexTest() throws NullPointerException {
47                 double [][]a={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
48                 double [][]aImg={{210.2, 220.0, 420.0, 390.0},{230.2, 240.0, 440.0, 400.0}};
49                 double [][]b={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
50                 double [][]bImg={{210.2, 220.0, 420.0, 390.0},{230.2, 240.0, 440.0, 400.0}};
51                 double [][]c={{42,43},{21,22}};
52                 double [][]cImg={{420,430},{210,220}};
53                 ScilabDouble aMatrix = new ScilabDouble(a, aImg);
54                 ScilabDouble bMatrix = new ScilabDouble(b, bImg);
55                 ScilabDouble cMatrix = new ScilabDouble(c, cImg);
56                 assert aMatrix.equals(bMatrix) == true;
57                 assert bMatrix.equals(aMatrix) == true;
58                 assert cMatrix.equals(aMatrix) == false;
59                 assert Arrays.deepEquals(aMatrix.getRealPart(), bMatrix.getRealPart()) == true;
60                 assert Arrays.deepEquals(aMatrix.getImaginaryPart(), bMatrix.getImaginaryPart()) == true;
61                 assert aMatrix.toString().equals("[21.2 + 210.2 * %i, 22.0 + 220.0 * %i, 42.0 + 420.0 * %i, 39.0 + 390.0 * %i ; 23.2 + 230.2 * %i, 24.0 + 240.0 * %i, 44.0 + 440.0 * %i, 40.0 + 400.0 * %i]") == true;
62                 assert cMatrix.toString().equals("[42.0 + 420.0 * %i, 43.0 + 430.0 * %i ; 21.0 + 210.0 * %i, 22.0 + 220.0 * %i]") == true;
63
64                 double [] result = new double[]{21.2, 23.2, 22.0, 24.0, 42.0, 44.0, 39.0, 40.0, 210.2, 230.2, 220.0, 240.0, 420.0, 440.0, 390.0, 400.0};
65                 assert aMatrix.getSerializedComplexMatrix().length == result.length;
66                 assert Arrays.equals(aMatrix.getSerializedComplexMatrix(),result) == true;
67
68
69         }
70
71
72         @Test
73         public void compareInteger8Test() throws NullPointerException {
74                 byte [][]a={{32,42,41}, {12,13,32}};
75                 byte [][]b={{32,42,41}, {12,13,32}};
76                 byte [][]c={{42,43},{21,22}};
77                 ScilabInteger aMatrix = new ScilabInteger(a, true);
78                 ScilabInteger bMatrix = new ScilabInteger(b, true);
79                 ScilabInteger cMatrix = new ScilabInteger(c, true);
80                 ScilabInteger dMatrix = new ScilabInteger(c, false);
81                 assert aMatrix.equals(bMatrix) == true;
82                 assert bMatrix.equals(aMatrix) == true;
83                 assert cMatrix.equals(aMatrix) == false;
84                 assert cMatrix.equals(dMatrix) == true;
85                 assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
86                 assert aMatrix.toString().equals("uint8([32, 42, 41 ; 12, 13, 32])") == true;
87                 assert cMatrix.toString().equals("uint8([42, 43 ; 21, 22])") == true;
88                 assert dMatrix.toString().equals("int8([42, 43 ; 21, 22])") == true;
89                 assert aMatrix.getDataAsByte().length == a.length;
90                 assert aMatrix.getDataAsByte()[0].length == a[0].length;
91                 byte [][]d = aMatrix.getDataAsByte();
92                 long [][]d2 = aMatrix.getData();
93                 assert d[0][0] == 32;
94                 assert d2[0][0] == 32;
95                 assert Arrays.deepEquals(a,d);
96                 assert aMatrix.getPrec() == ScilabIntegerTypeEnum.sci_uint8;
97                 assert dMatrix.getPrec() == ScilabIntegerTypeEnum.sci_int8;
98                 assert aMatrix.isUnsigned() == true;
99                 assert dMatrix.isUnsigned() == false;
100                 assert ScilabInteger.convertOldType("TYPE8", true) == ScilabIntegerTypeEnum.sci_uint8;
101                 assert ScilabInteger.convertOldType("TYPE8", false) == ScilabIntegerTypeEnum.sci_int8;
102         }
103
104
105         @Test
106         public void compareInteger16Test() throws NullPointerException {
107                 short [][]a={{32,42,41}, {12,13,32}};
108                 short [][]b={{32,42,41}, {12,13,32}};
109                 short [][]c={{42,43},{21,22}};
110                 ScilabInteger aMatrix = new ScilabInteger(a, true);
111                 ScilabInteger bMatrix = new ScilabInteger(b, true);
112                 ScilabInteger cMatrix = new ScilabInteger(c, true);
113                 ScilabInteger dMatrix = new ScilabInteger(c, false);
114                 assert aMatrix.equals(bMatrix) == true;
115                 assert bMatrix.equals(aMatrix) == true;
116                 assert cMatrix.equals(aMatrix) == false;
117                 assert cMatrix.equals(dMatrix) == true;
118                 assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
119                 assert aMatrix.toString().equals("uint16([32, 42, 41 ; 12, 13, 32])") == true;
120                 assert cMatrix.toString().equals("uint16([42, 43 ; 21, 22])") == true;
121                 assert dMatrix.toString().equals("int16([42, 43 ; 21, 22])") == true;
122                 assert aMatrix.getDataAsShort().length == a.length;
123                 assert aMatrix.getDataAsShort()[0].length == a[0].length;
124                 short [][]d = aMatrix.getDataAsShort();
125                 long [][]d2 = aMatrix.getData();
126                 assert d[0][0] == 32;
127                 assert d2[0][0] == 32;
128                 assert Arrays.deepEquals(a,d);
129                 assert aMatrix.getPrec() == ScilabIntegerTypeEnum.sci_uint16;
130                 assert dMatrix.getPrec() == ScilabIntegerTypeEnum.sci_int16;
131                 assert aMatrix.isUnsigned() == true;
132                 assert dMatrix.isUnsigned() == false;
133                 assert ScilabInteger.convertOldType("TYPE16", true) == ScilabIntegerTypeEnum.sci_uint16;
134                 assert ScilabInteger.convertOldType("TYPE16", false) == ScilabIntegerTypeEnum.sci_int16;
135         }
136
137         @Test
138         public void compareInteger32Test() throws NullPointerException {
139                 int [][]a={{32,42,41}, {12,13,32}};
140                 int [][]b={{32,42,41}, {12,13,32}};
141                 int [][]c={{42,43},{21,22}};
142                 ScilabInteger aMatrix = new ScilabInteger(a, true);
143                 ScilabInteger bMatrix = new ScilabInteger(b, true);
144                 ScilabInteger cMatrix = new ScilabInteger(c, true);
145                 ScilabInteger dMatrix = new ScilabInteger(c, false);
146                 assert aMatrix.equals(bMatrix) == true;
147                 assert bMatrix.equals(aMatrix) == true;
148                 assert cMatrix.equals(aMatrix) == false;
149                 assert cMatrix.equals(dMatrix) == true;
150                 assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
151                 assert aMatrix.toString().equals("uint32([32, 42, 41 ; 12, 13, 32])") == true;
152                 assert cMatrix.toString().equals("uint32([42, 43 ; 21, 22])") == true;
153                 assert dMatrix.toString().equals("int32([42, 43 ; 21, 22])") == true;
154                 assert aMatrix.getDataAsInt().length == a.length;
155                 assert aMatrix.getDataAsInt()[0].length == a[0].length;
156                 int [][]d = aMatrix.getDataAsInt();
157                 long [][]d2 = aMatrix.getData();
158                 assert d[0][0] == 32;
159                 assert d2[0][0] == 32;
160                 assert Arrays.deepEquals(a,d);
161                 assert aMatrix.getPrec() == ScilabIntegerTypeEnum.sci_uint32;
162                 assert dMatrix.getPrec() == ScilabIntegerTypeEnum.sci_int32;
163                 assert aMatrix.isUnsigned() == true;
164                 assert dMatrix.isUnsigned() == false;
165                 assert ScilabInteger.convertOldType("TYPE32", true) == ScilabIntegerTypeEnum.sci_uint32;
166                 assert ScilabInteger.convertOldType("TYPE32", false) == ScilabIntegerTypeEnum.sci_int32;
167         }
168
169         @Test
170         public void compareInteger64Test() throws NullPointerException {
171                 long [][]a={{32,42,41}, {12,13,32}};
172                 long [][]b={{32,42,41}, {12,13,32}};
173                 long [][]c={{42,43},{21,22}};
174                 ScilabInteger aMatrix = new ScilabInteger(a, true);
175                 ScilabInteger bMatrix = new ScilabInteger(b, true);
176                 ScilabInteger cMatrix = new ScilabInteger(c, true);
177                 ScilabInteger dMatrix = new ScilabInteger(c, false);
178                 assert aMatrix.equals(bMatrix) == true;
179                 assert bMatrix.equals(aMatrix) == true;
180                 assert cMatrix.equals(aMatrix) == false;
181                 assert cMatrix.equals(dMatrix) == true;
182                 assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
183                 assert aMatrix.toString().equals("uint64([32, 42, 41 ; 12, 13, 32])") == true;
184                 assert cMatrix.toString().equals("uint64([42, 43 ; 21, 22])") == true;
185                 assert dMatrix.toString().equals("int64([42, 43 ; 21, 22])") == true;
186                 assert aMatrix.getDataAsLong().length == a.length;
187                 assert aMatrix.getDataAsLong()[0].length == a[0].length;
188                 long [][]d = aMatrix.getDataAsLong();
189                 long [][]d2 = aMatrix.getData();
190                 assert d[0][0] == 32;
191                 assert d2[0][0] == 32;
192                 assert Arrays.deepEquals(a,d);
193                 assert aMatrix.getPrec() == ScilabIntegerTypeEnum.sci_uint64;
194                 assert dMatrix.getPrec() == ScilabIntegerTypeEnum.sci_int64;
195                 assert aMatrix.isUnsigned() == true;
196                 assert dMatrix.isUnsigned() == false;
197                 assert ScilabInteger.convertOldType("TYPE64", true) == ScilabIntegerTypeEnum.sci_uint64;
198                 assert ScilabInteger.convertOldType("TYPE64", false) == ScilabIntegerTypeEnum.sci_int64;
199         }
200
201
202         @Test
203         public void compareBooleanTest() throws NullPointerException {
204                 boolean [][]a={{true,false,true}, {true,true,true}};
205                 boolean [][]b={{true,false,true}, {true,true,true}};
206                 boolean [][]c={{true,false},{false,true}};
207                 ScilabBoolean aMatrix = new ScilabBoolean(a);
208                 ScilabBoolean bMatrix = new ScilabBoolean(b);
209                 ScilabBoolean cMatrix = new ScilabBoolean(c);
210                 assert aMatrix.equals(bMatrix) == true;
211                 assert bMatrix.equals(aMatrix) == true;
212                 assert cMatrix.equals(aMatrix) == false;
213                 assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
214                 assert aMatrix.toString().equals("[%t, %f, %t ; %t, %t, %t]") == true;
215                 assert cMatrix.toString().equals("[%t, %f ; %f, %t]") == true;
216         }
217
218         @Test
219         public void compareStringTest() throws NullPointerException {
220                 String [][]a={{"This","is","my","string"},{"and","I want to", "compare"," them"}};
221                 String [][]b={{"This","is","my","string"},{"and","I want to", "compare"," them"}};
222                 String [][]c={{"Wrong","string"},{"right","string"}};
223                 ScilabString aMatrix = new ScilabString(a);
224                 ScilabString bMatrix = new ScilabString(b);
225                 ScilabString cMatrix = new ScilabString(c);
226                 assert aMatrix.equals(bMatrix) == true;
227                 assert bMatrix.equals(aMatrix) == true;
228                 assert cMatrix.equals(aMatrix) == false;
229                 assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
230                 assert aMatrix.toString().equals("[\"This\", \"is\", \"my\", \"string\" ; \"and\", \"I want to\", \"compare\", \" them\"]") == true;
231                 assert cMatrix.toString().equals("[\"Wrong\", \"string\" ; \"right\", \"string\"]") == true;
232
233         }
234
235         @Test
236         public void compareListTest() throws NullPointerException {
237                 ScilabList data = new ScilabList();
238                 data.add(new ScilabDouble(2));
239                 data.add(new ScilabDouble(51));
240                 data.add(new ScilabString("hello"));
241                 ScilabList data2 = new ScilabList();
242                 data2.add(new ScilabDouble(2));
243                 data2.add(new ScilabDouble(51));
244                 data2.add(new ScilabString("hello"));
245                 ScilabList data3 = new ScilabList();
246                 data3.add(new ScilabDouble(2));
247                 data3.add(new ScilabDouble(42));
248                 data3.add(new ScilabBoolean(true));
249                 data3.add(new ScilabString("hello"));
250                 assert data.equals(data2) == true;
251                 assert data.equals(data3) == false;
252                 assert data.toString().equals("list([2.0],\n[51.0],\n[\"hello\"])") == true;
253                 assert data3.toString().equals("list([2.0],\n[42.0],\n[%t],\n[\"hello\"])") == true;
254
255         }
256 }