blob: 252a04339af08a0218d96dbbb943cc0fae4d1aee [file] [log] [blame]
package org.codehaus.jackson.failing;
import org.codehaus.jackson.annotate.JsonCreator;
import org.codehaus.jackson.map.BaseMapTest;
import org.codehaus.jackson.map.InjectableValues;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.annotate.JacksonInject;
public class TestDelegatingCreators extends BaseMapTest
{
// for [JACKSON-711]; should allow delegate-based one(s) too
static class CtorBean711
{
protected String name;
protected int age;
@JsonCreator
public CtorBean711(@JacksonInject String n, int a)
{
name = n;
age = a;
}
}
/*
/**********************************************************
/* Unit tests
/**********************************************************
*/
// As per [JACKSON-711]: should also work with delegate model (single non-annotated arg)
public void testWithCtorAndDelegate() throws Exception
{
ObjectMapper mapper = new ObjectMapper();
mapper.setInjectableValues(new InjectableValues.Std()
.addValue(String.class, "Pooka")
);
CtorBean711 bean = null;
try {
bean = mapper.readValue("38", CtorBean711.class);
} catch (JsonMappingException e) {
fail("Did not expect problems, got: "+e.getMessage());
}
assertEquals(38, bean.age);
assertEquals("Pooka", bean.name);
}
}