示例#1
0
 public void ShouldClearTheTree() {
   AndersonTree<int, int> tree = new AndersonTree<int, int>();
   tree.Add(10, 10);
   tree.Add(12, 32);
   tree.Add(56, 56);
   tree.Add(89, 89);
   Assert.AreNotEqual(0, tree.Count);
   tree.Clear();
   Assert.AreEqual(0, tree.Count);
 }
示例#2
0
        public void Clear()
        {
            AndersonTree <int, int> tree = new AndersonTree <int, int>();

            tree.Add(0, 0);
            tree.Add(1, 1);
            tree.Add(2, 2);
            tree.Add(3, 3);
            tree.Add(4, 4);
            tree.Add(5, 5);
            tree.Add(6, 6);

            tree.Clear();

            Assert.AreEqual(tree.Count, 0);
        }
示例#3
0
        public void InOrderTraversal()
        {
            AndersonTree <int, int> tree = new AndersonTree <int, int>();

            tree.Add(0, 0);
            tree.Add(1, 1);
            tree.Add(2, 2);
            tree.Add(3, 3);
            tree.Add(4, 4);
            tree.Add(5, 5);
            tree.Add(6, 6);

            List <AndersonTreeNode <int, int> > array = new List <AndersonTreeNode <int, int> >(6);

            tree.InOrderTreeWalk(delegate(AndersonTreeNode <int, int> node) {
                array.Add(node);
                return(true);
            });

            Assert.AreEqual(array[0].Value, 0);
            Assert.AreEqual(array[1].Value, 1);
            Assert.AreEqual(array[2].Value, 2);
            Assert.AreEqual(array[3].Value, 3);
            Assert.AreEqual(array[4].Value, 4);
            Assert.AreEqual(array[5].Value, 5);
            Assert.AreEqual(array[6].Value, 6);

            // unordered inert
            tree.Clear();
            tree.Add(4, 4);
            tree.Add(0, 0);
            tree.Add(1, 1);
            tree.Add(6, 6);
            tree.Add(2, 2);
            tree.Add(5, 5);
            tree.Add(3, 3);

            Assert.AreEqual(array[0].Value, 0);
            Assert.AreEqual(array[1].Value, 1);
            Assert.AreEqual(array[2].Value, 2);
            Assert.AreEqual(array[3].Value, 3);
            Assert.AreEqual(array[4].Value, 4);
            Assert.AreEqual(array[5].Value, 5);
            Assert.AreEqual(array[6].Value, 6);
        }