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)
10using namespace std;
11#endif
12
13//
14// TestCase class
15//
16class OstreamIteratorTest : public CPPUNIT_NS::TestCase
17{
18  CPPUNIT_TEST_SUITE(OstreamIteratorTest);
19  CPPUNIT_TEST(ostmit0);
20  CPPUNIT_TEST_SUITE_END();
21
22protected:
23  void ostmit0();
24};
25
26CPPUNIT_TEST_SUITE_REGISTRATION(OstreamIteratorTest);
27
28//
29// tests implementation
30//
31void 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