bool KawigiEdit_RunTest(int testNum, string p0, bool hasAnswer, int p1) { cout << "Test " << testNum << ": [" << "\"" << p0 << "\""; cout << "]" << endl; ColorfulCupcakesDivTwo *obj; int answer; obj = new ColorfulCupcakesDivTwo(); clock_t startTime = clock(); answer = obj->countArrangements(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 test56() { string cupcakes = "ACBACBABBCABCBABABACACABCBACBACBABCAC"; ColorfulCupcakesDivTwo* pObj = new ColorfulCupcakesDivTwo(); clock_t start = clock(); int result = pObj->countArrangements(cupcakes); clock_t end = clock(); delete pObj; int expected = 746183318; if(result == expected) { cout << "Test Case 56: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 56: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test47() { string cupcakes = "AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBACCCCCCCCCCCCCCCCB"; ColorfulCupcakesDivTwo* pObj = new ColorfulCupcakesDivTwo(); clock_t start = clock(); int result = pObj->countArrangements(cupcakes); clock_t end = clock(); delete pObj; int expected = 139077442; if(result == expected) { cout << "Test Case 47: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 0; } else { cout << "Test Case 47: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl; return 1; } }
int test32() { string cupcakes = "BAACBAAACBABBBCCAABBCAABAACCCAAAABAAAAACCBBBCAABCA"; ColorfulCupcakesDivTwo* pObj = new ColorfulCupcakesDivTwo(); clock_t start = clock(); int result = pObj->countArrangements(cupcakes); clock_t end = clock(); delete pObj; int expected = 612092993; 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; } }