public void Delete_OneElementTree_ShouldMakeTreeEmpty() { var bst = new BinarySearchTree <int>(); bst.Insert(5); bst.Delete(5); var nodes = new List <int>(); bst.EachInOrder(nodes.Add); int[] expectedNodes = new int[] { }; CollectionAssert.AreEqual(expectedNodes, nodes); Assert.AreEqual(expectedNodes.Length, bst.Count()); }
public void Insert_Single_TraverseInOrder() { var bst = new BinarySearchTree <int>(); bst.Insert(1); var nodes = new List <int>(); bst.EachInOrder(nodes.Add); var expectedNodes = new int[] { 1 }; CollectionAssert.AreEqual(expectedNodes, nodes); Assert.AreEqual(expectedNodes.Length, bst.Count()); }
public void Range_ExistingElements_ShouldReturnCorrectCount() { var bst = new BinarySearchTree <int>(); bst.Insert(20); bst.Insert(10); bst.Insert(5); bst.Insert(15); bst.Insert(17); bst.Insert(30); bst.Insert(25); bst.Insert(35); var result = bst.Range(5, 25); var expectedElements = new int[] { 5, 10, 15, 17, 20, 25 }; Assert.AreEqual(expectedElements.Length, result.ToArray().Length); }
public void Search_ExistingElement_ShouldReturnSubTree() { var bst = new BinarySearchTree <int>(); bst.Insert(20); bst.Insert(10); bst.Insert(5); bst.Insert(15); bst.Insert(17); bst.Insert(30); bst.Insert(25); bst.Insert(35); var result = bst.Search(10); var nodes = new List <int>(); result.EachInOrder(nodes.Add); var expectedNodes = new int[] { 5, 10, 15, 17 }; CollectionAssert.AreEqual(expectedNodes, nodes); }
public void ContainsTest() { test.Insert(3); Assert.IsTrue(test.Contains(3)); }