IterativeVerifierAPIUtilityVerifierBooleanVerifierEqualityVerifierHybridVerifier
@Test public void testGetOverrideHierarchyIncludingInterfaces(){
final Method method=MethodUtils.getAccessibleMethod(StringParameterizedChild.class,"consume",String.class);
final Iterator expected=Arrays.asList(new MethodDescriptor(StringParameterizedChild.class,"consume",String.class),new MethodDescriptor(GenericParent.class,"consume",GenericParent.class.getTypeParameters()[0]),new MethodDescriptor(GenericConsumer.class,"consume",GenericConsumer.class.getTypeParameters()[0])).iterator();
for ( final Method m : MethodUtils.getOverrideHierarchy(method,Interfaces.INCLUDE)) {
assertTrue(expected.hasNext());
final MethodDescriptor md=expected.next();
assertEquals(md.declaringClass,m.getDeclaringClass());
assertEquals(md.name,m.getName());
assertEquals(md.parameterTypes.length,m.getParameterTypes().length);
for (int i=0; i < md.parameterTypes.length; i++) {
assertTrue(TypeUtils.equals(md.parameterTypes[i],m.getGenericParameterTypes()[i]));
}
}
assertFalse(expected.hasNext());
}