public void Constructor_RootNodeReferenceMaintainedAfterClearIsCalled() { TrieNode <Char> rootNode = null; testCharacterTrie = new CharacterTrie(out rootNode); foreach (String currentTestWord in new List <String>() { "cop", "d", "apple", "apps", "app" }) { testCharacterTrie.Insert(currentTestWord); } testCharacterTrie.Clear(); testCharacterTrie.Insert("apple"); Assert.AreEqual(1, rootNode.ChildNodes.Count()); Assert.IsTrue(rootNode.ChildNodeExists('a')); }
public void Count() { Assert.AreEqual(0, testCharacterTrie.Count); testCharacterTrie.Insert("cop"); Assert.AreEqual(1, testCharacterTrie.Count); testCharacterTrie.Insert("d"); Assert.AreEqual(2, testCharacterTrie.Count); testCharacterTrie.Delete("d"); Assert.AreEqual(1, testCharacterTrie.Count); testCharacterTrie.Delete("cop"); Assert.AreEqual(0, testCharacterTrie.Count); testCharacterTrie.Insert("cop"); Assert.AreEqual(1, testCharacterTrie.Count); testCharacterTrie.Clear(); Assert.AreEqual(0, testCharacterTrie.Count); }