public void TestInitialize() { Tree = new RBOrderedTree <string>(); for (int i = 0; i < InitialCount; ++i) { AddNew(); } }
public void TestCleanup() { Tree = null; }
public void OrderedTreeTest() { Random r = new Random((int)(DateTime.Now.Ticks ^ 0xffff)); RBOrderedTree <int> tree = new RBOrderedTree <int>(); List <int> vals = new List <int>(); int i, j, k; //fill tree while (tree.Count != 1000) { i = r.Next(10000); if (tree.Find(i) != null) { continue; } tree.Add(i); vals.Add(i); } vals.Sort(); //check ordering k = 0; for (i = 0; i < vals.Count; i++) { if (tree.GetByOrder(i).Key != vals[i]) { k++; } } Assert.AreEqual(0, k); //Console.WriteLine("{0}", k == 0 ? "ok" : "failed"); //check get order operation k = 0; for (i = 0; i < tree.Count; i++) { if (tree.GetOrder(tree.GetByOrder(i)) != i) { k++; } } Assert.AreEqual(0, k); //Console.WriteLine("{0}", k == 0 ? "ok" : "failed"); //remove some items and re-check for (i = 0; i < 50; i++) { j = r.Next(vals.Count); tree.Remove(vals[j]); vals.RemoveAt(j); } //check ordering k = 0; for (i = 0; i < vals.Count; i++) { if (tree.GetByOrder(i).Key != vals[i]) { k++; } } Assert.AreEqual(0, k); //Console.WriteLine("{0}", k == 0 ? "ok" : "failed"); //check get order operation k = 0; for (i = 0; i < tree.Count; i++) { if (tree.GetOrder(tree.GetByOrder(i)) != i) { k++; } } Assert.AreEqual(0, k); //Console.WriteLine("{0}", k == 0 ? "ok" : "failed"); }