public void RandomBalanceTest_AssertAfterAllIterations() { var tree = new AvlTree <int>(); var rnd = new UniqRandom(new Random()); for (var i = 0; i < 1_000_000; i++) { tree.Add(rnd.Next()); } AssertBalanced(tree); AssertOrdered(tree); }
public void RandomDeleteTest() { var allValues = new HashSet <int>(); var rnd = new UniqRandom(new Random()); var tree = new AvlTree <int>(); for (var i = 0; i < 1000000; i++) { var val = rnd.Next(); tree.Add(val); allValues.Add(val); } var removing = allValues.OrderBy(r => rnd.Next()).Take(100000).ToArray(); foreach (var val in removing) { tree.Remove(val); } AssertBalanced(tree); AssertOrdered(tree); }