public void DeleteTest() { List <TreapValueNode> del = new List <TreapValueNode>(); foreach (var node in tree) { if (r.Next() % 2 == 0) { del.Add(node); } } foreach (var node in del) { Console.WriteLine($"delete [{node.Key}]{node.Priority}"); compare.Remove(node); tree.DeleteNode(node); CompareLog(); } Assert.IsTrue(compare.OrderBy(node => node.Key).SequenceEqual(tree)); }