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

📄 copy_test.cpp

📁 symbian 上的stl_port进过编译的。
💻 CPP
字号:
#include <algorithm>#include <cstring>#include <vector>#include <iterator>#include "cppunit/cppunit_proxy.h"#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)using namespace std;#endif//// TestCase class//class CopyTest : public CPPUNIT_NS::TestCase{  CPPUNIT_TEST_SUITE(CopyTest);  CPPUNIT_TEST(copy_array);  CPPUNIT_TEST(copy_vector);  CPPUNIT_TEST(copy_insert);  CPPUNIT_TEST(copy_back);  CPPUNIT_TEST(copy_back_array);  CPPUNIT_TEST_SUITE_END();protected:  void copy_array();  void copy_vector();  void copy_insert();  void copy_back();  void copy_back_array();};CPPUNIT_TEST_SUITE_REGISTRATION(CopyTest);//// tests implementation//void CopyTest::copy_array(){  char string[23] = "A string to be copied.";  char result[23];  copy(string, string + 23, result);  CPPUNIT_ASSERT(!strncmp(string, result, 23));}void CopyTest::copy_vector(){  vector<int> v1(10);  for (int i = 0; (size_t)i < v1.size(); ++i)    v1[i] = i;  vector<int> v2(v1.size());  copy(v1.begin(), v1.end(), v2.begin());  CPPUNIT_ASSERT( v2 == v1 );}void CopyTest::copy_insert() {  vector<int> v1(10);  for (int loc = 0; (size_t)loc < v1.size(); ++loc)    v1[loc] = loc;  vector<int> v2;  insert_iterator<vector<int> > i(v2, v2.begin());  copy(v1.begin(), v1.end(), i);  CPPUNIT_ASSERT( v2 == v1 );}void CopyTest::copy_back(){  vector<int> v1(10);  for (int i = 0; (size_t)i < v1.size(); ++i)    v1[i] = i;  vector<int> v2(v1.size());  copy_backward(v1.begin(), v1.end(), v2.end());  CPPUNIT_ASSERT( v2 == v1 );}void CopyTest::copy_back_array(){  int numbers[5] = { 1, 2, 3, 4, 5 };  int result[5];  copy_backward(numbers, numbers + 5, (int*)result + 5);  CPPUNIT_ASSERT(result[0]==numbers[0]);  CPPUNIT_ASSERT(result[1]==numbers[1]);  CPPUNIT_ASSERT(result[2]==numbers[2]);  CPPUNIT_ASSERT(result[3]==numbers[3]);  CPPUNIT_ASSERT(result[4]==numbers[4]);}

⌨️ 快捷键说明

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