ContainedListTest.java 文件源码

java
阅读 17 收藏 0 点赞 0 评论 0

项目:modelgen 作者:
@Test
public void testSet() {
    Parent parent = new Parent();
    Child child1 = new Child(), child2 = new Child(), child3 = new Child();
    parent.children().add(child1);
    parent.children().add(child2);

    parent.children().getChangeSupport()
            .addPropertyChangeListener(new PropertyChangeListener() {

                @Override
                public void propertyChange(PropertyChangeEvent evt) {
                    assertTrue(evt instanceof IndexedPropertyChangeEvent);
                    IndexedPropertyChangeEvent iEvt = (IndexedPropertyChangeEvent) evt;
                    assertEquals(1, iEvt.getIndex());
                    assertEquals(child3, iEvt.getNewValue());
                    assertEquals(child2, iEvt.getOldValue());
                    throw new RuntimeException("All is well!");
                }
            });
    try {
        parent.children().set(1, child3);
        fail("Property change listener not notified");
    } catch (RuntimeException e) {
        assertEquals("All is well!", e.getMessage());
        assertEquals(2, parent.children().size());
        assertEquals(child1, parent.children().get(0));
        assertEquals(child3, parent.children().get(1));
        assertSame(parent, child3.getParent());
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号