public void Should_Check_InOrder_Traversal() { //arrange var tree = new MyBinarySearchTree <int>(); tree.Insert(38); tree.Insert(5); tree.Insert(45); tree.Insert(1); tree.Insert(9); tree.Insert(47); tree.Insert(8); tree.Insert(15); tree.Insert(46); tree.Insert(13); var inOrderTraversal = new int[] { 1, 5, 8, 9, 13, 15, 38, 45, 46, 47 }; //act var result = tree.InOrderTraversal().ToArray(); //assert tree.Count.ShouldBeEquivalentTo(10); inOrderTraversal.Length.ShouldBeEquivalentTo(result.Length); for (int i = 0; i < inOrderTraversal.Length; i++) { inOrderTraversal[i].ShouldBeEquivalentTo(result[i]); } }
public void Should_Check_InOrder_Traversal_Empty() { //arrange var tree = new MyBinarySearchTree <int>(); var inOrderTraversal = new int[] { }; //act var result = tree.InOrderTraversal().ToArray(); //assert tree.Count.ShouldBeEquivalentTo(0); inOrderTraversal.Length.ShouldBeEquivalentTo(result.Length); }
public void BSTSequences_Should_Check_Complex() { //arrange var tree = new MyBinarySearchTree <int>(); tree.Insert(10); tree.Insert(6); tree.Insert(15); tree.Insert(4); tree.Insert(8); tree.Insert(13); tree.Insert(17); tree.Insert(3); tree.Insert(5); tree.Insert(7); tree.Insert(14); tree.Insert(2); //act var result = _treesGraphs.BSTSequences(tree); //assert var inOrderTraversal = tree.InOrderTraversal().ToList(); foreach (var item in result) { var tempTree = new MyBinarySearchTree <int>(); foreach (var value in item) { tempTree.Insert(value); } var tempTraversal = tempTree.InOrderTraversal().ToList(); tempTraversal.Count.ShouldBeEquivalentTo(inOrderTraversal.Count); for (int i = 0; i < tempTraversal.Count; i++) { tempTraversal[i].ShouldBeEquivalentTo(inOrderTraversal[i]); } } }