6 #include "cppunit/cppunit_proxy.h"
8 #if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
15 class GeneratorTest
: public CPPUNIT_NS::TestCase
17 CPPUNIT_TEST_SUITE(GeneratorTest
);
20 CPPUNIT_TEST(genern1
);
21 CPPUNIT_TEST(genern2
);
22 CPPUNIT_TEST_SUITE_END();
31 CPPUNIT_TEST_SUITE_REGISTRATION(GeneratorTest
);
34 // tests implementation
37 static int cxxrand() { return rand();}
39 void GeneratorTest::gener1()
43 generate(numbers
, numbers
+ 10, ptr_gen(cxxrand
));
45 generate(numbers
, numbers
+ 10, cxxrand
);
49 void GeneratorTest::gener2()
53 generate(v1
.begin(), v1
.end(), generator
);
55 CPPUNIT_ASSERT(v1
[0]==1);
56 CPPUNIT_ASSERT(v1
[1]==1);
57 CPPUNIT_ASSERT(v1
[2]==2);
58 CPPUNIT_ASSERT(v1
[3]==3);
59 CPPUNIT_ASSERT(v1
[4]==5);
60 CPPUNIT_ASSERT(v1
[5]==8);
61 CPPUNIT_ASSERT(v1
[6]==13);
62 CPPUNIT_ASSERT(v1
[7]==21);
63 CPPUNIT_ASSERT(v1
[8]==34);
64 CPPUNIT_ASSERT(v1
[9]==55);
66 void GeneratorTest::genern1()
68 #if !defined (_STLP_MEMBER_POINTER_PARAM_BUG)
69 //*TY 07/18/98 - added conditional
70 // since ptr_gen() is not defined under this condition
73 generate_n(v1
.begin(), v1
.size(), ptr_gen(cxxrand
));
74 #endif //_STLP_MEMBER_POINTER_PARAM_BUG //*TY 07/18/98 - added
76 void GeneratorTest::genern2()
80 generate_n(v1
.begin(), v1
.size(), generator
);
82 CPPUNIT_ASSERT(v1
[0]==1);
83 CPPUNIT_ASSERT(v1
[1]==1);
84 CPPUNIT_ASSERT(v1
[2]==2);
85 CPPUNIT_ASSERT(v1
[3]==3);
86 CPPUNIT_ASSERT(v1
[4]==5);
87 CPPUNIT_ASSERT(v1
[5]==8);
88 CPPUNIT_ASSERT(v1
[6]==13);
89 CPPUNIT_ASSERT(v1
[7]==21);
90 CPPUNIT_ASSERT(v1
[8]==34);
91 CPPUNIT_ASSERT(v1
[9]==55);