18bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include <utility>
28bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include <vector>
38bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include <algorithm>
48bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include <string>
58bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
68bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include "cppunit/cppunit_proxy.h"
75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)using namespace std;
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class PairTest : public CPPUNIT_NS::TestCase
138bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles){
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    CPPUNIT_TEST_SUITE(PairTest);
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    CPPUNIT_TEST(pair0);
16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    CPPUNIT_TEST(init);
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    CPPUNIT_TEST_SUITE_END();
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  protected:
208bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)    void pair0();
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    void init();
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)};
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)CPPUNIT_TEST_SUITE_REGISTRATION(PairTest);
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void PairTest::pair0()
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles){
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  pair<int, int> p = make_pair(1, 10);
295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  CPPUNIT_ASSERT(p.first==1);
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  CPPUNIT_ASSERT(p.second==10);
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void PairTest::init()
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles){
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  pair<int, string> PAIR_ARRAY[] = { pair<int, string>(0, "0") };
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  int PAIR_ARRAY_SIZE = sizeof(PAIR_ARRAY) > 0 ? sizeof(PAIR_ARRAY) / sizeof(PAIR_ARRAY[0]) : 0;
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  for ( int i = 0; i < PAIR_ARRAY_SIZE; i++ ) {
425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    CPPUNIT_CHECK( PAIR_ARRAY[i].first == 0 );
435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    CPPUNIT_CHECK( PAIR_ARRAY[i].second == "0" );
445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    PAIR_ARRAY[i].second = "1";
455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  }
465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)