1#include <algorithm> 2#include "unary.h" 3 4#include "cppunit/cppunit_proxy.h" 5 6#if defined(_STLP_USE_NAMESPACES) 7using namespace std; 8#endif 9 10// 11// TestCase class 12// 13class BcomposTest : public CPPUNIT_NS::TestCase 14{ 15 CPPUNIT_TEST_SUITE(BcomposTest); 16#if !defined (STLPORT) || defined (_STLP_NO_EXTENSIONS) 17 CPPUNIT_IGNORE; 18#endif 19 CPPUNIT_TEST(bcompos1); 20 CPPUNIT_TEST(bcompos2); 21 CPPUNIT_TEST_SUITE_END(); 22 23protected: 24 void bcompos1(); 25 void bcompos2(); 26}; 27 28CPPUNIT_TEST_SUITE_REGISTRATION(BcomposTest); 29 30// 31// tests implementation 32// 33void BcomposTest::bcompos1() 34{ 35#if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS) 36 int array [6] = { -2, -1, 0, 1, 2, 3 }; 37 38 binary_compose<logical_and<bool>, odd, positive> 39 b = binary_compose<logical_and<bool>, odd, positive>(logical_and<bool>(), odd(), positive()); 40 41 int* p = find_if((int*)array, (int*)array + 6, b); 42 CPPUNIT_ASSERT(p != array + 6); 43#endif 44} 45 46void BcomposTest::bcompos2() 47{ 48#if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS) 49 int array [6] = { -2, -1 , 0, 1, 2, 3 }; 50 51 int* p = find_if((int*)array, (int*)array + 6, 52 compose2(logical_and<bool>(), odd(), positive())); 53 CPPUNIT_ASSERT(p != array + 6); 54#endif 55} 56