public void Replace5a()
{
for (int size = 0; size < 130; size++)
{
IPriorityQueue<double> q = new IntervalHeap<double>();
IPriorityQueueHandle<double> handle1 = null;
q.Add(ref handle1, 3.0);
Assert.AreEqual(3.0, q.FindMin());
for (int i = 1; i < size; i++)
q.Add(i + 3.0);
Assert.AreEqual(3.0, q.FindMin());
for (int min = 2; min >= -10; min--)
{
Assert.AreEqual(min + 1.0, q.Replace(handle1, min));
Assert.AreEqual(min, q.FindMin());
}
Assert.AreEqual(-10.0, q.DeleteMin());
for (int i = 1; i < size; i++)
Assert.AreEqual(i + 3.0, q.DeleteMin());
Assert.IsTrue(q.IsEmpty);
}
}