/*
* Copyright (c) 2016 Vivid Solutions.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v. 1.0 which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
*
* http://www.eclipse.org/org/documents/edl-v10.php.
*/
package org.locationtech.jts.util;
import junit.framework.TestCase;
/**
* @version 1.7
*/
public class PriorityQueueTest
extends TestCase
{
public PriorityQueueTest(String name) {
super(name);
}
public static void main(String[] args) {
junit.textui.TestRunner.run(PriorityQueueTest.class);
}
public void testOrder1() throws Exception {
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 {
PriorityQueue q = new PriorityQueue();
addRandomItems(q, 100);
checkOrder(q);
}
private void addRandomItems(PriorityQueue q, int num)
{
for (int i = 0 ; i < num; i++) {
q.add(new Integer((int) (num * Math.random())));
}
}
private void checkOrder(PriorityQueue q)
{
Comparable curr = null;
while (! q.isEmpty()) {
Comparable next = (Comparable) q.poll();
//System.out.println(next);
if (curr == null)
curr = next;
else
assertTrue(next.compareTo(curr) >= 0);
}
}
}