添加测试用例
This commit is contained in:
@@ -0,0 +1,49 @@
|
|||||||
|
#include "VectorTest.h"
|
||||||
|
|
||||||
|
namespace TinySTL{
|
||||||
|
namespace VectorTest{
|
||||||
|
|
||||||
|
void testCase1(){
|
||||||
|
stdVec<std::string> v1(10, "zxh");
|
||||||
|
tsVec<std::string> v2(10, "zxh");
|
||||||
|
assert(TinySTL::Test::container_equal(v1, v2));
|
||||||
|
|
||||||
|
stdVec<std::string> v3(10);
|
||||||
|
tsVec<std::string> v4(10);
|
||||||
|
assert(TinySTL::Test::container_equal(v3, v4));
|
||||||
|
|
||||||
|
std::array<std::string, 3> arr = { "abc", "def", "ghi" };
|
||||||
|
stdVec<std::string> v5(std::begin(arr), std::end(arr));
|
||||||
|
tsVec<std::string> v6(std::begin(arr), std::end(arr));
|
||||||
|
assert(TinySTL::Test::container_equal(v5, v6));
|
||||||
|
}
|
||||||
|
void testCase2(){
|
||||||
|
stdVec<int> temp1(10, 0);
|
||||||
|
tsVec<int> temp2(10, 0);
|
||||||
|
|
||||||
|
auto v1(temp1);
|
||||||
|
auto v2(temp2);
|
||||||
|
assert(TinySTL::Test::container_equal(v1, v2));
|
||||||
|
|
||||||
|
auto v3(std::move(temp1));
|
||||||
|
auto v4(std::move(temp2));
|
||||||
|
assert(TinySTL::Test::container_equal(v3, v4));
|
||||||
|
|
||||||
|
auto v5 = v1;
|
||||||
|
auto v6 = v2;
|
||||||
|
assert(TinySTL::Test::container_equal(v5, v6));
|
||||||
|
|
||||||
|
auto v7 = std::move(v3);
|
||||||
|
auto v8 = std::move(v4);
|
||||||
|
assert(TinySTL::Test::container_equal(v7, v8));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
using namespace TinySTL::VectorTest;
|
||||||
|
int main(){
|
||||||
|
testCase1();
|
||||||
|
testCase2();
|
||||||
|
system("pause");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef _VECTOR_TEST_H_
|
||||||
|
#define _VECTOR_TEST_H_
|
||||||
|
|
||||||
|
#include "../Vector.h"
|
||||||
|
#include "TestUtil.h"
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <cassert>
|
||||||
|
#include <iterator>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
using stdVec = std::vector < T > ;
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
using tsVec = TinySTL::vector < T > ;
|
||||||
|
|
||||||
|
namespace TinySTL{
|
||||||
|
namespace VectorTest{
|
||||||
|
void testCase1();
|
||||||
|
void testCase2();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user