blob: 331b25fb55b907481aeaad93c617bd36c047484a [file] [log] [blame]
package org.codehaus.jackson.xml;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jackson.xml.annotate.JacksonXmlProperty;
public class TestDeserialization extends main.BaseTest
{
static class AttributeBean
{
@JacksonXmlProperty(isAttribute=true, localName="attr")
public String text = "?";
}
static class ListBean
{
public final List<Integer> values = new ArrayList<Integer>();
}
/*
/**********************************************************
/* Unit tests
/**********************************************************
*/
/**
* Unit test to ensure that we can succesfully also roundtrip
* example Bean used in Jackson tutorial
*/
public void testRoundTripWithJacksonExample() throws Exception
{
FiveMinuteUser user = new FiveMinuteUser("Joe", "Sixpack",
true, FiveMinuteUser.Gender.MALE, new byte[] { 1, 2, 3 , 4, 5 });
XmlMapper mapper = new XmlMapper();
String xml = mapper.writeValueAsString(user);
FiveMinuteUser result = mapper.readValue(xml, FiveMinuteUser.class);
assertEquals(user, result);
}
public void testFromAttribute() throws Exception
{
XmlMapper mapper = new XmlMapper();
AttributeBean bean = mapper.readValue("<AttributeBean attr=\"abc\"></AttributeBean>", AttributeBean.class);
assertNotNull(bean);
assertEquals("abc", bean.text);
}
public void testListBean() throws Exception
{
XmlMapper mapper = new XmlMapper();
ListBean bean = mapper.readValue(
"<ListBean><values><values>1</values><values>2</values><values>3</values></values></ListBean>",
ListBean.class);
assertNotNull(bean);
assertNotNull(bean.values);
assertEquals(3, bean.values.size());
assertEquals(Integer.valueOf(1), bean.values.get(0));
assertEquals(Integer.valueOf(2), bean.values.get(1));
assertEquals(Integer.valueOf(3), bean.values.get(2));
}
}