public void testDifferentAnnotations() throws Exception { Persister persister = new Persister(); Example example = new Example("a", "b"); StringWriter writer = new StringWriter(); persister.write(example, writer); String text = writer.toString(); Example deserialized = persister.read(Example.class, text); assertEquals(deserialized.getKey(), "a"); assertEquals(deserialized.getValue(), "b"); validate(persister, deserialized); }
public void testInvalidExample() throws Exception { Persister persister = new Persister(); InvalidExample example = new InvalidExample("a", "b"); StringWriter writer = new StringWriter(); boolean exception = false; try { persister.write(example, writer); } catch (ConstructorException e) { e.printStackTrace(); exception = true; } assertTrue("Non matching annotations should throw a constructor exception", exception); }
public void testDifferentListAnnotations() throws Exception { Persister persister = new Persister(); List<String> list = new ArrayList<String>(); ExampleList example = new ExampleList(list, "a"); list.add("1"); list.add("2"); list.add("3"); list.add("4"); StringWriter writer = new StringWriter(); persister.write(example, writer); String text = writer.toString(); ExampleList deserialized = persister.read(ExampleList.class, text); assertEquals(deserialized.getList().size(), 4); assertTrue(deserialized.getList().contains("1")); assertTrue(deserialized.getList().contains("2")); assertTrue(deserialized.getList().contains("3")); assertTrue(deserialized.getList().contains("4")); assertEquals(deserialized.getName(), "a"); validate(persister, deserialized); }