package com.revolsys.geometry.test.old.util;
import com.revolsys.geometry.util.PriorityQueue;
import junit.framework.TestCase;
/**
* @version 1.7
*/
public class PriorityQueueTest extends TestCase {
public static void main(final String[] args) {
junit.textui.TestRunner.run(PriorityQueueTest.class);
}
public PriorityQueueTest(final String name) {
super(name);
}
private void addRandomItems(final PriorityQueue q, final int num) {
for (int i = 0; i < num; i++) {
q.add(new Integer((int)(num * Math.random())));
}
}
private void checkOrder(final PriorityQueue q) {
Comparable curr = null;
while (!q.isEmpty()) {
final Comparable next = q.poll();
// System.out.println(next);
if (curr == null) {
curr = next;
} else {
assertTrue(next.compareTo(curr) >= 0);
}
}
}
public void testOrder1() throws Exception {
final PriorityQueue q = new PriorityQueue();
q.add(new Integer(1));
q.add(new Integer(10));
q.add(new Integer(5));
q.add(new Integer(8));
q.add(new Integer(-1));
checkOrder(q);
}
public void testOrderRandom1() throws Exception {
final PriorityQueue q = new PriorityQueue();
addRandomItems(q, 100);
checkOrder(q);
}
}