#include <algorithm> #include "unary.h" #include "cppunit/cppunit_proxy.h" #if defined(_STLP_USE_NAMESPACES) using namespace std; #endif // // TestCase class // class BcomposTest : public CPPUNIT_NS::TestCase { CPPUNIT_TEST_SUITE(BcomposTest); #if !defined (STLPORT) || defined (_STLP_NO_EXTENSIONS) CPPUNIT_IGNORE; #endif CPPUNIT_TEST(bcompos1); CPPUNIT_TEST(bcompos2); CPPUNIT_TEST_SUITE_END(); protected: void bcompos1(); void bcompos2(); }; CPPUNIT_TEST_SUITE_REGISTRATION(BcomposTest); // // tests implementation // void BcomposTest::bcompos1() { #if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS) int array [6] = { -2, -1, 0, 1, 2, 3 }; binary_compose<logical_and<bool>, odd, positive> b = binary_compose<logical_and<bool>, odd, positive>(logical_and<bool>(), odd(), positive()); int* p = find_if((int*)array, (int*)array + 6, b); CPPUNIT_ASSERT(p != array + 6); #endif } void BcomposTest::bcompos2() { #if defined (STLPORT) && !defined (_STLP_NO_EXTENSIONS) int array [6] = { -2, -1 , 0, 1, 2, 3 }; int* p = find_if((int*)array, (int*)array + 6, compose2(logical_and<bool>(), odd(), positive())); CPPUNIT_ASSERT(p != array + 6); #endif }