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

📄 reviter_test.cpp

📁 stl的源码
💻 CPP
字号:
#include <vector>#include <list>#include <algorithm>#include "cppunit/cppunit_proxy.h"#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)using namespace std;#endif//// TestCase class//class ReviterTest : public CPPUNIT_NS::TestCase{  CPPUNIT_TEST_SUITE(ReviterTest);  CPPUNIT_TEST(reviter1);  CPPUNIT_TEST(reviter2);  CPPUNIT_TEST(revbit1);  CPPUNIT_TEST_SUITE_END();protected:  void reviter1();  void reviter2();  void revbit1();};CPPUNIT_TEST_SUITE_REGISTRATION(ReviterTest);//// tests implementation//void ReviterTest::reviter1(){  int array [] = { 1, 5, 2, 3 };  vector<int> v(array, array + 4);  typedef vector<int>::reverse_iterator reviter;  reviter r(v.rend());  r--;  CPPUNIT_ASSERT(*r-- == 1);  CPPUNIT_ASSERT(*r-- == 5);  CPPUNIT_ASSERT(*r-- == 2);  CPPUNIT_ASSERT(*r == 3);  CPPUNIT_ASSERT(r==v.rbegin());}void ReviterTest::reviter2(){  int array [] = { 1, 5, 2, 3 };  vector<int> v(array, array + 4);  vector<int>::reverse_iterator r;  r = v.rbegin();  CPPUNIT_ASSERT(*r++ == 3);  CPPUNIT_ASSERT(*r++ == 2);  CPPUNIT_ASSERT(*r++ == 5);  CPPUNIT_ASSERT(*r++ == 1);  CPPUNIT_ASSERT(r==v.rend());}void ReviterTest::revbit1(){  int array [] = { 1, 5, 2, 3 };  list<int> v(array, array + 4);  list<int>::reverse_iterator r(v.rbegin());  CPPUNIT_ASSERT(*r++ == 3);  CPPUNIT_ASSERT(*r++ == 2);  CPPUNIT_ASSERT(*r++ == 5);  CPPUNIT_ASSERT(*r++ == 1);  CPPUNIT_ASSERT(r==v.rend());}

⌨️ 快捷键说明

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