count_test.cpp

来自「stl的源码」· C++ 代码 · 共 74 行

CPP
74
字号
#include <algorithm>#include <vector>#include "cppunit/cppunit_proxy.h"#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)using namespace std;#endif//// TestCase class//class CountTest : public CPPUNIT_NS::TestCase{  CPPUNIT_TEST_SUITE(CountTest);  CPPUNIT_TEST(count0);  CPPUNIT_TEST(count1);  CPPUNIT_TEST(countif1);  CPPUNIT_TEST_SUITE_END();protected:  void count0();  void count1();  void countif1();  static int odd(int a_);};CPPUNIT_TEST_SUITE_REGISTRATION(CountTest);//// tests implementation//void CountTest::count0(){  int numbers[10] = { 1, 2, 4, 1, 2, 4, 1, 2, 4, 1 };  int result = count(numbers, numbers + 10, 1);  CPPUNIT_ASSERT(result==4);#if defined (STLPORT) && !defined (_STLP_NO_ANACHRONISMS)  result = 0;  count(numbers, numbers + 10, 1, result);  CPPUNIT_ASSERT(result==4);#endif}void CountTest::count1(){  vector <int> numbers(100);  for(int i = 0; i < 100; i++)  numbers[i] = i % 3;  int elements = count(numbers.begin(), numbers.end(), 2);  CPPUNIT_ASSERT(elements==33);#if defined (STLPORT) && !defined (_STLP_NO_ANACHRONISMS)  elements = 0;  count(numbers.begin(), numbers.end(), 2, elements);  CPPUNIT_ASSERT(elements==33);#endif}void CountTest::countif1(){  vector <int> numbers(100);  for(int i = 0; i < 100; i++)    numbers[i] = i % 3;  int elements = count_if(numbers.begin(), numbers.end(), odd);  CPPUNIT_ASSERT(elements==33);#if defined (STLPORT) && !defined (_STLP_NO_ANACHRONISMS)  elements = 0;  count_if(numbers.begin(), numbers.end(), odd, elements);  CPPUNIT_ASSERT(elements==33);#endif}int CountTest::odd(int a_){  return a_ % 2;}

⌨️ 快捷键说明

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