### Question:
ZkTreeModel extends DefaultTreeModel<E> { public ZkTreeNode<E> addExpandableNode(E data, int... parentNodePath) { ZkTreeNode<E> node = new ZkTreeNode<E>(data, new ArrayList<TreeNode<E>>()); getChild(parentNodePath).add(node); return node; } ZkTreeModel(@Nonnull TreeNode<E> root); TreeNode<E> find(@Nonnull E data); @Override TreeNode<E> getChild(int... path); E getChildData(int... path); E getSelectedData(@Nonnegative int depth); TreeNode<E> removeSelected(); TreeNode<E> removeChild(int... path); ZkTreeNode<E> addExpandableNode(E data, int... parentNodePath); void dropNodeBefore(TreeNode<E> node, TreeNode<E> target); void dropNodeIn(TreeNode<E> node, TreeNode<E> target); void setSelectedNode(TreeNode<E> node);  }### Answer:
@Test public void testAddExpandableNode() throws Exception { TreeNode<String> resultNode = sut.addExpandableNode("1,10", 1); assertTrue(sut.getChild(1).getChildren().contains(resultNode)); assertFalse(resultNode.isLeaf()); }
@Test public void testAddExpandableNode_toRoot() throws Exception { TreeNode<String> resultNode = sut.addExpandableNode("0,10"); assertTrue(sut.getRoot().getChildren().contains(resultNode)); assertFalse(resultNode.isLeaf()); }