### Question:
ByteTrie implements ByteTrieIfc<T> { @Override public int numberOfNodes() { return numberOfNodes; } ByteTrie(); @Override boolean isEmpty(); @Override int size(); @Override int numberOfNodes(); @Override boolean add(byte[] value, T item); @Override ByteTrieNodeIfc<T> find(byte[] value); @Override void inorder(TaskMonitor monitor, Op<T> op); @Override List<SearchResult<Integer, T>> search(byte[] text, TaskMonitor monitor); @Override List<SearchResult<Address, T>> search(Memory memory, AddressSetView view,
			TaskMonitor monitor);  }### Answer:
@Test public void testNumberOfNodes() throws Exception { assertEquals("wrong size for empty", 1, trie.numberOfNodes()); add(trie, "00", true); assertEquals("wrong size for '00'", 3, trie.numberOfNodes()); add(trie, "01", true); assertEquals("wrong size for '01'", 4, trie.numberOfNodes()); add(trie, "0", true); assertEquals("wrong size for '0'", 4, trie.numberOfNodes()); add(trie, "000", true); assertEquals("wrong size for '000'", 5, trie.numberOfNodes()); }