添加测试用例

This commit is contained in:
邹晓航
2014-12-23 09:55:13 +08:00
parent e6b17af0f7
commit 37ee21aeba
2 changed files with 74 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
#include "StringTest.h"
namespace TinySTL{
namespace StringTest{
void testCase1(){
const char *ptr = "hello world";
stdStr s1(ptr);
tsStr s2(ptr);
assert(TinySTL::Test::container_equal(s1, s2));
stdStr s3(ptr, 5);
tsStr s4(ptr, 5);
assert(TinySTL::Test::container_equal(s3, s4));
stdStr s5(10, 'z');
tsStr s6(10, 'z');
assert(TinySTL::Test::container_equal(s5, s6));
char arr[] = "zouxiaohang love cpp";
stdStr s7(std::begin(arr), std::end(arr));
tsStr s8(std::begin(arr), std::end(arr));
assert(TinySTL::Test::container_equal(s7, s8));
}
void testCase2(){
stdStr temp1("hello, world");
tsStr temp2("hello, world");
stdStr s1(temp1);
tsStr s2(temp2);
assert(TinySTL::Test::container_equal(s1, s2));
stdStr s3(std::move(s1));
tsStr s4(std::move(s2));
assert(TinySTL::Test::container_equal(s3, s4));
stdStr s5(temp1, 1);
tsStr s6(temp2, 1);
assert(TinySTL::Test::container_equal(s5, s6));
stdStr s7(temp1, 0, 5);
tsStr s8(temp2, 0, 5);
assert(TinySTL::Test::container_equal(s7, s8));
}
}
}
using namespace TinySTL::StringTest;
int main(){
testCase1();
testCase2();
system("pause");
return 0;
}

View File

@@ -0,0 +1,19 @@
#ifndef _STRING_TEST_H_
#define _STRING_TEST_H_
#include "TestUtil.h"
#include "../String.h"
#include <string>
#include <cassert>
#include <iterator>
namespace TinySTL{
namespace StringTest{
using stdStr = std::string;
using tsStr = TinySTL::string;
}
}
#endif