@SuppressWarnings("deprecation")
public void testSimple()
{
// null -> no mix-in annotations
AnnotatedClass ac = AnnotatedClass.construct(SubClass.class, new JacksonAnnotationIntrospector(), null);
ac.resolveMemberMethods(BasicClassIntrospector.DEFAULT_GETTER_FILTER);
ac.resolveCreators(true);
ac.resolveFields();
assertNotNull(ac.getDefaultConstructor());
assertEquals(1, ac.getConstructors().size());
assertEquals(0, ac.getStaticMethods().size());
assertEquals(2, ac.getMemberMethodCount());
for (AnnotatedMethod am : ac.memberMethods()) {
String name = am.getName();
if ("y".equals(name)) {
assertEquals(0, am.getAnnotationCount());
} else if ("x".equals(name)) {
assertEquals(1, am.getAnnotationCount());
assertNotNull(am.getAnnotation(JsonProperty.class));
} else {
fail("Unexpected method: "+name);
}
}
assertEquals(1, ac.getFieldCount());
assertEquals("foo", ac.fields().iterator().next().getName());
}