bool KawigiEdit_RunTest(int testNum, vector<long long> p0, long long p1, bool hasAnswer, long long p2) { cout << "Test " << testNum << ": [" << "{"; for (int i = 0; int(p0.size()) > i; ++i) { if (i > 0) { cout << ","; } cout << p0[i]; } cout << "}" << "," << p1; cout << "]" << endl; XorCards *obj; long long answer; obj = new XorCards(); clock_t startTime = clock(); answer = obj->numberOfWays(p0, p1); 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" << p2 << endl; } cout << "Your answer:" << endl; cout << "\t" << answer << endl; if (hasAnswer) { res = answer == p2; } 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; }
bool do_test(vector<long long> number, long long limit, long long __expected, int caseNo) { cout << " Testcase #" << caseNo << " ... "; time_t startClock = clock(); XorCards *instance = new XorCards(); long long __result = instance->numberOfWays(number, limit); double elapsed = (double)(clock() - startClock) / CLOCKS_PER_SEC; delete instance; if (__result == __expected) { cout << "PASSED!" << " (" << elapsed << " seconds)" << endl; return true; } else { cout << "FAILED!" << " (" << elapsed << " seconds)" << endl; cout << " Expected: " << pretty_print(__expected) << endl; cout << " Received: " << pretty_print(__result) << endl; return false; } }