Пример #1
0
        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'));
        }
Пример #2
0
        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);
        }