@Test public void testInterfacesWithComponentPointcut() { pico.addComponent(Dao.class, DaoImpl.class); pico.registerMixin(cuts.component(Dao.class), IdentifiableMixin.class); pico.registerInterfaces(cuts.component(Dao.class), new Class[] {AnotherInterface.class}); Dao dao = pico.getComponent(Dao.class); assertTrue(dao instanceof Identifiable); assertTrue(dao instanceof AnotherInterface); }
@Test public void testInterfacesWithClassPointcutNoAdviceStillSetsUp() { pico.addComponent(Dao.class, DaoImpl.class); pico.registerInterfaces(cuts.instancesOf(Dao.class), new Class[] {AnotherInterface.class}); Dao dao = pico.getComponent(Dao.class); // dynaop doesn't add any interfaces if there's no advice applied to the // object: assertFalse(dao instanceof Identifiable); assertTrue(dao instanceof AnotherInterface); }