示例#1
0
        private static void TestBinarySearchReturnsFalse()
        {
            var values    = new int[] { 0, 20, 30, 40, 50 };
            var preOrder  = BinaryTreeRecursiveWalker.TraversalMode.PreOrder;
            var inOrder   = BinaryTreeRecursiveWalker.TraversalMode.InOrder;
            var postOrder = BinaryTreeRecursiveWalker.TraversalMode.PostOrder;

            foreach (var value in values)
            {
                Assert.False(BinaryTreeRecursiveWalker.BinarySearch(_root, value, preOrder),
                             "Wrong boolean returned, expected False from Contains");
            }

            foreach (var value in values)
            {
                Assert.False(BinaryTreeRecursiveWalker.BinarySearch(_root, value, inOrder),
                             "Wrong boolean returned, expected False from Contains");
            }

            foreach (var value in values)
            {
                Assert.False(BinaryTreeRecursiveWalker.BinarySearch(_root, value, postOrder),
                             "Wrong boolean returned, expected False from Contains");
            }
        }
示例#2
0
        private static void TestContainReturnsTrue()
        {
            var values    = new int[] { 10, 5, 3, 7, 15, 13, 17 };
            var preOrder  = BinaryTreeRecursiveWalker.TraversalMode.PreOrder;
            var inOrder   = BinaryTreeRecursiveWalker.TraversalMode.InOrder;
            var postOrder = BinaryTreeRecursiveWalker.TraversalMode.PostOrder;

            foreach (var value in values)
            {
                Assert.True(BinaryTreeRecursiveWalker.Contains(_root, value, preOrder),
                            "Wrong boolean returned, expected True from Contains");
            }

            foreach (var value in values)
            {
                Assert.True(BinaryTreeRecursiveWalker.Contains(_root, value, inOrder),
                            "Wrong boolean returned, expected True from Contains");
            }

            foreach (var value in values)
            {
                Assert.True(BinaryTreeRecursiveWalker.Contains(_root, value, postOrder),
                            "Wrong boolean returned, expected True from Contains");
            }
        }
        private static void Test_Contain_Returns_True(BSTNode <int> root, int[] values)
        {
            var preOrder  = BinaryTreeRecursiveWalker.TraversalMode.PreOrder;
            var inOrder   = BinaryTreeRecursiveWalker.TraversalMode.InOrder;
            var postOrder = BinaryTreeRecursiveWalker.TraversalMode.PostOrder;

            foreach (var value in values)
            {
                Debug.Assert(
                    true == BinaryTreeRecursiveWalker.Contains(root, value, preOrder),
                    "Wrong boolean returned, expected True from Contains");
            }

            foreach (var value in values)
            {
                Debug.Assert(
                    true == BinaryTreeRecursiveWalker.Contains(root, value, inOrder),
                    "Wrong boolean returned, expected True from Contains");
            }

            foreach (var value in values)
            {
                Debug.Assert(
                    true == BinaryTreeRecursiveWalker.Contains(root, value, postOrder),
                    "Wrong boolean returned, expected True from Contains");
            }
        }
示例#4
0
        private static void TestPostOrderTraversal()
        {
            var postOrder = BinaryTreeRecursiveWalker.TraversalMode.PostOrder;

            // List to contain items
            List <int> list = new List <int>();

            // ForEach Action
            var addToList = new Action <int>(list.Add);

            // Assert the fact that adding items POST-ORDER will result in [3, 7, 5, 13, 17, 15, 10]
            BinaryTreeRecursiveWalker.ForEach(_root, addToList, postOrder);
            Assert.True(list.ToArray() == new int[] { 3, 7, 5, 13, 17, 15, 10 }, "Wrong traversal, expected InOrder enumeration of tree!");
        }
        private static void TestInOrderTraversal()
        {
            var inOrder = BinaryTreeRecursiveWalker.TraversalMode.InOrder;

            // List to contain items
            var list = new List <int>();

            // ForEach Action
            var addToList = new Action <int>(list.Add);

            // Assert the fact that adding items IN-ORDER will result in [10, 5, 3, 7, 15, 13, 17]
            BinaryTreeRecursiveWalker.ForEach(Root, addToList, inOrder);
            Assert.True(list.ToArray() == new[] { 10, 5, 3, 7, 15, 13, 17 },
                        "Wrong traversal, expected InOrder enumeration of tree!");
        }
        private static void Test_PreOrder_Traversal(BSTNode <int> root)
        {
            var preOrder = BinaryTreeRecursiveWalker.TraversalMode.PreOrder;

            // List to contain items
            List <int> list = new List <int>();

            // ForEach Action
            var addToList = new Action <int>(list.Add);

            // Assert the fact that adding items PRE-ORDER will result in [3, 5, 7, 10, 13, 15, 17]
            BinaryTreeRecursiveWalker.ForEach(root, addToList, preOrder);

            Debug.Assert(
                list.ToArray() == new int[] { 3, 5, 7, 10, 13, 15 },
                "Wrong traversal, expected InOrder enumeration of tree!");
        }
示例#7
0
        private static void TestPreOrderTraversal()
        {
            var preOrder = BinaryTreeRecursiveWalker.TraversalMode.PreOrder;

            // List to contain items
            List <int> list = new List <int>();

            // ForEach Action
            var addToList = new Action <int>(list.Add);

            // Assert the fact that adding items PRE-ORDER will result in [3, 5, 7, 10, 13, 15, 17]
            BinaryTreeRecursiveWalker.ForEach(Root, addToList, preOrder);
            var expectedArray = new[] { 10, 5, 3, 7, 15, 13, 17 };

            for (int i = 0; i < list.Count; i++)
            {
                if (list[i] != expectedArray[i])
                {
                    throw new InvalidOperationException("Wrong traversal, expected PreOrder enumeration of tree!");
                }
            }
        }