### Question:
PoseWithCovariance extends Message { @Override public PoseWithCovariance clone() { return new PoseWithCovariance(this.pose, this.covariance); } PoseWithCovariance();  PoseWithCovariance(Pose pose);  PoseWithCovariance(Pose pose, double[] covariance); Pose getPose(); double[] getCovariance(); double[][] getCovarianceMatrix(); @Override PoseWithCovariance clone(); static PoseWithCovariance fromJsonString(String jsonString); static PoseWithCovariance fromMessage(Message m); static PoseWithCovariance fromJsonObject(JsonObject jsonObject); static final String FIELD_POSE; static final String FIELD_COVARIANCE; static final String TYPE; static final int COVARIANCE_ROWS; static final int COVARIANCE_COLUMNS; static final int COVARIANCE_SIZE; }### Answer:
@Test public void testClone() { PoseWithCovariance clone = p2.clone(); assertEquals(p2.toString(), clone.toString()); assertEquals(p2.toJsonObject(), clone.toJsonObject()); assertEquals(p2.getMessageType(), clone.getMessageType()); assertEquals(p2.getPose(), clone.getPose()); assertTrue(Arrays.equals(p2.getCovariance(), clone.getCovariance())); assertTrue(Arrays.deepEquals(p2.getCovarianceMatrix(), clone.getCovarianceMatrix())); assertNotSame(p2, clone); assertNotSame(p2.toString(), clone.toString()); assertNotSame(p2.toJsonObject(), clone.toJsonObject()); assertNotSame(p2.getCovariance(), clone.getCovariance()); assertNotSame(p2.getCovarianceMatrix(), clone.getCovarianceMatrix()); }