UAM.Kora.Tests.XFastTrie.Deletion C# (CSharp) Method

Deletion() private method

private Deletion ( ) : void
return void
        public void Deletion()
        {
            XFastTrie<string> trie = new XFastTrie<string>();
            string temp;
            trie.Add(0, "0");
            trie.Verify();
            trie.Add(1, "1");
            trie.Verify();
            Assert.IsTrue(trie.Remove(0));
            trie.Verify();
            Assert.IsFalse(trie.TryGetValue(0, out temp));
            Assert.IsTrue(trie.TryGetValue(1, out temp));
            Assert.AreEqual("1", temp);
            Assert.IsTrue(trie.Remove(1));
            trie.Verify();
            trie.Add(110, "110");
            trie.Verify();
            Assert.IsTrue(trie.Remove(110));
            trie.Verify();
            Assert.IsFalse(trie.Remove(110));
            Assert.IsFalse(trie.TryGetValue(110, out temp));
            trie.Add(270, "270");
            trie.Verify();
            trie.Add(182, "182");
            trie.Verify();
            trie.Add(180, "180");
            trie.Verify();
            trie.Add(184, "184");
            trie.Verify();
            trie.Add(40, "40");
            trie.Verify();
            trie.Add(200, "200");
            trie.Verify();
            trie.Add(461, "461");
            trie.Add(158, "158");
            trie.Add(763, "763");
            Assert.IsFalse(trie.Remove(370));
            Assert.IsFalse(trie.Remove(110));
            Assert.IsTrue(trie.Remove(461));
            trie.Verify();
            Assert.IsFalse(trie.TryGetValue(461, out temp));
            Assert.IsFalse(trie.Remove(461));
            Assert.IsTrue(trie.Remove(184));
            trie.Verify();
            Assert.IsFalse(trie.TryGetValue(184, out temp));
            Assert.IsTrue(trie.Remove(763));
            trie.Verify();
            Assert.False(trie.TryGetValue(763, out temp));
        }