func_test.cpp
来自「stl的源码」· C++ 代码 · 共 77 行
CPP
77 行
#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 FuncTest : public CPPUNIT_NS::TestCase{ CPPUNIT_TEST_SUITE(FuncTest); CPPUNIT_TEST(func1); CPPUNIT_TEST(func2); CPPUNIT_TEST(func3); CPPUNIT_TEST_SUITE_END();protected: void func1(); void func2(); void func3(); static bool bigger(int i_); static bool bigger_than(int x_, int y_);};CPPUNIT_TEST_SUITE_REGISTRATION(FuncTest);//// tests implementation//bool FuncTest::bigger(int i_){ return i_ > 3;}bool FuncTest::bigger_than(int x_, int y_){ return x_ > y_;}void FuncTest::func1(){ vector<int>v; v.push_back(4); v.push_back(1); v.push_back(5); int n = count_if(v.begin(), v.end(), bigger); CPPUNIT_ASSERT( n == 2 )}void FuncTest::func2(){ vector<int> v; v.push_back(4); v.push_back(1); v.push_back(5); sort(v.begin(), v.end(), bigger_than); CPPUNIT_ASSERT( v[0] == 5 ); CPPUNIT_ASSERT( v[1] == 4 ); CPPUNIT_ASSERT( v[2] == 1 );}void FuncTest::func3(){ vector<int> v; v.push_back(4); v.push_back(1); v.push_back(5); sort(v.begin(), v.end(), greater<int>()); CPPUNIT_ASSERT( v[0] == 5 ); CPPUNIT_ASSERT( v[1] == 4 ); CPPUNIT_ASSERT( v[2] == 1 );}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?