public void InitialiseNewTree_Assert_Count_Zero() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); Assert.AreEqual(0, binarySearchTreeWithParent.Count); Assert.IsNotNull(binarySearchTreeWithParent); }
public void InitialiseNewTree_With_One_Node_Remove_Node_Assert_Count_Zero_Head_Null() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Remove(100); Assert.IsNull(binarySearchTreeWithParent.Head); Assert.AreEqual(0, binarySearchTreeWithParent.Count); }
public void InitialiseNewTree_AddOneItem_Assert_Count_One() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); Assert.AreEqual(1, binarySearchTreeWithParent.Count); Assert.IsNotNull(binarySearchTreeWithParent); Assert.AreEqual(100, binarySearchTreeWithParent.Head.Value); Assert.IsTrue(binarySearchTreeWithParent.Contains(100)); }
public void InitialiseNewTree_With_Three_Nodes_Remove_Tail_Left_Of_Parent_Assert_Count_Of_Two() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(125); binarySearchTreeWithParent.Remove(75); Assert.AreEqual(2, binarySearchTreeWithParent.Count); Assert.IsNull(binarySearchTreeWithParent.Head.LeftChild); }
public void TraverseInOrderTraversal() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(50); binarySearchTreeWithParent.Add(200); binarySearchTreeWithParent.Add(25); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(175); binarySearchTreeWithParent.Add(225); binarySearchTreeWithParent.InOrderTraversal(i => Console.WriteLine(i)); }
public void InitialiseNewTree_With_Two_Nodes_Remove_Head_Assert_Count_Of_One_And_New_Head() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Remove(100); Assert.AreEqual(1, binarySearchTreeWithParent.Count); Assert.AreEqual(75, binarySearchTreeWithParent.Head.Value); Assert.IsNull(binarySearchTreeWithParent.Head.RightChild); Assert.IsNull(binarySearchTreeWithParent.Head.LeftChild); }
public void InitialiseNewTree_With_Five_Nodes_Remove_Head_Heads_RightChild_Has_No_Left_Child() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(125); binarySearchTreeWithParent.Add(50); binarySearchTreeWithParent.Add(135); binarySearchTreeWithParent.Remove(100); Assert.AreEqual(4, binarySearchTreeWithParent.Count); Assert.AreEqual(125, binarySearchTreeWithParent.Head.Value);; Assert.AreEqual(135, binarySearchTreeWithParent.Head.RightChild.Value); }
public void InitialiseNewTree_With_Five_Nodes_Remove_Node_Right_Of_Parent_Which_Doesnt_Have_Right_Node_But_Has_left_node() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(125); binarySearchTreeWithParent.Add(50); binarySearchTreeWithParent.Add(115); binarySearchTreeWithParent.Remove(125); Assert.AreEqual(4, binarySearchTreeWithParent.Count); Assert.IsNotNull(binarySearchTreeWithParent.Head.RightChild); Assert.AreEqual(115, binarySearchTreeWithParent.Head.RightChild.Value); }
public void InitialiseNewTree_AddThreeItems_Of_SameValue_Assert_Count_Three_And_Check_Left_Right() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(100); Assert.AreEqual(3, binarySearchTreeWithParent.Count); Assert.IsNotNull(binarySearchTreeWithParent); Assert.AreEqual(100, binarySearchTreeWithParent.Head.Value); Assert.AreEqual(75, binarySearchTreeWithParent.Head.LeftChild.Value); Assert.AreEqual(100, binarySearchTreeWithParent.Head.RightChild.Value); Assert.IsTrue(binarySearchTreeWithParent.Contains(100)); Assert.IsTrue(binarySearchTreeWithParent.Contains(75)); Assert.IsTrue(binarySearchTreeWithParent.Contains(100)); }
public void InitialiseNewTree_With_Seven_Nodes_Remove_Node_Right_Of_Head() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(125); binarySearchTreeWithParent.Add(115); binarySearchTreeWithParent.Add(135); binarySearchTreeWithParent.Add(130); binarySearchTreeWithParent.Add(140); binarySearchTreeWithParent.Remove(125); Assert.AreEqual(6, binarySearchTreeWithParent.Count); Assert.AreEqual(100, binarySearchTreeWithParent.Head.Value); Assert.AreEqual(75, binarySearchTreeWithParent.Head.LeftChild.Value);; Assert.AreEqual(130, binarySearchTreeWithParent.Head.RightChild.Value);; Assert.IsNull(binarySearchTreeWithParent.Head.RightChild.LeftChild.LeftChild); }
public void InitialiseNewTree_With_Seven_Nodes_Remove_Node_Right_Of_Parent_Whos_RightChild_Has_No_Left_Child() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(125); binarySearchTreeWithParent.Add(115); binarySearchTreeWithParent.Add(135); binarySearchTreeWithParent.Add(145); binarySearchTreeWithParent.Add(155); binarySearchTreeWithParent.Remove(125); Assert.AreEqual(6, binarySearchTreeWithParent.Count); Assert.AreEqual(135, binarySearchTreeWithParent.Head.RightChild.Value);; Assert.AreEqual(115, binarySearchTreeWithParent.Head.RightChild.LeftChild.Value);; Assert.AreEqual(145, binarySearchTreeWithParent.Head.RightChild.RightChild.Value); }
public void InitialiseNewTree_With_Eight_Nodes_Remove_Node_Left_Of_Head() { var binarySearchTreeWithParent = new BinarySearchTreeWithParent <int>(); binarySearchTreeWithParent.Add(100); binarySearchTreeWithParent.Add(75); binarySearchTreeWithParent.Add(125); binarySearchTreeWithParent.Add(50); binarySearchTreeWithParent.Add(95); binarySearchTreeWithParent.Add(90); binarySearchTreeWithParent.Add(99); binarySearchTreeWithParent.Add(80); binarySearchTreeWithParent.Remove(75); Assert.AreEqual(7, binarySearchTreeWithParent.Count); Assert.AreEqual(100, binarySearchTreeWithParent.Head.Value); Assert.AreEqual(80, binarySearchTreeWithParent.Head.LeftChild.Value);; Assert.AreEqual(125, binarySearchTreeWithParent.Head.RightChild.Value);; Assert.IsNull(binarySearchTreeWithParent.Head.LeftChild.RightChild.LeftChild.LeftChild); }