blob: 50c5249389bde729751e9ff9091799fef55436ff [file] [log] [blame]
package com.fasterxml.jackson.databind.type;
import java.io.IOException;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.BaseMapTest;
import com.fasterxml.jackson.databind.type.TypeFactory;
// https://github.com/FasterXML/jackson-databind/issues/1647
public class TestTypeFactoryWithRecursiveTypes extends BaseMapTest {
static interface IFace<T> {
}
static class Base implements IFace<Sub> {
@JsonProperty int base = 1;
}
static class Sub extends Base {
@JsonProperty int sub = 2;
}
public void testBasePropertiesIncludedWhenSerializingSubWhenSubTypeLoadedAfterBaseType() throws IOException {
TypeFactory tf = TypeFactory.defaultInstance();
tf.constructType(Base.class);
tf.constructType(Sub.class);
Sub sub = new Sub();
String serialized = objectMapper().writeValueAsString(sub);
assertEquals("{\"base\":1,\"sub\":2}", serialized);
}
}