### Question:
ConstantNaryTreeNode extends AbstractTreeNode<D, N> { @Pure @Override public int getNotNullChildCount() { return this.notNullChildCount; } ConstantNaryTreeNode(int childCount);  ConstantNaryTreeNode(int childCount, Collection<D> data);  ConstantNaryTreeNode(int childCount, D data);  ConstantNaryTreeNode(int childCount, boolean useLinkedList);  ConstantNaryTreeNode(int childCount, boolean useLinkedList, boolean copyDataCollection, List<D> data);  ConstantNaryTreeNode(int childCount, boolean useLinkedList, D data); @Pure @Override Class<? extends Enum<?>> getPartitionEnumeration(); @Override void clear(); @Pure @Override final int getChildCount(); @Pure @Override int getNotNullChildCount(); @Pure @Override final int indexOf(N child); @Pure @Override final N getChildAt(int index); @Override boolean moveTo(N newParent, int index); @Override boolean setChildAt(int index, N newChild); @Override final boolean removeChild(N child); @Pure @Override final boolean isLeaf(); @Override void getChildren(Object[] array); @Pure @Override int getMinHeight(); @Pure @Override int getMaxHeight();  }### Answer:
@Test public void getNotNullChildCount() { assertEquals(2, this.root.getNotNullChildCount()); assertEquals(1, this.child1.getNotNullChildCount()); assertEquals(0, this.child2.getNotNullChildCount()); assertEquals(0, this.node.getNotNullChildCount()); }