#include #include using namespace std; #include "TestMyString.h" #define TEST_ITEM(x) \ result = x(); \ if(result==TEST_OK) {okCount++; cout << #x" OK" << endl;} \ else if(result==TEST_NG) {ngCount++; cout << #x" NG" << endl;}\ else {cout << #x" Not Implemented yet." << endl;} int TestMyString::assertEqualMyString(const MyString& mystr, const char* exp) { const char* lhsCharArray = mystr.getConstCharArray(); int result = strcmp(lhsCharArray, exp); if(result!=0) { cout << "ASSERT_EQUAL expected '" << exp << "', but was '" << lhsCharArray << "'" << endl; return TEST_NG; } return TEST_OK; } int TestMyString::testAll() { int result = 0; int okCount = 0; int ngCount = 0; TEST_ITEM(test001); TEST_ITEM(test002); TEST_ITEM(test003); TEST_ITEM(test004); TEST_ITEM(test005); TEST_ITEM(test101); TEST_ITEM(test102); TEST_ITEM(test103); TEST_ITEM(test104); TEST_ITEM(test201); TEST_ITEM(test202); TEST_ITEM(test301); TEST_ITEM(test302); TEST_ITEM(test303); TEST_ITEM(test304); TEST_ITEM(test305); TEST_ITEM(test401); TEST_ITEM(test402); TEST_ITEM(test501); TEST_ITEM(test502); TEST_ITEM(test503); TEST_ITEM(test504); TEST_ITEM(test601); TEST_ITEM(test701); TEST_ITEM(test702); TEST_ITEM(test703); cout << "=== TEST summary ===" << endl; cout << okCount+ngCount << " Tests done." << endl; cout << okCount << " OKs" << endl; cout << ngCount << " NGs" << endl; return 0; } int TestMyString::test001() { MyString str; return assertEqualMyString(str, ""); } int TestMyString::test002() { MyString str(""); return assertEqualMyString(str, ""); } int TestMyString::test003() { MyString str("hoge"); return assertEqualMyString(str, "hoge"); } int TestMyString::test004() { MyString str1(""); MyString str2(str1); return assertEqualMyString(str2, ""); } int TestMyString::test005() { MyString str1("hoge"); MyString str2(str1); return assertEqualMyString(str2, "hoge"); } int TestMyString::test101() { { MyString str; } return TEST_OK; } int TestMyString::test102() { { MyString str("hoge"); } return TEST_OK; } int TestMyString::test103() { { MyString str1(""); MyString str2(str1); } return TEST_OK; } int TestMyString::test104() { { MyString str1("hoge"); MyString str2(str1); } return TEST_OK; } int TestMyString::test201() { MyString str("ABC"); char c = str.getChar(1); if(c == 'B') return TEST_OK; return TEST_NG; } int TestMyString::test202() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test301() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test302() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test303() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test304() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test305() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test401() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test402() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test501() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test502() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test503() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test504() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test601() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test701() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test702() { // Implement HERE return TEST_NOT_IMPLEMENTED; } int TestMyString::test703() { // Implement HERE return TEST_NOT_IMPLEMENTED; }