diff -r 000000000000 -r e4d67989cc36 genericopenlibs/cppstdlib/stl/test/unit/rawriter_test.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genericopenlibs/cppstdlib/stl/test/unit/rawriter_test.cpp Tue Feb 02 02:01:42 2010 +0200 @@ -0,0 +1,68 @@ +#include +#include +#include + +#include "cppunit/cppunit_proxy.h" + +#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) +using namespace std; +#endif + +class X +{ + public: + X(int i_ = 0) : i(i_) {} + ~X() {} + operator int() const { return i; } + + private: + int i; +}; + + +// +// TestCase class +// +class RawriterTest : public CPPUNIT_NS::TestCase +{ + CPPUNIT_TEST_SUITE(RawriterTest); + CPPUNIT_TEST(rawiter1); + CPPUNIT_TEST_SUITE_END(); + +protected: + void rawiter1(); +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(RawriterTest); + +// +// tests implementation +// +void RawriterTest::rawiter1() +{ + allocator a; + typedef X* x_pointer; + x_pointer save_p, p; + p = a.allocate(5); + save_p=p; + raw_storage_iterator r(p); + int i; + for(i = 0; i < 5; i++) + *r++ = X(i); + + CPPUNIT_ASSERT(*p++ == 0); + CPPUNIT_ASSERT(*p++ == 1); + CPPUNIT_ASSERT(*p++ == 2); + CPPUNIT_ASSERT(*p++ == 3); + CPPUNIT_ASSERT(*p++ == 4); + +//#if defined (STLPORT) || defined (__GNUC__) + a.deallocate(save_p, 5); +/* +#else + a.deallocate(save_p); +#endif +*/ + + CPPUNIT_ASSERT(true); +}