### Question:
PerPageImpl extends PerBaseImpl implements PerPage { @Override public Iterable<PerPage> listChildren() { return getChildren(allFilter, false); } PerPageImpl(Resource resource); @Override PerPageManager getPageManager(); @Override String getTitle(); @Override Iterable<PerPage> listChildren(); @Override Iterable<PerPage> listChildren(Filter<PerPage> filter); @Override Iterable<PerPage> listChildren(Filter<PerPage> filter, boolean deep); @Override boolean hasChild(String name); @Override PerPage getParent(); @Override PerPage getTemplate(); @Override AdapterType adaptTo(Class<AdapterType> type); @Override PerPage getNext(); @Override PerPage getPrevious(); @Override void markAsModified();  }### Answer:
@Test public void listChildren() throws Exception { PerPage root = createPage(null, "root"); PerPage child = createPage(root, "child"); PerPage child1 = createPage(child, "child-1"); PerPage child2 = createPage(child, "child-2"); assertEquals("Only expected one child of root", 1, countIterable(root.listChildren())); assertEquals("Only expected two grand children of child", 2, countIterable(child.listChildren())); assertEquals("Did not expected any children of grand child 1", 0, countIterable(child1.listChildren())); assertEquals("Did not expected any children of grand child 2", 0, countIterable(child2.listChildren())); }