### Question:
So2Pose { @Override public boolean equals(Object o) { if (!(o instanceof So2Pose)) { return false; } So2Pose otherPose = (So2Pose) o; if (Math.abs(otherPose.getX() - getX()) > .0001) { return false; } if (Math.abs(otherPose.getY() - getY()) > .0001) { return false; } if (Math.abs(otherPose.getOrientation() - getOrientation()) > .0001) { return false; } return true; } So2Pose(Point newLocation, double newOrientation);  So2Pose(double x, double y, double newOrientation); So2Pose mult(So2Pose postPose); So2Pose inverse(); void updatePoint(Point newPoint, double newOrientation); Point getSe2Point(); double getX(); double getY(); double getOrientation(); static So2Pose identity(); @Override int hashCode(); @Override boolean equals(Object o); String toString();  }### Answer:
@Test public void testEqual() { So2Pose a = new So2Pose(1.0, 2.0, 3.0); So2Pose b = new So2Pose(1.0, 2.0, 3.0); if (!a.equals(b)) { fail("So2Equal was not written correctly "); } if (!b.equals(a)) { fail("So2Equal was not written correctly "); } So2Pose c = new So2Pose(1.1, 2.0, 3.0); if (c.equals(a)) { fail("So2Equal was true when it should not be"); } }