public void EmptyTreeRemove() { KevinBst <string> stringTree = new KevinBst <string>(); int key = 0; stringTree.Remove(key); }
public void EmptyTreeLookup() { KevinBst <string> stringTree = new KevinBst <string>(); int key = 0; stringTree.Lookup(key); }
public void TestTreeToString() { KevinBst <string> testTree = BuildTestTree(); IVisitor <string> visitor = new StringBuilderVisitor(); testTree.TraverseInOrder(visitor); Console.WriteLine(visitor.ToString()); }
public void SingletonTreeFailedLookup() { KevinBst <string> stringTree = new KevinBst <string>(); int key = 20; string value = key.ToString(); stringTree.Insert(key, value); stringTree.Lookup(key + 1); }
public void SingletonTreeSuccessfulLookup() { KevinBst <string> stringTree = new KevinBst <string>(); int key = 20; string value = key.ToString(); stringTree.Insert(key, value); Assert.AreEqual(stringTree.Lookup(key), value); }
public void RemoveRightChildLeafNode() { KevinBst <string> testTree = BuildTestTree(); testTree.Remove(key: 15); IVisitor <string> visitor = new StringBuilderVisitor(); testTree.TraverseInOrder(visitor); Console.WriteLine(visitor.ToString()); }
public void RemoveLeftChildOnlyHasLeftChild() { KevinBst <string> testTree = BuildTestTree(); testTree.Remove(key: 15); // now 10 only has left child 5 testTree.Remove(key: 10); IVisitor <string> visitor = new StringBuilderVisitor(); testTree.TraverseInOrder(visitor); Console.WriteLine(visitor.ToString()); }
public void RemoveRightChildOnlyHasRightChild() { KevinBst <string> testTree = BuildTestTree(); testTree.Remove(key: 25); // now 30 only has right child 35 testTree.Remove(key: 30); IVisitor <string> visitor = new StringBuilderVisitor(); testTree.TraverseInOrder(visitor); Console.WriteLine(visitor.ToString()); }
private KevinBst <string> BuildTestTree() { KevinBst <string> bst = new KevinBst <string>(); List <int> keys = new List <int>() { 20, 10, 30, 5, 15, 25, 35 }; foreach (int key in keys) { bst.Insert(key, key.ToString()); } return(bst); }