#include #include #include "../../common/Queue.h" using std::string; using std::cerr; using std::cout; using std::endl; int main() { Queue q(10); cout << "New queue. Should be empty: " << q.is_empty() << endl; cout << "Capacity: " << q.capacity() << endl; cout << "Fill: " << q.fill() << endl; for (uint i=0; i < 5; ++i) { q.push(i); assert(!q.is_full()); q.pop(); } cout << "Pushed and popped 5 elements. Queue should be empty: " << q.is_empty() << endl; cout << "Fill: " << q.fill() << endl; for (uint i=10; i < 20; ++i) { q.push(i); } cout << "Pushed 10 elements. Queue should be full: " << q.is_full() << endl; cout << "Fill: " << q.fill() << endl; cout << "The digits 10->19 should print: " << endl; while (!q.is_empty()) { int foo = q.pop(); cout << "Popped: " << foo << endl; } cout << "Queue should be empty: " << q.is_empty() << endl; cout << "Fill: " << q.fill() << endl; cout << "Attempting to add eleven elements to queue of size 10. Only first 10 should succeed:" << endl; for (uint i=20; i <= 39; ++i) { cout << i; cout << " - Fill: " << q.fill(); cout << ", is full: " << q.is_full(); cout << ", succeeded: " << q.push(i) << endl; } return 0; }