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;
}
Beispiel #2
0
// 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");
    }
}