@Test
public void descriptorsWithCatchers2() {
// more complicated hierarchy
TypeRegistry typeRegistry = TypeRegistry.getTypeRegistryFor(binLoader);
TypeDescriptor topDescriptor = typeRegistry.getDescriptorFor("catchers/Top");
assertNotNull(topDescriptor);
// Checking no toString() catcher because Top defines a toString()
assertEquals(5, topDescriptor.getMethods().length);
// if 'Top' is not considered reloadable we will get an entry for 'foo' that is inherited from it
TypeDescriptor middleDescriptor = typeRegistry.getDescriptorFor("catchers/Middle");
assertNotNull(middleDescriptor);
assertEquals(5, middleDescriptor.getMethods().length);
TypeDescriptor bottomDescriptor = typeRegistry.getDescriptorFor("catchers/Bottom");
assertNotNull(bottomDescriptor);
System.out.println(bottomDescriptor.toString());
assertEquals(5, bottomDescriptor.getMethods().length);
}