### Question:
ForumStructureTreeModel extends ZkTreeModel<ForumStructureItem> { public List<PoulpeSection> getSections() { List<PoulpeSection> sections = new ArrayList<PoulpeSection>(); List<TreeNode<ForumStructureItem>> sectionNodes = getRoot().getChildren(); if (sectionNodes == null) { return sections; } for (TreeNode<ForumStructureItem> sectionNode : sectionNodes) { sections.add(sectionNode.getData().getSectionItem()); } return sections; } ForumStructureTreeModel(@Nonnull ZkTreeNode<ForumStructureItem> root); ForumStructureTreeModel putBranch(ForumStructureItem branchToPut, ForumStructureItem destinationSection); ForumStructureTreeModel moveBranchIfSectionChanged(PoulpeBranch branch); void addIfAbsent(PoulpeSection section); PoulpeSection getSelectedSection(); ZkTreeNode<ForumStructureItem> removeBranch(@Nullable PoulpeBranch branch); ZkTreeNode<ForumStructureItem> removeSection(@Nullable PoulpeSection section); List<PoulpeSection> getSections(); void onDropNode(TreeNode<ForumStructureItem> draggedNode,
                             TreeNode<ForumStructureItem> targetNode); boolean noEffectAfterDropNode(TreeNode<ForumStructureItem> draggedNode, 
            TreeNode<ForumStructureItem> targetNode); void expandTree(); void collapseTree();  }### Answer:
@Test public void getSectionsShouldReturnAllOfThem() throws Exception { assertEquals(sut.getSections().size(), sut.getRoot().getChildren().size()); }
@Test public void getSectionsWithNoSectionsShouldReturnAllEmptyList() throws Exception { sut = new ForumStructureTreeModel(createBranchNode()); assertTrue(sut.getSections().isEmpty()); }