//Check to make sure that numItems returns correct result on a fresh // instance of the ArrayQueue class void testCtor(ArrayQueue<int>& testQueue){ if(testQueue.getNumItems() == 0){ std::cout << "SUCCESS: Fresh queue has 0 items" << std::endl; } else { std::cout << "ERROR: Fresh queue should have 0 items, but has " << testQueue.getNumItems() << std::endl; } }
//Test to see if your queue can grow to handle lots of items void testGrow(ArrayQueue<int>& testQueue){ for(int i=0;i<1000;i++){ testQueue.add(i); } if(testQueue.getNumItems() != 1000){ std::cout << "ERROR: Should have 1000 items in queue, but only found " << testQueue.getNumItems() << std::endl; return; } for(int i=0;i<1000;i++){ int t = testQueue.remove(); if(t != i){ std::cout << "ERROR: Added " << i << " but got back " << t << std::endl; return; } } std::cout << "SUCCESS: Added 1000 items, then removed 1000" << std::endl; }
//Add and remove some items, making sure they come back in the // correct order void testAddRemove(ArrayQueue<int>& testQueue){ testQueue.add(5); testQueue.add(10); testQueue.add(4); if(testQueue.getNumItems() == 3){ std::cout << "SUCCESS: 3 items added" << std::endl; } else { std::cout << "ERROR: Added 3 items, but getNumItems says " << testQueue.getNumItems() << std::endl; return; } int x = testQueue.remove(); int y = testQueue.remove(); int z = testQueue.remove(); if(x != 5 || y != 10 || z != 4){ std::cout << "ERROR: Expected 5, 10, 4, but got " << x <<", " << y << ", " << "z" << std::endl; } else { std::cout << "SUCCESS: 3 added items came back out in the correct order" << std::endl; } }