package com.fasterxml.jackson.dataformat.xml;
import com.fasterxml.jackson.databind.ObjectReader;
import com.fasterxml.jackson.databind.ObjectWriter;
public class RoundtripContentTest extends XmlTestBase
{
private final XmlMapper MAPPER = new XmlMapper();
public void testRoundtrip() throws Exception
{
MediaItem.Content content = new MediaItem.Content();
content.setTitle("content");
content.addPerson("William");
content.addPerson("Robert");
MediaItem input = new MediaItem(content);
input.addPhoto(new MediaItem.Photo("http://a", "title1", 200, 100, MediaItem.Size.LARGE));
input.addPhoto(new MediaItem.Photo("http://b", "title2", 640, 480, MediaItem.Size.SMALL));
ObjectWriter w = MAPPER.writerFor(MediaItem.class);
// two variants; first without indentation
_verifyRoundtrip(w.writeValueAsString(input), input);
// and then with indentation
_verifyRoundtrip(w.withDefaultPrettyPrinter()
.writeValueAsString(input), input);
}
private void _verifyRoundtrip(String xml, MediaItem exp) throws Exception
{
ObjectReader r = MAPPER.readerFor(MediaItem.class);
MediaItem result = r.readValue(xml);
assertNotNull(result);
assertEquals(exp.getContent().getTitle(), result.getContent().getTitle());
}
}