{
Logger logger = mockLogger();
replay();
final ClassTransformation ct = createClassTransformation(AnnotatedPage.class, logger);
// Duplicates, somewhat less efficiently, the logic in find_methods_with_annotation().
MethodFilter filter = new MethodFilter()
{
public boolean accept(TransformMethodSignature signature)
{
return ct.getMethodAnnotation(signature, SetupRender.class) != null;
}
};
List<TransformMethodSignature> l = ct.findMethods(filter);
// Check order
assertEquals(l.size(), 2);
assertEquals(l.get(0).toString(), "void beforeRender()");
assertEquals(l.get(1).toString(), "boolean earlyRender(org.apache.tapestry.MarkupWriter)");
// Check up on cacheing
assertEquals(ct.findMethodsWithAnnotation(SetupRender.class), l);
// Check up on no match.
assertTrue(ct.findFieldsWithAnnotation(Deprecated.class).isEmpty());
verify();
}