public void test(ModuleProcessingExtension moduleProcessingExtension) {
List<ProcessModuleHolder> modules = new ArrayList<ProcessModuleHolder>(moduleProcessingExtension.getModules());
for (Iterator<ProcessModuleHolder> i = modules.iterator(); i.hasNext();) {
ProcessModuleHolder module = i.next();
if (module.getClasses().contains(Tiger.class)) {
// Bean library
assertEquals(module.getAlternatives().size(), 1);
assertEquals(module.getAlternatives().iterator().next(), Tiger.class);
assertEquals(module.getDecorators().size(), 1);
assertEquals(module.getDecorators().get(0), Decorator1.class);
assertEquals(module.getInterceptors().size(), 1);
assertEquals(module.getInterceptors().get(0), Interceptor1.class);
assertTrue(module.getClasses().contains(Animal.class));
assertTrue(module.getClasses().contains(Decorator1.class));
assertTrue(module.getClasses().contains(Interceptor1.class));
assertTrue(module.getClasses().contains(Tiger.class));
assertTrue(module.getClasses().contains(ModuleProcessingExtension.class));
assertFalse(module.getClasses().contains(Elephant.class));
assertFalse(module.getClasses().contains(ElephantExtension.class));
assertFalse(module.getClasses().contains(Lion.class));
i.remove();
} else if (module.getClasses().contains(Lion.class)) {
// WEB-INF/classes
assertTrue(module.getAlternatives().isEmpty());
assertTrue(module.getInterceptors().isEmpty());
assertTrue(module.getDecorators().isEmpty());
assertFalse(module.getClasses().contains(Tiger.class));
assertFalse(module.getClasses().contains(ModuleProcessingExtension.class));
assertFalse(module.getClasses().contains(ElephantExtension.class));
i.remove();
}
}
assertEquals(modules.size(), 0);
}