@Test
public void testSupertypes() throws Exception {
ClassModel gen = new GeneratorHelper().generateClass(InterfaceWithSupertypes.class, VertxGenClass1.class, VertxGenInterface.class);
assertEquals(InterfaceWithSupertypes.class.getName(), gen.getIfaceFQCN());
assertEquals(InterfaceWithSupertypes.class.getSimpleName(), gen.getIfaceSimpleName());
assertEquals(2, gen.getReferencedTypes().size());
assertTrue(gen.getReferencedTypes().contains(VertxGenClass1Info));
assertTrue(gen.getReferencedTypes().contains(VertxGenInterfaceInfo));
assertEquals(2, gen.getSuperTypes().size());
assertTrue(gen.getSuperTypes().contains(VertxGenClass1Info));
assertTrue(gen.getSuperTypes().contains(VertxGenInterfaceInfo));
assertEquals(VertxGenClass1Info, gen.getConcreteSuperType());
assertEquals(1, gen.getAbstractSuperTypes().size());
assertTrue(gen.getAbstractSuperTypes().contains(VertxGenInterfaceInfo));
List<MethodInfo> methods = gen.getMethods();
assertEquals(2, methods.size());
Collections.sort(methods);
checkMethod(methods.get(0), "bar", 1, "void", MethodKind.OTHER);
checkMethod(methods.get(1), "quux", 1, "void", MethodKind.OTHER);
}