bool KawigiEdit_RunTest(int testNum, string p0, string p1, bool hasAnswer, string p2) { cout << "Test " << testNum << ": [" << "\"" << p0 << "\"" << "," << "\"" << p1 << "\""; cout << "]" << endl; FoxAndChess *obj; string answer; obj = new FoxAndChess(); clock_t startTime = clock(); answer = obj->ableToMove(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; }
// BEGIN CUT HERE void main( int argc, char* argv[] ) { { FoxAndChess theObject; eq(0, theObject.ableToMove("...", "..L"),"Impossible"); } { FoxAndChess theObject; eq(1, theObject.ableToMove("..R.", "R..."),"Impossible"); } { FoxAndChess theObject; eq(2, theObject.ableToMove(".L.R.R.", "L...R.R"),"Possible"); } { FoxAndChess theObject; eq(3, theObject.ableToMove(".L.R.", ".R.L."),"Impossible"); } { FoxAndChess theObject; eq(4, theObject.ableToMove("LRLLRLRLLRLLRLRLRL", "LRLLRLRLLRLLRLRLRL"),"Possible"); } { FoxAndChess theObject; eq(5, theObject.ableToMove("L", "."),"Impossible"); } }