Skip to content

Commit 4f25904

Browse files
author
Samuel Huylebroeck
committed
Remove Rectangle#equals
Remove Rectangle#equals overload Switch test to use Rectangle#equalsWithEpsilon RND-366
1 parent 40001dd commit 4f25904

File tree

2 files changed

+32
-47
lines changed

2 files changed

+32
-47
lines changed

kernel/src/main/java/com/itextpdf/kernel/geom/Rectangle.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -466,25 +466,6 @@ public String toString() {
466466
getHeight();
467467
}
468468

469-
/**
470-
* Compare the rectangle to the passed object
471-
*
472-
* @param o passed object
473-
* @return True if o is a rectangle and matches in x,y,width and height, false otherwise
474-
*/
475-
@Override
476-
public boolean equals(Object o) {
477-
if (o == null) {
478-
return false;
479-
}
480-
//Cast to rectangle first
481-
if (!(o instanceof Rectangle)) {
482-
return false;
483-
}
484-
Rectangle rect = (Rectangle) o;
485-
return equalsWithEpsilon(rect);
486-
}
487-
488469
/**
489470
* Gets the copy of this rectangle.
490471
*

kernel/src/test/java/com/itextpdf/kernel/geom/RectangleTest.java

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -184,74 +184,74 @@ public void getIntersectionTest01() {
184184
//1.Middle top
185185
expected = new Rectangle(4, 8, 4, 2);
186186
actual = main.getIntersection(second);
187-
areEqual = expected.equals(actual);
187+
areEqual = expected.equalsWithEpsilon(actual);
188188
//2.Middle Right
189189
second.moveRight(4);
190190
expected = new Rectangle(8, 8, 2, 2);
191191
actual = main.getIntersection(second);
192-
areEqual = areEqual && (expected.equals(actual));
192+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
193193
//3.Right middle
194194
second.moveDown(4);
195195
expected = new Rectangle(8, 4, 2, 4);
196196
actual = main.getIntersection(second);
197-
areEqual = areEqual && (expected.equals(actual));
197+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
198198
//4.Bottom right
199199
second.moveDown(4);
200200
expected = new Rectangle(8, 2, 2, 2);
201201
actual = main.getIntersection(second);
202-
areEqual = areEqual && (expected.equals(actual));
202+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
203203
//5.Bottom middle
204204
second.moveLeft(4);
205205
expected = new Rectangle(4, 2, 4, 2);
206206
actual = main.getIntersection(second);
207-
areEqual = areEqual && (expected.equals(actual));
207+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
208208
//6.Bottom Left
209209
second.moveLeft(4);
210210
expected = new Rectangle(2, 2, 2, 2);
211211
actual = main.getIntersection(second);
212-
areEqual = areEqual && (expected.equals(actual));
212+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
213213
//7.Left Middle
214214
second.moveUp(4);
215215
expected = new Rectangle(2, 4, 2, 4);
216216
actual = main.getIntersection(second);
217-
areEqual = areEqual && (expected.equals(actual));
217+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
218218
//8.Left Top
219219
second.moveUp(4);
220220
expected = new Rectangle(2, 8, 2, 2);
221221
actual = main.getIntersection(second);
222-
areEqual = areEqual && (expected.equals(actual));
222+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
223223
//B. Main rectangle is greater in width but not height than second rectangle
224224
//1. Left
225225
second = new Rectangle(0, 0, 4, 12);
226226
expected = new Rectangle(2, 2, 2, 8);
227227
actual = main.getIntersection(second);
228-
areEqual = areEqual && (expected.equals(actual));
228+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
229229
//2. Middle
230230
second.moveRight(4);
231231
expected = new Rectangle(4, 2, 4, 8);
232232
actual = main.getIntersection(second);
233-
areEqual = areEqual && (expected.equals(actual));
233+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
234234
//3. Right
235235
second.moveRight(4);
236236
expected = new Rectangle(8, 2, 2, 8);
237237
actual = main.getIntersection(second);
238-
areEqual = areEqual && (expected.equals(actual));
238+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
239239
//C. Main rectangle is greater in height but not width than second rectangle
240240
//1. Top
241241
second = new Rectangle(0, 8, 12, 4);
242242
expected = new Rectangle(2, 8, 8, 2);
243243
actual = main.getIntersection(second);
244-
areEqual = areEqual && (expected.equals(actual));
244+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
245245
//2. Middle
246246
second.moveDown(4);
247247
expected = new Rectangle(2, 4, 8, 4);
248248
actual = main.getIntersection(second);
249-
areEqual = areEqual && (expected.equals(actual));
249+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
250250
//3. Bottom
251251
second.moveDown(4);
252252
expected = new Rectangle(2, 2, 8, 2);
253253
actual = main.getIntersection(second);
254-
areEqual = areEqual && (expected.equals(actual));
254+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
255255

256256
//Check if any have failed
257257
Assert.assertTrue(areEqual);
@@ -293,19 +293,19 @@ public void getIntersectionTest03() {
293293
second = new Rectangle(main);
294294
expected = new Rectangle(main);
295295
actual = main.getIntersection(second);
296-
areEqual = expected.equals(actual);
296+
areEqual = expected.equalsWithEpsilon(actual);
297297
//B main contains second
298298
main = new Rectangle(2, 2, 8, 8);
299299
second = new Rectangle(4, 4, 4, 4);
300300
expected = new Rectangle(second);
301301
actual = main.getIntersection(second);
302-
areEqual = areEqual && (expected.equals(actual));
302+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
303303
//C second contains main
304304
main = new Rectangle(2, 2, 8, 8);
305305
second = new Rectangle(0, 0, 12, 12);
306306
expected = new Rectangle(main);
307307
actual = main.getIntersection(second);
308-
areEqual = areEqual && (expected.equals(actual));
308+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
309309

310310
Assert.assertTrue(areEqual);
311311
}
@@ -320,43 +320,43 @@ public void getIntersectionTest04() {
320320
second = new Rectangle(4, 10, 4, 4);
321321
expected = new Rectangle(4, 10, 4, 0);
322322
actual = main.getIntersection(second);
323-
areEqual = expected.equals(actual);
323+
areEqual = expected.equalsWithEpsilon(actual);
324324
//Right
325325
second = new Rectangle(10, 4, 4, 4);
326326
expected = new Rectangle(10, 4, 0, 4);
327327
actual = main.getIntersection(second);
328-
areEqual = areEqual && (expected.equals(actual));
328+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
329329
//Bottom
330330
second = new Rectangle(4, -2, 4, 4);
331331
expected = new Rectangle(4, 2, 4, 0);
332332
actual = main.getIntersection(second);
333-
areEqual = areEqual && (expected.equals(actual));
333+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
334334
//Left
335335
second = new Rectangle(-2, 4, 4, 4);
336336
expected = new Rectangle(2, 4, 0, 4);
337337
actual = main.getIntersection(second);
338-
areEqual = areEqual && (expected.equals(actual));
338+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
339339
//Edge case: intersection on corners
340340
//Top-Left
341341
second = new Rectangle(-2, 10, 4, 4);
342342
expected = new Rectangle(2, 10, 0, 0);
343343
actual = main.getIntersection(second);
344-
areEqual = areEqual && (expected.equals(actual));
344+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
345345
//Top-Right
346346
second = new Rectangle(10, 10, 4, 4);
347347
expected = new Rectangle(10, 10, 0, 0);
348348
actual = main.getIntersection(second);
349-
areEqual = areEqual && (expected.equals(actual));
349+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
350350
//Bottom-Right
351351
second = new Rectangle(10, -2, 4, 4);
352352
expected = new Rectangle(10, 2, 0, 0);
353353
actual = main.getIntersection(second);
354-
areEqual = areEqual && (expected.equals(actual));
354+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
355355
//Bottom-Left
356356
second = new Rectangle(-2, -2, 4, 4);
357357
expected = new Rectangle(2, 2, 0, 0);
358358
actual = main.getIntersection(second);
359-
areEqual = areEqual && (expected.equals(actual));
359+
areEqual = areEqual && (expected.equalsWithEpsilon(actual));
360360
Assert.assertTrue(areEqual);
361361
}
362362

@@ -368,8 +368,8 @@ public void createBoundingRectangleFromQuadPointsTest01() {
368368

369369
expected = new Rectangle(-2, 0, 4, 2);
370370
actual = Rectangle.createBoundingRectangleFromQuadPoint(quadpoints);
371-
372-
Assert.assertEquals(expected, actual);
371+
Boolean areEqual = expected.equalsWithEpsilon(actual);
372+
Assert.assertTrue(areEqual);
373373

374374
}
375375

@@ -391,14 +391,18 @@ public void createBoundingRectangleFromQuadPointsTest02() {
391391
@Test
392392
public void createBoundingRectanglesFromQuadPointsTest01() {
393393
List<Rectangle> actual, expected;
394+
Boolean areEqual = true;
394395
float[] points = {0, 0, 2, 1, 1, 2, -2, 1,
395396
0, -1, 2, 0, 1, 1, -2, 0};
396397
PdfArray quadpoints = new PdfArray(points);
397398
expected = new ArrayList<Rectangle>();
398399
expected.add(new Rectangle(-2, 0, 4, 2));
399400
expected.add(new Rectangle(-2, -1, 4, 2));
400401
actual = Rectangle.createBoundingRectanglesFromQuadPoint(quadpoints);
401-
Assert.assertArrayEquals(expected.toArray(), actual.toArray());
402+
for(int i=0; i<expected.size();i++){
403+
areEqual = areEqual && expected.get(i).equalsWithEpsilon(actual.get(i));
404+
}
405+
Assert.assertTrue(areEqual);
402406
}
403407

404408
@Test

0 commit comments

Comments
 (0)