byte[] bytes = loadBytesForClass("data.SomeConstructors");
TypeDescriptor typeDescriptor = new TypeDescriptorExtractor(registry).extract(bytes, false);
MethodMember[] ctors = typeDescriptor.getConstructors();
assertEquals(3, ctors.length);
MethodMember publicCtor = ctors[0];
assertEquals(Modifier.PUBLIC, publicCtor.getModifiers());
assertEquals("<init>", publicCtor.getName());
assertEquals("()V", publicCtor.getDescriptor());
assertNull(publicCtor.getGenericSignature());
assertEquals("0x1 <init>()V", publicCtor.toString());
MethodMember privateCtor = ctors[1];
assertEquals(Modifier.PRIVATE, privateCtor.getModifiers());
assertEquals("<init>", privateCtor.getName());
assertEquals("(Ljava/lang/String;I)V", privateCtor.getDescriptor());
assertNull(privateCtor.getGenericSignature());
assertEquals("0x2 <init>(Ljava/lang/String;I)V", privateCtor.toString());
MethodMember protCtor = ctors[2];
assertEquals(Modifier.PROTECTED, protCtor.getModifiers());
assertEquals("<init>", protCtor.getName());
assertEquals("(J)V", protCtor.getDescriptor());
assertNull(protCtor.getGenericSignature());
assertEquals("0x4 <init>(J)V", protCtor.toString());
}