1 #include <vector> 2 #include <algorithm> 3 #include <list> 4 #include <deque> 5 #include <queue> 6 7 #include "cppunit/cppunit_proxy.h" 8 9 #if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) 10 using namespace std; 11 #endif 12 13 // 14 // TestCase class 15 // 16 class QueueTest : public CPPUNIT_NS::TestCase 17 { 18 CPPUNIT_TEST_SUITE(QueueTest); 19 CPPUNIT_TEST(pqueue1); 20 CPPUNIT_TEST(queue1); 21 CPPUNIT_TEST_SUITE_END(); 22 23 protected: 24 void pqueue1(); 25 void queue1(); 26 }; 27 28 CPPUNIT_TEST_SUITE_REGISTRATION(QueueTest); 29 30 // 31 // tests implementation 32 // 33 void QueueTest::pqueue1() 34 { 35 priority_queue<int, deque<int>, less<int> > q; 36 q.push(42); 37 q.push(101); 38 q.push(69); 39 40 CPPUNIT_ASSERT( q.top()==101 ); 41 q.pop(); 42 CPPUNIT_ASSERT( q.top()==69 ); 43 q.pop(); 44 CPPUNIT_ASSERT( q.top()==42 ); 45 q.pop(); 46 47 CPPUNIT_ASSERT(q.empty()); 48 } 49 void QueueTest::queue1() 50 { 51 queue<int, list<int> > q; 52 q.push(42); 53 q.push(101); 54 q.push(69); 55 56 CPPUNIT_ASSERT( q.front()==42 ); 57 q.pop(); 58 CPPUNIT_ASSERT( q.front()==101 ); 59 q.pop(); 60 CPPUNIT_ASSERT( q.front()==69 ); 61 q.pop(); 62 63 CPPUNIT_ASSERT(q.empty()); 64 } 65