514bbe528307557c7d3f202f2c66cc6ec8367483
[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.javasci;
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.ScilabBoolean;
22 import org.scilab.modules.types.scilabTypes.ScilabString;
23 import org.scilab.modules.types.scilabTypes.ScilabList;
24
25 public class testEquals {
26
27         @Test
28     public void compareDoubleTest() throws NullPointerException {
29         double [][]a={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
30         double [][]b={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
31         double [][]c={{42,43},{21,22}};
32         ScilabDouble aMatrix = new ScilabDouble(a);
33         ScilabDouble bMatrix = new ScilabDouble(b);
34         ScilabDouble cMatrix = new ScilabDouble(c);
35         assert aMatrix.equals(bMatrix) == true;
36         assert bMatrix.equals(aMatrix) == true;
37         assert cMatrix.equals(aMatrix) == false;
38         assert Arrays.deepEquals(aMatrix.getRealPart(), bMatrix.getRealPart()) == true;
39                 assert aMatrix.toString().equals("[21.2, 22.0, 42.0, 39.0 ; 23.2, 24.0, 44.0, 40.0]") == true;
40                 assert cMatrix.toString().equals("[42.0, 43.0 ; 21.0, 22.0]") == true;
41     }
42
43
44         @Test
45     public void compareDoubleComplexTest() throws NullPointerException {
46         double [][]a={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
47         double [][]aImg={{210.2, 220.0, 420.0, 390.0},{230.2, 240.0, 440.0, 400.0}};
48         double [][]b={{21.2, 22.0, 42.0, 39.0},{23.2, 24.0, 44.0, 40.0}};
49         double [][]bImg={{210.2, 220.0, 420.0, 390.0},{230.2, 240.0, 440.0, 400.0}};
50         double [][]c={{42,43},{21,22}};
51         double [][]cImg={{420,430},{210,220}};
52         ScilabDouble aMatrix = new ScilabDouble(a, aImg);
53         ScilabDouble bMatrix = new ScilabDouble(b, bImg);
54         ScilabDouble cMatrix = new ScilabDouble(c, cImg);
55         assert aMatrix.equals(bMatrix) == true;
56         assert bMatrix.equals(aMatrix) == true;
57         assert cMatrix.equals(aMatrix) == false;
58         assert Arrays.deepEquals(aMatrix.getRealPart(), bMatrix.getRealPart()) == true;
59         assert Arrays.deepEquals(aMatrix.getImaginaryPart(), bMatrix.getImaginaryPart()) == true;
60                 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;
61                 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;
62
63         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};
64         assert aMatrix.getSerializedComplexMatrix().length == result.length;
65         assert Arrays.equals(aMatrix.getSerializedComplexMatrix(),result) == true;
66
67
68     }
69
70
71         @Test
72     public void compareInteger8Test() throws NullPointerException {
73         byte [][]a={{32,42,41}, {12,13,32}};
74         byte [][]b={{32,42,41}, {12,13,32}};
75         byte [][]c={{42,43},{21,22}};
76         ScilabInteger aMatrix = new ScilabInteger(a, true);
77         ScilabInteger bMatrix = new ScilabInteger(b, true);
78         ScilabInteger cMatrix = new ScilabInteger(c, true);
79         ScilabInteger dMatrix = new ScilabInteger(c, false);
80         assert aMatrix.equals(bMatrix) == true;
81         assert bMatrix.equals(aMatrix) == true;
82         assert cMatrix.equals(aMatrix) == false;
83         assert cMatrix.equals(dMatrix) == true;
84         assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
85                 assert aMatrix.toString().equals("uint8([32, 42, 41 ; 12, 13, 32])") == true;
86                 assert cMatrix.toString().equals("uint8([42, 43 ; 21, 22])") == true;
87                 assert dMatrix.toString().equals("int8([42, 43 ; 21, 22])") == true;
88                 assert aMatrix.getDataAsByte().length == a.length;
89                 assert aMatrix.getDataAsByte()[0].length == a[0].length;
90                 byte [][]d = aMatrix.getDataAsByte();
91                 Long [][]d2 = aMatrix.getData();
92                 assert d[0][0] == 32;
93                 assert d2[0][0] == 32;
94                 assert Arrays.deepEquals(a,d);
95     }
96
97
98         @Test
99     public void compareInteger16Test() throws NullPointerException {
100         short [][]a={{32,42,41}, {12,13,32}};
101         short [][]b={{32,42,41}, {12,13,32}};
102         short [][]c={{42,43},{21,22}};
103         ScilabInteger aMatrix = new ScilabInteger(a, true);
104         ScilabInteger bMatrix = new ScilabInteger(b, true);
105         ScilabInteger cMatrix = new ScilabInteger(c, true);
106         ScilabInteger dMatrix = new ScilabInteger(c, false);
107         assert aMatrix.equals(bMatrix) == true;
108         assert bMatrix.equals(aMatrix) == true;
109         assert cMatrix.equals(aMatrix) == false;
110         assert cMatrix.equals(dMatrix) == true;
111         assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
112                 assert aMatrix.toString().equals("uint16([32, 42, 41 ; 12, 13, 32])") == true;
113                 assert cMatrix.toString().equals("uint16([42, 43 ; 21, 22])") == true;
114                 assert dMatrix.toString().equals("int16([42, 43 ; 21, 22])") == true;
115                 assert aMatrix.getDataAsShort().length == a.length;
116                 assert aMatrix.getDataAsShort()[0].length == a[0].length;
117                 short [][]d = aMatrix.getDataAsShort();
118                 Long [][]d2 = aMatrix.getData();
119                 assert d[0][0] == 32;
120                 assert d2[0][0] == 32;
121                 assert Arrays.deepEquals(a,d);
122     }
123
124         @Test
125     public void compareInteger32Test() throws NullPointerException {
126         int [][]a={{32,42,41}, {12,13,32}};
127         int [][]b={{32,42,41}, {12,13,32}};
128         int [][]c={{42,43},{21,22}};
129         ScilabInteger aMatrix = new ScilabInteger(a, true);
130         ScilabInteger bMatrix = new ScilabInteger(b, true);
131         ScilabInteger cMatrix = new ScilabInteger(c, true);
132         ScilabInteger dMatrix = new ScilabInteger(c, false);
133         assert aMatrix.equals(bMatrix) == true;
134         assert bMatrix.equals(aMatrix) == true;
135         assert cMatrix.equals(aMatrix) == false;
136         assert cMatrix.equals(dMatrix) == true;
137         assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
138                 assert aMatrix.toString().equals("uint32([32, 42, 41 ; 12, 13, 32])") == true;
139                 assert cMatrix.toString().equals("uint32([42, 43 ; 21, 22])") == true;
140                 assert dMatrix.toString().equals("int32([42, 43 ; 21, 22])") == true;
141                 assert aMatrix.getDataAsInt().length == a.length;
142                 assert aMatrix.getDataAsInt()[0].length == a[0].length;
143                 int [][]d = aMatrix.getDataAsInt();
144                 Long [][]d2 = aMatrix.getData();
145                 assert d[0][0] == 32;
146                 assert d2[0][0] == 32;
147                 assert Arrays.deepEquals(a,d);
148     }
149
150         @Test
151     public void compareInteger64Test() throws NullPointerException {
152         long [][]a={{32,42,41}, {12,13,32}};
153         long [][]b={{32,42,41}, {12,13,32}};
154         long [][]c={{42,43},{21,22}};
155         ScilabInteger aMatrix = new ScilabInteger(a, true);
156         ScilabInteger bMatrix = new ScilabInteger(b, true);
157         ScilabInteger cMatrix = new ScilabInteger(c, true);
158         ScilabInteger dMatrix = new ScilabInteger(c, false);
159         assert aMatrix.equals(bMatrix) == true;
160         assert bMatrix.equals(aMatrix) == true;
161         assert cMatrix.equals(aMatrix) == false;
162         assert cMatrix.equals(dMatrix) == true;
163         assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
164                 assert aMatrix.toString().equals("uint64([32, 42, 41 ; 12, 13, 32])") == true;
165                 assert cMatrix.toString().equals("uint64([42, 43 ; 21, 22])") == true;
166                 assert dMatrix.toString().equals("int64([42, 43 ; 21, 22])") == true;
167                 assert aMatrix.getDataAsLong().length == a.length;
168                 assert aMatrix.getDataAsLong()[0].length == a[0].length;
169                 long [][]d = aMatrix.getDataAsLong();
170                 Long [][]d2 = aMatrix.getData();
171                 assert d[0][0] == 32;
172                 assert d2[0][0] == 32;
173                 assert Arrays.deepEquals(a,d);
174     }
175
176
177         @Test
178     public void compareBooleanTest() throws NullPointerException {
179         boolean [][]a={{true,false,true}, {true,true,true}};
180         boolean [][]b={{true,false,true}, {true,true,true}};
181         boolean [][]c={{true,false},{false,true}};
182         ScilabBoolean aMatrix = new ScilabBoolean(a);
183         ScilabBoolean bMatrix = new ScilabBoolean(b);
184         ScilabBoolean cMatrix = new ScilabBoolean(c);
185         assert aMatrix.equals(bMatrix) == true;
186         assert bMatrix.equals(aMatrix) == true;
187         assert cMatrix.equals(aMatrix) == false;
188         assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
189         assert aMatrix.toString().equals("[%t, %f, %t ; %t, %t, %t]") == true;
190         assert cMatrix.toString().equals("[%t, %f ; %f, %t]") == true;
191     }
192
193         @Test
194     public void compareStringTest() throws NullPointerException {
195         String [][]a={{"This","is","my","string"},{"and","I want to", "compare"," them"}};
196         String [][]b={{"This","is","my","string"},{"and","I want to", "compare"," them"}};
197         String [][]c={{"Wrong","string"},{"right","string"}};
198         ScilabString aMatrix = new ScilabString(a);
199         ScilabString bMatrix = new ScilabString(b);
200         ScilabString cMatrix = new ScilabString(c);
201         assert aMatrix.equals(bMatrix) == true;
202         assert bMatrix.equals(aMatrix) == true;
203         assert cMatrix.equals(aMatrix) == false;
204         assert Arrays.deepEquals(aMatrix.getData(), bMatrix.getData()) == true;
205         assert aMatrix.toString().equals("[\"This\", \"is\", \"my\", \"string\" ; \"and\", \"I want to\", \"compare\", \" them\"]") == true;
206                 assert cMatrix.toString().equals("[\"Wrong\", \"string\" ; \"right\", \"string\"]") == true;
207
208     }
209
210         @Test
211     public void compareListTest() throws NullPointerException {
212         ScilabList data = new ScilabList();
213         data.add(new ScilabDouble(2));
214         data.add(new ScilabDouble(51));
215         data.add(new ScilabString("hello"));
216         ScilabList data2 = new ScilabList();
217         data2.add(new ScilabDouble(2));
218         data2.add(new ScilabDouble(51));
219         data2.add(new ScilabString("hello"));
220         ScilabList data3 = new ScilabList();
221         data3.add(new ScilabDouble(2));
222         data3.add(new ScilabDouble(42));
223         data3.add(new ScilabBoolean(true));
224         data3.add(new ScilabString("hello"));
225         assert data.equals(data2) == true;
226         assert data.equals(data3) == false;
227                 assert data.toString().equals("list([2.0],\n[51.0],\n[\"hello\"])") == true;
228                 assert data3.toString().equals("list([2.0],\n[42.0],\n[%t],\n[\"hello\"])") == true;
229
230     }
231 }