### Question:
BinaryTimeTree { public int internalSize(BTreeNode<E> node) { int size = node.getValues().size(); for (BTreeNode<E> subNode : node.getSubNodes()) { if (subNode != null) { size += internalSize(subNode); } } return size; } BinaryTimeTree();  BinaryTimeTree(int maxValuesPerNode, int maxDepth); void clear(); int countInRange(TimeSpan range); CountReport countsInBins(TimeSpan overAllRange, int numberOfBins); TIntList countsInRanges(List<TimeSpan> countTimes); List<E> findInRange(TimeSpan range); boolean insert(E tsProvider); boolean insert(List<E> collection); int internalSize(BTreeNode<E> node); int maxValuesPerNodeInteral(BTreeNode<E> node, int maxValues); int queryMaxValuesPerNode(); int size();  }### Answer:
@Test public void testInternalSize() { BTreeNode<TimeSpanProvider> node = new BTreeNode<>(); BTreeNode<TimeSpanProvider> subNode1 = new BTreeNode<>(); BTreeNode<TimeSpanProvider> subNode2 = new BTreeNode<>(); BTreeNode<TimeSpanProvider> subNode3 = new BTreeNode<>(); BTreeNode<TimeSpanProvider> subNode4 = new BTreeNode<>(); BTreeNode<TimeSpanProvider> subNode5 = new BTreeNode<>(); subNode1.getValues().add(createMock(TimeSpanProvider.class)); subNode1.getValues().add(createMock(TimeSpanProvider.class)); subNode2.getValues().add(createMock(TimeSpanProvider.class)); subNode2.getValues().add(createMock(TimeSpanProvider.class)); subNode2.getValues().add(createMock(TimeSpanProvider.class)); subNode3.getValues().add(createMock(TimeSpanProvider.class)); subNode3.getValues().add(createMock(TimeSpanProvider.class)); node.setSubNodes(new ArrayList<>(Arrays.asList(subNode1, subNode2, subNode3, subNode4, subNode5))); node.setRange(new TimeSpanLongLong(0, 1000)); TimeSpanProvider provider1 = createMock(TimeSpanProvider.class); TimeSpanProvider provider2 = createMock(TimeSpanProvider.class); TimeSpanLongLong span1 = new TimeSpanLongLong(10, 20); expect(provider1.getTimeSpan()).andReturn(span1).anyTimes(); TimeSpanLongLong span2 = new TimeSpanLongLong(20, 200); expect(provider2.getTimeSpan()).andReturn(span2).anyTimes(); replay(provider1, provider2); assertEquals(7, myTestObject.internalSize(node)); }