📄 reviter_test.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 + -