1 #include <vector> 2 #include <algorithm> 3 #include <functional> 4 5 #include "cppunit/cppunit_proxy.h" 6 7 #if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) 8 using namespace std; 9 #endif 10 11 // 12 // TestCase class 13 // 14 class NeqTest : public CPPUNIT_NS::TestCase 15 { 16 CPPUNIT_TEST_SUITE(NeqTest); 17 CPPUNIT_TEST(negate0); 18 CPPUNIT_TEST(nequal0); 19 CPPUNIT_TEST_SUITE_END(); 20 21 protected: 22 void negate0(); 23 void nequal0(); 24 }; 25 26 CPPUNIT_TEST_SUITE_REGISTRATION(NeqTest); 27 28 // 29 // tests implementation 30 // 31 void NeqTest::negate0() 32 { 33 int input [3] = { 1, 2, 3 }; 34 35 int output[3]; 36 transform((int*)input, (int*)input + 3, (int*)output, negate<int>()); 37 38 CPPUNIT_ASSERT(output[0]==-1); 39 CPPUNIT_ASSERT(output[1]==-2); 40 CPPUNIT_ASSERT(output[2]==-3); 41 } 42 void NeqTest::nequal0() 43 { 44 int input1 [4] = { 1, 7, 2, 2 }; 45 int input2 [4] = { 1, 6, 2, 3 }; 46 47 int output [4]; 48 transform((int*)input1, (int*)input1 + 4, (int*)input2, (int*)output, not_equal_to<int>()); 49 50 CPPUNIT_ASSERT(output[0]==0); 51 CPPUNIT_ASSERT(output[1]==1); 52 CPPUNIT_ASSERT(output[2]==0); 53 CPPUNIT_ASSERT(output[3]==1); 54 } 55