@Test
public void roundTripJsonWithTwoHierarchicalLevels() throws IOException {
JsonSerializationFramework jsonFramework = new JsonSerializationFramework(typeGSerializerFactory);
String json = jsonFramework.serializeAsJson("TypeG", new TypeG(new TypeD(1, new TypeA(2, 3))));
try {
jsonFramework.deserializeJson("TypeG", json);
} catch(Exception e) {
Assert.fail("Exception was thrown");