### Question:
Pose2D extends Message { @Override public Pose2D clone() { return new Pose2D(this.x, this.y, this.theta); } Pose2D();  Pose2D(double x, double y, double theta); double getX(); double getY(); double getTheta(); @Override Pose2D clone(); static Pose2D fromJsonString(String jsonString); static Pose2D fromMessage(Message m); static Pose2D fromJsonObject(JsonObject jsonObject); static final String FIELD_X; static final String FIELD_Y; static final String FIELD_THETA; static final String TYPE; }### Answer:
@Test public void testClone() { Pose2D clone = p1.clone(); assertEquals(p1.toString(), clone.toString()); assertEquals(p1.toJsonObject(), clone.toJsonObject()); assertEquals(p1.getMessageType(), clone.getMessageType()); assertEquals(p1.getX(), clone.getX(), 0); assertEquals(p1.getY(), clone.getY(), 0); assertEquals(p1.getTheta(), clone.getTheta(), 0); assertNotSame(p1, clone); assertNotSame(p1.toString(), clone.toString()); assertNotSame(p1.toJsonObject(), clone.toJsonObject()); }