⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptr2_test.cpp

📁 symbian 上的stl_port进过编译的。
💻 CPP
字号:
#include <vector>#include <algorithm>#include <functional>#include "cppunit/cppunit_proxy.h"#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)using namespace std;#endif//// TestCase class//class Ptr2Test : public CPPUNIT_NS::TestCase{  CPPUNIT_TEST_SUITE(Ptr2Test);  CPPUNIT_TEST(ptrbin1);  CPPUNIT_TEST(ptrbin2);  CPPUNIT_TEST(ptrun1);  CPPUNIT_TEST(ptrun2);  CPPUNIT_TEST_SUITE_END();protected:  void ptrbin1();  void ptrbin2();  void ptrun1();  void ptrun2();};CPPUNIT_TEST_SUITE_REGISTRATION(Ptr2Test);//// tests implementation//static int sum(int x_, int y_){  return x_ + y_;}bool even(int n_){  return(n_ % 2) == 0;}void Ptr2Test::ptrbin1(){  int input1 [4] = { 7, 2, 3, 5 };  int input2 [4] = { 1, 5, 5, 8 };  int output [4];  transform((int*)input1, (int*)input1 + 4, (int*)input2, (int*)output, pointer_to_binary_function<int, int, int>(sum));  CPPUNIT_ASSERT(output[0]==8);  CPPUNIT_ASSERT(output[1]==7);  CPPUNIT_ASSERT(output[2]==8);  CPPUNIT_ASSERT(output[3]==13);}void Ptr2Test::ptrbin2(){  int input1 [4] = { 7, 2, 3, 5 };  int input2 [4] = { 1, 5, 5, 8 };  int output [4];  transform((int*)input1, (int*)input1 + 4, (int*)input2, (int*)output, ptr_fun(sum));  CPPUNIT_ASSERT(output[0]==8);  CPPUNIT_ASSERT(output[1]==7);  CPPUNIT_ASSERT(output[2]==8);  CPPUNIT_ASSERT(output[3]==13);}void Ptr2Test::ptrun1(){  int array [3] = { 1, 2, 3 };  int* p = find_if((int*)array, (int*)array + 3, pointer_to_unary_function<int, bool>(even));  CPPUNIT_ASSERT(p != array+3);  CPPUNIT_ASSERT(*p==2);}void Ptr2Test::ptrun2(){  int array [3] = { 1, 2, 3 };  int* p = find_if((int*)array, (int*)array + 3, ptr_fun(even));  CPPUNIT_ASSERT(p != array+3);  CPPUNIT_ASSERT(*p==2);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -