Home | History | Annotate | Download | only in unit
      1 #include <iterator>
      2 #if !defined (STLPORT) || !defined (_STLP_USE_NO_IOSTREAMS)
      3 #include <string>
      4 #include <sstream>
      5 #include <algorithm>
      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 OstreamIteratorTest : public CPPUNIT_NS::TestCase
     17 {
     18   CPPUNIT_TEST_SUITE(OstreamIteratorTest);
     19   CPPUNIT_TEST(ostmit0);
     20   CPPUNIT_TEST_SUITE_END();
     21 
     22 protected:
     23   void ostmit0();
     24 };
     25 
     26 CPPUNIT_TEST_SUITE_REGISTRATION(OstreamIteratorTest);
     27 
     28 //
     29 // tests implementation
     30 //
     31 void OstreamIteratorTest::ostmit0()
     32 {
     33   // not necessary, tested in copy_test
     34   int array [] = { 1, 5, 2, 4 };
     35 
     36   const char* text = "hello";
     37 
     38   ostringstream os;
     39 
     40   ostream_iterator<char> iter(os);
     41   copy(text, text + 5, iter);
     42   CPPUNIT_ASSERT(os.good());
     43   os << ' ';
     44   CPPUNIT_ASSERT(os.good());
     45 
     46   ostream_iterator<int> iter2(os);
     47   copy(array, array + 4, iter2);
     48   CPPUNIT_ASSERT(os.good());
     49   CPPUNIT_ASSERT(os.str() == "hello 1524");
     50 }
     51 
     52 #endif
     53