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"); } }
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"); } }
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!"); }
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!"); } } }