Skip to content

OGCGeometry.equals #110

@randallwhitman

Description

@randallwhitman

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.)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions