@BeforeMethod public void setup() { logger.info("******** setup()"); final JavaBeanEnhancer enhancer = new JavaBeanEnhancer(); bean = new CompositeMockItem(); enhancedBean = (CompositeMockItem)enhancer.createEnhancedBean(bean); logger.info("******** setup() completed"); }
@Test public void testEnhancementWorks() { logger.info("******** testEnhancementWorks()"); AssertJUnit.assertTrue(enhancedBean instanceof JavaBean); AssertJUnit.assertTrue(enhancedBean.getItem1() instanceof JavaBean); AssertJUnit.assertTrue(enhancedBean.getItem2() instanceof JavaBean); AssertJUnit.assertTrue(enhancedBean instanceof Serializable); // TODO: you should also try to serialize it to check other problems // TODO: this test should fail if JavaBeanAspect doesn't use IdentityHashMap // I tried with forcing MockItem1.equals() to return true, but it doesn't fail... }
@Test public void testCorrectEventSource() throws Exception { logger.info("******** testCorrectEventSource()"); final PropertyChangeListenerMock listener = new PropertyChangeListenerMock(); ((JavaBean)enhancedBean).addPropertyChangeListener(listener); enhancedBean.setName("new name"); AssertJUnit.assertFalse(listener.events.isEmpty()); AssertJUnit.assertTrue(enhancedBean == listener.events.get(0).getSource()); }