os/ossrv/genericopenlibs/cppstdlib/stl/test/unit/bcompos_test.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200 (2014-06-10)
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 #include <algorithm>
     2 #include "unary.h"
     3 
     4 #include "cppunit/cppunit_proxy.h"
     5 
     6 #if defined(_STLP_USE_NAMESPACES)
     7 using namespace std;
     8 #endif
     9 
    10 //
    11 // TestCase class
    12 //
    13 class 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 
    23 protected:
    24   void bcompos1();
    25   void bcompos2();
    26 };
    27 
    28 CPPUNIT_TEST_SUITE_REGISTRATION(BcomposTest);
    29 
    30 //
    31 // tests implementation
    32 //
    33 void 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 
    46 void 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 }