diff -r 000000000000 -r bde4ae8d615e os/ossrv/genericopenlibs/cppstdlib/stl/test/unit/accum_test.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/ossrv/genericopenlibs/cppstdlib/stl/test/unit/accum_test.cpp Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,50 @@ +#include +#include + +#include "cppunit/cppunit_proxy.h" + +#if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES) +using namespace std; +#endif + +// +// TestCase class +// +class AccumTest : public CPPUNIT_NS::TestCase +{ + CPPUNIT_TEST_SUITE(AccumTest); + CPPUNIT_TEST(accum1); + CPPUNIT_TEST(accum2); + CPPUNIT_TEST_SUITE_END(); + +protected: + void accum1(); + void accum2(); + static int mult(int initial_, int element_); +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(AccumTest); + +// +// tests implementation +// +void AccumTest::accum1() +{ + vector v(5); + for(int i = 0; (size_t)i < v.size(); ++i) + v[i] = i + 1; + int sum = accumulate(v.begin(), v.end(), 0); + CPPUNIT_ASSERT(sum==15); +} +void AccumTest::accum2() +{ + vector v(5); + for(int i = 0; (size_t)i < v.size(); ++i) + v[i] = i + 1; + int prod = accumulate(v.begin(), v.end(), 1, mult); + CPPUNIT_ASSERT(prod==120); +} +int AccumTest::mult(int initial_, int element_) +{ + return initial_ * element_; +}