예제 #1
0
        public void EmptyTreeTest()
        {
            var tree = new RedBlackTree<Int32>();

            Assert.IsTrue(tree.IsEmpty);
            Assert.IsFalse(tree.BredthContains(2));
        }
예제 #2
0
        public void RootNodeTest()
        {
            var tree = new RedBlackTree<Int32>();
            tree.Insert(10);

            Assert.IsFalse(tree.IsEmpty);
            Assert.IsTrue(tree.BredthContains(10));
            Assert.AreEqual(10, tree.RootNode.NodeValue);
        }
예제 #3
0
        public void ContainsSuccessTest()
        {
            var tree = new RedBlackTree<Int32>();

            tree.Insert(10);
            tree.Insert(25);
            tree.Insert(7);

            Assert.IsTrue(tree.BredthContains(25));
        }
예제 #4
0
        public void ContainsFailureTest()
        {
            var tree = new RedBlackTree<Int32>();

            tree.Insert(10);
            tree.Insert(25);
            tree.Insert(7);

            Assert.IsFalse(tree.BredthContains(2));
        }
예제 #5
0
        public void SpeedTest()
        {
            var tree = new RedBlackTree<Int32>();

            var stopWatch = Stopwatch.StartNew();
            InsertMultipleNodes(tree, 100000);
            stopWatch.Stop();
            Debug.WriteLine(String.Format("Insert Time: {0} milliseconds ", stopWatch.ElapsedMilliseconds));

            var searchStopWatch = Stopwatch.StartNew();

            var found = false;

            found = tree.BredthContains(777);

            searchStopWatch.Stop();
            Debug.WriteLine(String.Format("Search Time: {0} ticks ", searchStopWatch.ElapsedTicks));

            Assert.IsTrue(found);
        }