private static string DumpTree <T>(UnbalancedSet <T> .Tree tree) where T : IComparable <T> { if (tree == UnbalancedSet <T> .Empty) { return("\u2205"); } var results = new StringBuilder(); results.Append('['); if (tree.A != UnbalancedSet <T> .Empty) { results.Append(DumpTree(tree.A)); results.Append(","); } results.Append(tree.Y); if (tree.B != UnbalancedSet <T> .Empty) { results.Append(","); results.Append(DumpTree(tree.B)); } results.Append(']'); return(results.ToString()); }
public void SingleElementTest() { var tree = UnbalancedSet <string> .Empty; tree = UnbalancedSet <string> .Insert("a", tree); Assert.AreEqual("[a]", DumpTree(tree)); }
public void ElementTest() { const string data = "How now, brown cow?"; var tree = data.Split().Aggregate(UnbalancedSet <string> .Empty, (current, word) => UnbalancedSet <string> .Insert(word, current)); foreach (var word in data.Split()) { Assert.IsTrue(UnbalancedSet <string> .Member(word, tree)); } Assert.IsFalse(UnbalancedSet <string> .Member("wow", tree)); }
public void DumpTreeTest() { const string data = "How now, brown cow?"; var tree = data.Split().Aggregate(UnbalancedSet <string> .Empty, (current, word) => UnbalancedSet <string> .Insert(word, current)); Assert.AreEqual("[[brown,[cow?]],How,[now,]]", DumpTree(tree)); }