- Added testClear() test. It doesn't really test much, but since I already

typed it in I'm leaving it.
- Reformatted/reindented the code and nuked trailing spaces.


git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@149768 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Otis Gospodnetic 2002-06-05 01:50:54 +00:00
parent a7bd647dd6
commit a6d7df46a4
1 changed files with 69 additions and 47 deletions

View File

@ -56,61 +56,83 @@ package org.apache.lucene.util;
import java.util.Date;
import java.util.Random;
import junit.framework.*;
import junit.framework.TestCase;
public class TestPriorityQueue extends TestCase {
public TestPriorityQueue(String name) {
super(name);
}
private static class IntegerQueue extends PriorityQueue {
public IntegerQueue(int count) {
super();
initialize(count);
public class TestPriorityQueue
extends TestCase
{
public TestPriorityQueue(String name)
{
super(name);
}
protected boolean lessThan(Object a, Object b) {
return ((Integer) a).intValue() < ((Integer) b).intValue();
}
}
private static class IntegerQueue
extends PriorityQueue
{
public IntegerQueue(int count)
{
super();
initialize(count);
}
public void testPQ() throws Exception {
testPQ(10000);
}
public static void testPQ(int count) {
PriorityQueue pq = new IntegerQueue(count);
Random gen = new Random();
int sum = 0, sum2 = 0;
Date start = new Date();
for (int i = 0; i < count; i++) {
int next = gen.nextInt();
sum += next;
pq.put(new Integer(next));
protected boolean lessThan(Object a, Object b)
{
return ((Integer) a).intValue() < ((Integer) b).intValue();
}
}
// Date end = new Date();
// System.out.print(((float)(end.getTime()-start.getTime()) / count) * 1000);
// System.out.println(" microseconds/put");
// start = new Date();
int last = Integer.MIN_VALUE;
for (int i = 0; i < count; i++) {
Integer next = (Integer)pq.pop();
assertTrue(next.intValue() >= last);
last = next.intValue();
sum2 += last;
public void testPQ()
throws Exception
{
testPQ(10000);
}
assertEquals(sum, sum2);
// end = new Date();
public static void testPQ(int count)
{
PriorityQueue pq = new IntegerQueue(count);
Random gen = new Random();
int sum = 0, sum2 = 0;
// System.out.print(((float)(end.getTime()-start.getTime()) / count) * 1000);
// System.out.println(" microseconds/pop");
Date start = new Date();
}
for (int i = 0; i < count; i++)
{
int next = gen.nextInt();
sum += next;
pq.put(new Integer(next));
}
// Date end = new Date();
// System.out.print(((float)(end.getTime()-start.getTime()) / count) * 1000);
// System.out.println(" microseconds/put");
// start = new Date();
int last = Integer.MIN_VALUE;
for (int i = 0; i < count; i++)
{
Integer next = (Integer)pq.pop();
assertTrue(next.intValue() >= last);
last = next.intValue();
sum2 += last;
}
assertEquals(sum, sum2);
// end = new Date();
// System.out.print(((float)(end.getTime()-start.getTime()) / count) * 1000);
// System.out.println(" microseconds/pop");
}
public void testClear()
{
PriorityQueue pq = new IntegerQueue(3);
pq.put(new Integer(2));
pq.put(new Integer(3));
pq.put(new Integer(1));
assertEquals(3, pq.size());
pq.clear();
assertEquals(0, pq.size());
}
}