public static BinaryHeap <int, int> Create(int capacity) { var heap = new BinaryHeap <int, int>(capacity, (i, j) => i.CompareTo(j)); heap.ObjectInvariant(); return(heap); }
/// <summary> /// Checks heap invariant /// </summary> private static void AssertInvariant <TPriority, TValue>( BinaryHeap <TPriority, TValue> target ) { Assert.IsTrue(target.Capacity >= 0); Assert.IsTrue(target.Count >= 0); Assert.IsTrue(target.Count <= target.Capacity); target.ObjectInvariant(); }