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