@Test
public void testFromJsonObject() {

	JsonArrayBuilder array = Json.createArrayBuilder();
	for (Double d : p2.getCovariance()) {
		array.add(d);
	}
	JsonObject jsonObject = Json
			.createObjectBuilder()
			.add(TwistWithCovariance.FIELD_TWIST,
					p2.getTwist().toJsonObject())
			.add(TwistWithCovariance.FIELD_COVARIANCE, array.build())
			.build();
	TwistWithCovariance p = TwistWithCovariance.fromJsonObject(jsonObject);
	assertEquals(p2.toString(), p.toString());
	assertEquals(p2.toJsonObject(), p.toJsonObject());
	assertEquals(p2.getMessageType(), p.getMessageType());
	assertEquals(p2.getTwist(), p.getTwist());
	assertTrue(Arrays.equals(p2.getCovariance(), p.getCovariance()));
	assertTrue(Arrays.deepEquals(p2.getCovarianceMatrix(),
			p.getCovarianceMatrix()));
	assertNotSame(p2, p);
	assertNotSame(p2.toString(), p.toString());
	assertNotSame(p2.toJsonObject(), p.toJsonObject());
	assertNotSame(p2.getTwist(), p.getTwist());
	assertNotSame(p2.getCovariance(), p.getCovariance());
	assertNotSame(p2.getCovarianceMatrix(), p.getCovarianceMatrix());
}