BinaryTreeNode extends AbstractTreeNode<D, N> { @Override @Pure public int getChildCount() { return 2; } BinaryTreeNode();  BinaryTreeNode(Collection<D> data);  BinaryTreeNode(D data);  BinaryTreeNode(boolean useLinkedList);  BinaryTreeNode(boolean useLinkedList, boolean copyDataCollection, List<D> data);  BinaryTreeNode(boolean useLinkedList, D data); @Override @Pure Class<? extends Enum<?>> getPartitionEnumeration(); @Override void clear(); @Override @Pure int getChildCount(); @Override @Pure int getNotNullChildCount(); @Override @Pure N getChildAt(int index); @Pure final N getChildAt(BinaryTreeZone index); boolean setLeftChild(N newChild); @Pure final N getLeftChild(); boolean setRightChild(N newChild); @Pure final N getRightChild(); @Override @Pure boolean isLeaf(); @Override boolean setChildAt(int index, N newChild); final boolean setChildAt(BinaryTreeZone zone, N newChild); @Override boolean moveTo(N newParent, int index); @Override boolean removeChild(N child); @Pure @Override int indexOf(N child); @Override void getChildren(Object[] array); @Pure @Override int getMinHeight(); @Pure @Override int getMaxHeight();  }
@Test public void getChildCount() { assertEquals(2, this.root.getChildCount()); assertEquals(2, this.child1.getChildCount()); assertEquals(2, this.child2.getChildCount()); assertEquals(2, this.node.getChildCount()); }