@Test
public void testChildAccessors() {
WBeanContainer container = new WBeanContainer();
Assert.assertEquals("Should have no child count", 0, container.getChildCount());
WComponent child = new DefaultWComponent();
container.add(child);
Assert.assertEquals("Incorrect child count", 1, container.getChildCount());
Assert.assertEquals("Incorrect child index", 0, container.getIndexOfChild(child));
Assert.assertEquals("Incorrect child returned", child, container.getChildAt(0));
container.remove(child);
Assert.assertEquals("Should have no child count after removing", 0, container.getChildCount());
container.add(child);
Assert.assertEquals("Incorrect child count", 1, container.getChildren().size());
Assert.assertEquals("Incorrect child index", 0, container.getChildren().indexOf(child));
Assert.assertEquals("Incorrect child returned", child, container.getChildren().get(0));
try {
container.getChildren().add(new DefaultWComponent());
fail("Expected getChildren() to return unmodifiable List.");
} catch (UnsupportedOperationException e) {
Assert.assertEquals("Incorrect child count", 1, container.getChildren().size());
}
}