package com.fasterxml.jackson.databind.convert; import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; /** * Unit tests for verifying handling of update value on polymorphic * objects. */ public class TestPolymorphicUpdateValue extends BaseMapTest { @JsonTypeInfo(include=JsonTypeInfo.As.WRAPPER_ARRAY //PROPERTY ,use=JsonTypeInfo.Id.NAME, property="type") @JsonSubTypes(value={ @JsonSubTypes.Type(value=Child.class)}) abstract static class Parent { public int x; public int y; } @JsonTypeName("child") public static class Child extends Parent { public int w; public int h; } /* /******************************************************** /* Unit tests /******************************************************** */ private final ObjectMapper MAPPER = new ObjectMapper(); public void testPolymorphicTest() throws Exception { Child c = new Child(); c.w = 10; c.h = 11; MAPPER.readerForUpdating(c).readValue("{\"x\":3,\"y\":4,\"w\":111}"); assertEquals(3, c.x); assertEquals(4, c.y); assertEquals(111, c.w); } }