@Test void testDeserializeInterfaces() { JsonParsers.forEachParser(jsonParser -> { Hero superman = creator.createSuperman(); String json = new JsonSerializer().include("powers").setClassMetadataName("class").serialize(superman); Hero jsonSuperMan = jsonParser.setClassMetadataName("class").parse(json, Hero.class); assertNotNull(jsonSuperMan); assertEquals(4, jsonSuperMan.getPowers().size()); assertHeroHasSuperPowers(jsonSuperMan); }); }
@Test void testAnnNameWithClass() { JsonParsers.forEachParser(jsonParser -> { Location location = new Location(); location.setLatitude(65); location.setLongitude(12); String json = new JsonSerializer().setClassMetadataName("class").serialize(location); assertEquals("{\"class\":\"" + Location.class.getName() + "\",\"lat\":65,\"lng\":12}", json); Location jsonLocation = jsonParser.setClassMetadataName("class").parse(json, Location.class); assertEquals(location.getLatitude(), jsonLocation.getLatitude()); assertEquals(location.getLongitude(), jsonLocation.getLongitude()); }); }
@Test void testAnnNameWithClass() { JsonParsers.forEachParser(jsonParser -> { LocationAlt location = new LocationAlt(); location.setLatitude(65); location.setLongitude(12); String json = new JsonSerializer().setClassMetadataName("class").serialize(location); assertEquals("{\"lat\":65,\"lng\":12}", json); LocationAlt jsonLocation = jsonParser.setClassMetadataName("class").parse(json, LocationAlt.class); assertEquals(location.getLatitude(), jsonLocation.getLatitude()); assertEquals(location.getLongitude(), jsonLocation.getLongitude()); }); }