-
Notifications
You must be signed in to change notification settings - Fork 265
Closed
Description
Let me know if there is something wrong with the following test, but I think it indicates an issue with OGCGeometry.equals(Object).
public void testEquals() {
Point pt = new Point(15.0, 5.0);
// For comparison/reference
assertEquals(new MapGeometry(pt, null), new MapGeometry(pt, null));
assertEquals(new MapGeometry(new Point(1.0, 2.0), null), new MapGeometry(new Point(1.0, 2.0), null));
// Test OGCGeometry#equals
assertTrue(OGCGeometry.createFromEsriGeometry(pt, null).equals(OGCGeometry.createFromEsriGeometry(pt, null))); // ok
assertEquals(OGCGeometry.createFromEsriGeometry(pt, null), OGCGeometry.createFromEsriGeometry(pt, null)); // fail
assertEquals(OGCGeometry.createFromEsriGeometry(new Point(1.0, 2.0), null), OGCGeometry.createFromEsriGeometry(new Point(1.0, 2.0), null)); // fail
}Maybe need OGCGeometry.equals(Object) similar to that of MapGeometry, such as:
@Override
public boolean equals(Object other) {
if (other == this)
return true;
if (other == null || other.getClass() != getClass())
return false;
return equals((OGCGeometry)other);
}(Ran across this issue while writing unit tests for JSON SerDe classes in Spatial-Framework-for-Hadoop.)