public void DeleteTest_DeleteNodeWithTwoChildren_SymPreHasTwoChildrenAsWell() { var t = new ImprovedBinSearchTree(); t.Insert(10); t.Insert(5); t.Insert(6); t.Insert(4); var deleted = t.Delete(5); Assert.IsTrue(deleted); Assert.IsFalse(t.Search(5)); Assert.IsTrue(t.Search(4)); Assert.IsTrue(t.Search(6)); }
public void DeleteTest_SymmetricPredecessorIsChild_EzTree() { var t = new ImprovedBinSearchTree(); t.Insert(10); t.Insert(5); t.Insert(6); t.Insert(4); var deleted = t.Delete(5); Assert.IsTrue(deleted); Assert.IsFalse(t.Search(5)); Assert.IsTrue(t.Search(4)); Assert.IsTrue(t.Search(6)); }
public void DeleteTest_DeleteRoot_CheckRest() { var t = new ImprovedBinSearchTree(); t.Insert(10); t.Insert(5); t.Insert(15); t.Insert(17); var deleted = t.Delete(10); Assert.IsTrue(deleted); Assert.IsFalse(t.Search(10)); Assert.IsTrue(t.Search(5)); Assert.IsTrue(t.Search(15)); Assert.IsTrue(t.Search(17)); }
public void PublicSearchTest() { var t = new ImprovedBinSearchTree(); t.Insert(5); Assert.IsTrue(t.Search(5)); }
public void DeleteTest_CheckIfDelete() { var t = new ImprovedBinSearchTree(); const int value = 5; t.Insert(value); var deleted = t.Delete(value); Assert.IsFalse(t.Search(value)); Assert.IsTrue(deleted); }