blob: 9e55064f36ff2976826eef853f3465b5020704f2 [file] [log] [blame]
package org.codehaus.jackson.jaxrs;
import java.io.*;
import java.util.*;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.annotate.JsonTypeInfo;
/**
* Unit test to check [JACKSON-540]
*/
public class TestCanSerialize extends main.BaseTest
{
static class Simple {
protected List<String> list;
public List<String> getList( ) { return list; }
public void setList(List<String> l) { list = l; }
}
public void testCanSerialize() throws IOException
{
ObjectMapper mapper = new ObjectMapper();
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.WRAPPER_ARRAY);
// construct test object
List<String> l = new ArrayList<String>();
l.add("foo");
l.add("bar");
Simple s = new Simple();
s.setList(l);
// this is fine:
boolean can = mapper.canSerialize(Simple.class);
assertTrue(can);
// but with problem of [JACKSON-540], we get nasty surprise here...
String json = mapper.writeValueAsString(s);
Simple result = mapper.readValue(json, Simple.class);
assertNotNull(result.list);
assertEquals(2, result.list.size());
}
}