Exemple #1
0
        public void TrieContractFindPredecessor1()
        {
            ITrie <String, char, String> trie = this.GetInstance();

            ITrieNode <char, String> node = trie.FindPredecessor("test");

            Assert.IsNull(node);

            trie.Add("test", "a");
            trie.Add("testing", "b");
            trie.Add("blah", "c");

            node = trie.FindPredecessor("test");
            Assert.IsNotNull(node);
            Assert.AreEqual("a", node.Value);

            node = trie.FindPredecessor("testi");
            Assert.IsNotNull(node);
            Assert.AreEqual("a", node.Value);

            node = trie.FindPredecessor("testit");
            Assert.IsNotNull(node);
            Assert.AreEqual("a", node.Value);

            node = trie.FindPredecessor("testing");
            Assert.IsNotNull(node);
            Assert.AreEqual("b", node.Value);

            node = trie.FindPredecessor("testingtest");
            Assert.IsNotNull(node);
            Assert.AreEqual("b", node.Value);

            node = trie.FindPredecessor("b");
            Assert.IsNull(node);

            node = trie.FindPredecessor("blahblah");
            Assert.IsNotNull(node);
            Assert.AreEqual("c", node.Value);
        }