public void Add_4_2_1_3_Delete_1() { bool deleteResult = false; GenericBinaryTree<TestObject_Integer> testTree = new GenericBinaryTree<TestObject_Integer>(); testTree.Add(new TestObject_Integer(4)); testTree.Add(new TestObject_Integer(2)); testTree.Add(new TestObject_Integer(1)); testTree.Add(new TestObject_Integer(3)); deleteResult = testTree.Delete(new TestObject_Integer(1)); Assert.IsTrue(deleteResult, "DeleteResult"); Assert.IsFalse(testTree.HasErrors, "HasErrors"); Assert.IsNotNull(testTree.ParentNode, "ParentNode"); Assert.IsNull(testTree.CurrentNode, "CurrentNode"); Assert.IsNull(testTree.LeftGrandChild, "LeftGrandChild"); Assert.IsNull(testTree.RightGrandChild, "RightGrandChild"); Assert.AreEqual(2, testTree.ParentNode.Item.Value, "ParentNode"); }
public void GenericBinaryTree_AddRandomElementsAndDeleteThem() { TestObject_Integer[] testObjectArray_01 = new TestObject_Integer[100000]; TestObject_Integer[] testObjectArray_02 = new TestObject_Integer[100000]; for (int i = 0; i < testObjectArray_01.Length; i++) { testObjectArray_01[i] = new TestObject_Integer(i); testObjectArray_02[i] = new TestObject_Integer(i); } testObjectArray_01 = CollectionManipulation.RandomizeGenericArray<TestObject_Integer>(testObjectArray_01); System.Threading.Thread.Sleep(100); testObjectArray_02 = CollectionManipulation.RandomizeGenericArray<TestObject_Integer>(testObjectArray_02); GenericBinaryTree<TestObject_Integer> testTree = new GenericBinaryTree<TestObject_Integer>(); bool addResult = true; for (int i = 0; i < testObjectArray_01.Length; i++) { if (!testTree.Add(testObjectArray_01[i])) { addResult = false; } } Assert.IsTrue(addResult, "addResult"); Assert.IsFalse(testTree.HasErrors, "HasErrors"); bool deleteResult = true; for (int i = 0; i < testObjectArray_02.Length; i++) { if (!testTree.Delete(testObjectArray_02[i])) { deleteResult = false; } } Assert.IsTrue(deleteResult, "deleteResult"); Assert.IsFalse(testTree.HasErrors, "HasErrors"); Assert.IsNull(testTree.RootNode, "RootNode"); }
public void Add_4_Delete_4() { GenericBinaryTree<TestObject_Integer> testTree = new GenericBinaryTree<TestObject_Integer>(); bool deleteResult = false; testTree.Add(new TestObject_Integer(4)); deleteResult = testTree.Delete(new TestObject_Integer(4)); Assert.IsTrue(deleteResult, "DeleteResult"); Assert.IsFalse(testTree.HasErrors, "HasErrors"); Assert.IsNull(testTree.RootNode, "RootNode"); Assert.IsNull(testTree.ParentNode, "ParentNode"); Assert.IsNull(testTree.CurrentNode, "CurrentNode"); Assert.IsNull(testTree.LeftGrandChild, "LeftGrandChild"); Assert.IsNull(testTree.RightGrandChild, "RightGrandChild"); }