os/ossrv/genericopenlibs/cppstdlib/stl/test/unit/binsert_test.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 #include <vector>
     2 #include <algorithm>
     3 
     4 #include "cppunit/cppunit_proxy.h"
     5 
     6 #if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
     7 using namespace std;
     8 #endif
     9 
    10 //
    11 // TestCase class
    12 //
    13 class BinsertTest : public CPPUNIT_NS::TestCase
    14 {
    15   CPPUNIT_TEST_SUITE(BinsertTest);
    16   CPPUNIT_TEST(binsert1);
    17   CPPUNIT_TEST(binsert2);
    18   CPPUNIT_TEST_SUITE_END();
    19 
    20 protected:
    21   void binsert1();
    22   void binsert2();
    23 };
    24 
    25 CPPUNIT_TEST_SUITE_REGISTRATION(BinsertTest);
    26 
    27 //
    28 // tests implementation
    29 //
    30 void BinsertTest::binsert1()
    31 {
    32   char* array [] = { "laurie", "jennifer", "leisa" };
    33   vector<char*> names;
    34   back_insert_iterator<vector<char*> > bit(names);
    35   bit = copy(array, array + 3, back_insert_iterator<vector <char*> >(names));
    36 
    37   CPPUNIT_ASSERT(!strcmp(names[0],array[0]));
    38   CPPUNIT_ASSERT(!strcmp(names[1],array[1]));
    39   CPPUNIT_ASSERT(!strcmp(names[2],array[2]));
    40 
    41   copy(array, array + 3, bit);
    42   CPPUNIT_ASSERT(!strcmp(names[3],array[0]));
    43   CPPUNIT_ASSERT(!strcmp(names[4],array[1]));
    44   CPPUNIT_ASSERT(!strcmp(names[5],array[2]));
    45 }
    46 void BinsertTest::binsert2()
    47 {
    48   char* array [] = { "laurie", "jennifer", "leisa" };
    49   vector<char*> names;
    50   copy(array, array + 3, back_inserter(names));
    51   CPPUNIT_ASSERT(!strcmp(names[0],array[0]));
    52   CPPUNIT_ASSERT(!strcmp(names[1],array[1]));
    53   CPPUNIT_ASSERT(!strcmp(names[2],array[2]));
    54 }