Пример #1
0
        public void Simple()
        {
            var splayTree = new SplayTree<int, string>();
            splayTree.Clear();

            Assert.AreEqual(splayTree.Count, 0);

            splayTree = GetTestTree();
            Assert.IsTrue(splayTree.ContainsKey(19));

            splayTree.Clear();
            Assert.AreEqual(splayTree.Count, 0);
            Assert.IsFalse(splayTree.ContainsKey(19));
        }
Пример #2
0
        public void Simple()
        {
            var splayTree = new SplayTree <int, string>();

            splayTree.Clear();

            Assert.AreEqual(splayTree.Count, 0);

            splayTree = GetTestTree();
            Assert.IsTrue(splayTree.ContainsKey(19));

            splayTree.Clear();
            Assert.AreEqual(splayTree.Count, 0);
            Assert.IsFalse(splayTree.ContainsKey(19));
        }
 public void Generate()
 {
     tree.Clear(); nodes.Clear();
     NewNode(4); NewNode(6); NewNode(8);
     NewNode(4); NewNode(3); NewNode(2);
     NewNode(4); NewNode(9); NewNode(7);
     NewNode(4);
 }
Пример #4
0
        /// <summary>
        ///A test for Clear
        ///</summary>
        public void ClearTestHelper <T>()
        {
            SplayTree <double> target = new SplayTree <double>();

            target.Add(1);
            target.Add(2);
            target.Add(3);
            target.Clear();
            Assert.IsNull(target.Root);
        }
Пример #5
0
        public void Simple()
        {
            var splayTree = new SplayTree<int, string>();
            Assert.IsTrue(splayTree.IsEmpty);

            splayTree = GetTestTree();
            Assert.IsFalse(splayTree.IsEmpty);

            splayTree.Clear();
            Assert.IsTrue(splayTree.IsEmpty);
        }
        public void SplayTreeClear()
        {
            var tree = new SplayTree <string, string>
            {
                { "Hello", "qwerty" },
                { "World", "uiop" }
            };

            tree.Clear();
            Assert.AreEqual(tree.Count, 0);
            Assert.IsFalse(tree.Root.HasValue);
        }
Пример #7
0
        public void Simple()
        {
            var splayTree = new SplayTree <int, string>();

            Assert.IsTrue(splayTree.IsEmpty);

            splayTree = GetTestTree();
            Assert.IsFalse(splayTree.IsEmpty);

            splayTree.Clear();
            Assert.IsTrue(splayTree.IsEmpty);
        }
Пример #8
0
        public void CheckIfNodeIsInvalidatedAfterClearingAndAfterRemoval()
        {
            var tree = new SplayTree <int>();

            tree.Add(3);
            tree.Add(1);
            tree.Add(2);

            // Tree looks like this:
            //   2
            //  / \
            // 1   3

            var node1 = tree.Root.Left;
            var node2 = tree.Root;
            var node3 = tree.Root.Right;

            tree.Remove(2);
            if (node2.Left != null || node2.Right != null)
            {
                Assert.Fail("2");
            }

            tree.Remove(3);
            if (node3.Left != null || node3.Right != null)
            {
                Assert.Fail("3");
            }

            tree.Remove(1);
            if (node1.Left != null || node1.Right != null)
            {
                Assert.Fail("1");
            }

            tree.Add(3);
            tree.Add(1);
            tree.Add(2);

            node1 = tree.Root.Left;
            node2 = tree.Root;
            node3 = tree.Root.Right;

            tree.Clear();

            Assert.IsTrue(node1.Left == null && node1.Right == null &&
                          node2.Left == null && node2.Right == null &&
                          node3.Left == null && node3.Right == null &&
                          tree.Root == null &&
                          tree.Count == 0);
        }
Пример #9
0
        public void AddingAfterClearingTree()
        {
            var tree = new SplayTree <int>();

            int elementsCount = 10000;

            //Adding every seventh number, then every fifth number,
            //every third and at last all numbers
            for (int i = 7; i > 0; i -= 2)
            {
                int el = 0;
                while (el < elementsCount)
                {
                    if (!tree.Contains(el))
                    {
                        tree.Add(el);
                        if (tree.Root.Value != el)
                        {
                            Assert.Fail();
                        }
                    }
                    else if (tree.Root.Value != el)
                    {
                        Assert.Fail();
                    }
                    el += i;
                }
            }

            if (tree.Count != elementsCount)
            {
                Assert.Fail();
            }

            tree.Clear();

            if (tree.Count != 0)
            {
                Assert.Fail();
            }

            //Adding every seventh number, then every fifth number,
            //every third and at last all numbers
            for (int i = 7; i > 0; i -= 2)
            {
                int el = 0;
                while (el < elementsCount)
                {
                    if (!tree.Contains(el))
                    {
                        tree.Add(el);
                        if (tree.Root.Value != el)
                        {
                            Assert.Fail();
                        }
                    }
                    else if (tree.Root.Value != el)
                    {
                        Assert.Fail();
                    }
                    el += i;
                }
            }

            int  last              = -1;
            int  count             = 0;
            bool elementsAreSorted = true;

            foreach (var item in tree)
            {
                if (last > item)
                {
                    elementsAreSorted = false;
                }
                last = item;
                count++;
            }

            Assert.IsTrue(tree.Count == elementsCount &&
                          elementsAreSorted &&
                          count == elementsCount);
        }
Пример #10
0
 public void Clear()
 {
     data.Clear();
 }