//---------------------------------------------------------------------------- // // FILE : test.C // AUTHOR : James Roberge // CREATION DATE : Copyright 1996 // //---------------------------------------------------------------------------- // // MODIFIED BY : Eugene Wallingford // DATE : April 1, 1997 // DESCRIPTION : This file is a modified test6.cpp, from Roberge's // laboratory on queues. It has been modified to test // the features of our ring buffer implementation. // //---------------------------------------------------------------------------- #include #include "queue.C" void main() { Queue testQueue(8); // Test queue char testElement; // Queue element char cmd; // Input command cout << endl << "Commands:" << endl; cout << " +x : Enqueue x" << endl; cout << " - : Dequeue" << endl; cout << " f : Front" << endl; cout << " E : Empty queue?" << endl; cout << " F : Full queue?" << endl; cout << " Q : Quit the test program" << endl; cout << endl; do { cout << endl << "Command: "; // Read command cin >> cmd; if ( cmd == '+' ) cin >> testElement; switch ( cmd ) { case '+' : // enqueue cout << "Enqueue " << testElement << endl; testQueue.enqueue(testElement); break; case '-' : // dequeue cout << "Dequeued " << testQueue.dequeue() << endl; break; case 'f' : // front cout << "Front of the queue" << endl; cout << testQueue.front() << endl; break; case 'E' : // empty if ( testQueue.isEmpty() ) cout << "Queue is empty" << endl; else cout << "Queue is NOT empty" << endl; break; case 'F' : // full if ( testQueue.isFull() ) cout << "Queue is full" << endl; else cout << "Queue is NOT full" << endl; break; case 'Q' : // Quit test program break; default : // Invalid command cout << "Inactive or invalid command" << endl; } } while ( cmd != 'Q' ); }