public void RemoveSubtreeDoubleTest() { var bst = new DSWBalancedBinarySearchTree<double>(); Assert.IsFalse(bst.RemoveSubtree(0.3)); bst.Insert(11.7); Assert.IsTrue(bst.RemoveSubtree(11.7)); Assert.IsFalse(bst.RemoveSubtree(11.7)); bst.Insert(2.7); bst.Insert(11.7); bst.Insert(16.7); var balanced = "{\"Value\":11.7,\"LeftChild\":{\"Value\":2.7,\"LeftChild\":null,\"RightChild\":null}," + "\"RightChild\":{\"Value\":16.7,\"LeftChild\":null,\"RightChild\":null}}"; Assert.AreEqual(balanced, bst.GetJson()); Assert.IsTrue(bst.RemoveSubtree(11.7)); var balanced2 = "null"; Assert.AreEqual(balanced2, bst.GetJson()); }
public void RemoveSubtreeStringTest() { var bst = new DSWBalancedBinarySearchTree<string>(); Assert.IsFalse(bst.RemoveSubtree("A")); bst.Insert("A"); Assert.IsTrue(bst.RemoveSubtree("A")); Assert.IsFalse(bst.RemoveSubtree("A")); bst.Insert("A"); bst.Insert("B"); bst.Insert("C"); var balanced = "{\"Value\":\"B\",\"LeftChild\":{\"Value\":\"A\",\"LeftChild\":null,\"RightChild\":null}," + "\"RightChild\":{\"Value\":\"C\",\"LeftChild\":null,\"RightChild\":null}}"; Assert.AreEqual(balanced, bst.GetJson()); Assert.IsTrue(bst.RemoveSubtree("B")); var balanced2 = "null"; Assert.AreEqual(balanced2, bst.GetJson()); }
public void RemoveBigTreeDoubleTest() { var bst = new DSWBalancedBinarySearchTree<double>(); for (var i = 0; i < 50; i++) { bst.Insert(i / 2.0); } Assert.IsTrue(bst.Remove(20.0)); Assert.IsTrue(bst.Remove(5.0)); Assert.IsTrue(bst.Remove(24.0)); Assert.IsFalse(bst.Remove(50.5)); Assert.IsTrue(bst.RemoveSubtree(23.0)); Assert.IsFalse(bst.RemoveSubtree(-1.9)); }
public void RemoveBigTreeIntTest() { var bst = new DSWBalancedBinarySearchTree<int>(); for (var i = 0; i < 50; i++) { bst.Insert(i); } Assert.IsTrue(bst.Remove(20)); Assert.IsTrue(bst.Remove(5)); Assert.IsTrue(bst.Remove(45)); Assert.IsFalse(bst.Remove(50)); Assert.IsTrue(bst.RemoveSubtree(37)); Assert.IsFalse(bst.RemoveSubtree(-1)); }
public void RemoveSubtreeIntTest() { var bst = new DSWBalancedBinarySearchTree<int>(); Assert.IsFalse(bst.RemoveSubtree(0)); bst.Insert(11); Assert.IsTrue(bst.RemoveSubtree(11)); Assert.IsFalse(bst.RemoveSubtree(11)); for (var i = 0; i < 7; i++) { bst.Insert(i); } var balanced = "{\"Value\":3,\"LeftChild\":{\"Value\":1," + "\"LeftChild\":{\"Value\":0,\"LeftChild\":null,\"RightChild\":null}," + "\"RightChild\":{\"Value\":2,\"LeftChild\":null,\"RightChild\":null}}," + "\"RightChild\":{\"Value\":5," + "\"LeftChild\":{\"Value\":4,\"LeftChild\":null,\"RightChild\":null}," + "\"RightChild\":{\"Value\":6,\"LeftChild\":null,\"RightChild\":null}}}"; Assert.AreEqual(balanced, bst.GetJson()); Assert.IsTrue(bst.RemoveSubtree(5)); var balanced2 = "{\"Value\":2,\"LeftChild\":{\"Value\":1," + "\"LeftChild\":{\"Value\":0,\"LeftChild\":null,\"RightChild\":null}," + "\"RightChild\":null}," + "\"RightChild\":{\"Value\":3,\"LeftChild\":null,\"RightChild\":null}}"; Assert.AreEqual(balanced2, bst.GetJson()); Assert.IsTrue(bst.RemoveSubtree(2)); Assert.IsFalse(bst.RemoveSubtree(2)); }