This is the continuation of the first round of refactoring the Priority Heap code from Data Structures Spring 2005. I just separated out the other few tests to save time (Elena).

public class TestPriorityHeap {
    final static PriorityHeap ph = new PriorityHeap();
    public static void main(String [] args) {
	testEnqueue();
	testDequeueOneElement();
	testEnqueueAfterDequeue();
	testEmptyTheQueue();
	testAddTwoAndDequeue();
	testAddTwo();
    }
    
    private static void testEnqueue(){
	ph.enqueue(3);
	ph.enqueue(4);
	ph.enqueue(2);
	ph.enqueue(4);
	ph.enqueue(5);
	ph.print();
    }
    private static void testDequeueOneElement(){
        int fromqueue = ph.dequeue();
        ph.print();
    }
    private static void testEnqueueAfterDequeue(){
        testDequeueOneElement();
        ph.enqueue(9);
        ph.print();
    }

    private static void testEmptyTheQueue() {
        while (!ph.isEmpty()) {
	        ph.dequeue();
	}
	ph.print();
    }

    private static void testAddTwoAndDequeue() {
	ph.enqueue(55);
	ph.enqueue(1);
	int fromqueue = ph.dequeue();
	ph.print();
    }

    private static void testAddTwo() {
	ph.enqueue(3);
	ph.enqueue(0);
	ph.print();
    }      
}

Some issues remaning with the tests: print messages in the beginning of each method need to be added, the print() method of the PriorityHeap needs to be made more user-friendly (prinited data is very confusing). Possible other things to do for test refactoring: change variable names? Add more tests?
This is an example from CSci 3601 course.

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.