bool KawigiEdit_RunTest(int testNum, string p0, bool hasAnswer, int p1) { cout << "Test " << testNum << ": [" << "\"" << p0 << "\""; cout << "]" << endl; StripePainter *obj; int answer; obj = new StripePainter(); clock_t startTime = clock(); answer = obj->minStrokes(p0); clock_t endTime = clock(); delete obj; bool res; res = true; cout << "Time: " << double(endTime - startTime) / CLOCKS_PER_SEC << " seconds" << endl; if (hasAnswer) { cout << "Desired answer:" << endl; cout << "\t" << p1 << endl; } cout << "Your answer:" << endl; cout << "\t" << answer << endl; if (hasAnswer) { res = answer == p1; } if (!res) { cout << "DOESN'T MATCH!!!!" << endl; } else if (double(endTime - startTime) / CLOCKS_PER_SEC >= 2) { cout << "FAIL the timeout" << endl; res = false; } else if (hasAnswer) { cout << "Match :-)" << endl; } else { cout << "OK, but is it right?" << endl; } cout << "" << endl; return res; }
int test32() { string stripes = "ABABABABCDEFGHIJKJHIGFEDABABABABCABABCAAAAABCABAAA"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 26; if(result == expected) { cout << "Test Case 32: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 32: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test29() { string stripes = "EACBDEBCEDFAFACFABAFEACDFCBEDECFEFADAEFE"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 24; if(result == expected) { cout << "Test Case 29: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 29: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test27() { string stripes = "GDBBKCKABKHJDDJEJHKAIGEKCKGAC"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 18; if(result == expected) { cout << "Test Case 27: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 27: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test26() { string stripes = "HAEBDFDFEEFEFBHIGGGBACFEIAFHFABAECBIFFDEAEFHACHCDF"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 30; if(result == expected) { cout << "Test Case 26: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 26: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test25() { string stripes = "EBEDBDEAAECDBEAECDBCCDCBCCECACAEDDAAEBCDCCDAAAAEDE"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 24; if(result == expected) { cout << "Test Case 25: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 25: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test23() { string stripes = "ADAEBCBCACBDEAACAEAEABCDABAABCEEBDDCDDDCBEBABDDDBC"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 24; if(result == expected) { cout << "Test Case 23: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 23: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test13() { string stripes = "ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 25; if(result == expected) { cout << "Test Case 13: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 13: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test21() { string stripes = "CIBIGBFBCGAEHFHGCFEEGGIGFIBIIAGFHEGBAHIIFIHDGEGIDF"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 30; if(result == expected) { cout << "Test Case 21: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 21: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test20() { string stripes = "DACHIGFHECADGCDFEIEHIDFCEGIIGFCDGDCFIIGCIIDCGFIGHG"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 30; if(result == expected) { cout << "Test Case 20: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 20: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test19() { string stripes = "DEJJEDAIJHBFCEGHFEADCJAIIGKBF"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 21; if(result == expected) { cout << "Test Case 19: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 19: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test18() { string stripes = "DBBFKDHEIGKJHGBJFEDCEHJHIGBEB"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 21; if(result == expected) { cout << "Test Case 18: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 18: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test17() { string stripes = "CGBBCDCGEAGCEEIAABHFCIKEHFBHG"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 19; if(result == expected) { cout << "Test Case 17: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 17: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test14() { string stripes = "JGXJFGDKGTCVGHJVGHJGDJGHVGHJFDGHJGFGHJ"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 26; if(result == expected) { cout << "Test Case 14: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 14: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test33() { string stripes = "BECBBDDEEBABDCADEAAEABCACBDBEECDEDEACACCBEDABEBACC"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 26; if(result == expected) { cout << "Test Case 33: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 33: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test3() { string stripes = "AABBCCDDCCBBAABBCCDD"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 7; if(result == expected) { cout << "Test Case 3: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 3: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test22() { string stripes = "CAACEBBABCBEBBCACAAEEBBAAEBAAEDCEEEBECAAEAECBCCDEB"; StripePainter* pObj = new StripePainter(); clock_t start = clock(); int result = pObj->minStrokes(stripes); clock_t end = clock(); delete pObj; int expected = 23; if(result == expected) { cout << "Test Case 22: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 22: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }