bool KawigiEdit_RunTest(int testNum, vector <string> p0, vector <int> p1, bool hasAnswer, string p2) { cout << "Test " << testNum << ": [" << "{"; for (int i = 0; int(p0.size()) > i; ++i) { if (i > 0) { cout << ","; } cout << "\"" << p0[i] << "\""; } cout << "}" << "," << "{"; for (int i = 0; int(p1.size()) > i; ++i) { if (i > 0) { cout << ","; } cout << p1[i]; } cout << "}"; cout << "]" << endl; EllysBulls *obj; string answer; obj = new EllysBulls(); clock_t startTime = clock(); answer = obj->getNumber(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[] ) { { string guessesARRAY[] = {"1234", "4321", "1111", "2222", "3333", "4444", "5555", "6666", "7777", "8888", "9999"}; vector <string> guesses( guessesARRAY, guessesARRAY+ARRSIZE(guessesARRAY) ); int bullsARRAY[] = {2, 1, 1, 0, 2, 0, 0, 0, 1, 0, 0}; vector <int> bulls( bullsARRAY, bullsARRAY+ARRSIZE(bullsARRAY) ); EllysBulls theObject; eq(0, theObject.getNumber(guesses, bulls),"1337"); } { string guessesARRAY[] = {"0000", "1111", "2222"}; vector <string> guesses( guessesARRAY, guessesARRAY+ARRSIZE(guessesARRAY) ); int bullsARRAY[] = {2, 2, 2}; vector <int> bulls( bullsARRAY, bullsARRAY+ARRSIZE(bullsARRAY) ); EllysBulls theObject; eq(1, theObject.getNumber(guesses, bulls),"Liar"); } { string guessesARRAY[] = {"666666", "666677", "777777", "999999"}; vector <string> guesses( guessesARRAY, guessesARRAY+ARRSIZE(guessesARRAY) ); int bullsARRAY[] = {2, 3, 1, 0}; vector <int> bulls( bullsARRAY, bullsARRAY+ARRSIZE(bullsARRAY) ); EllysBulls theObject; eq(2, theObject.getNumber(guesses, bulls),"Ambiguity"); } { string guessesARRAY[] = {"000", "987", "654", "321", "100", "010"}; vector <string> guesses( guessesARRAY, guessesARRAY+ARRSIZE(guessesARRAY) ); int bullsARRAY[] = {2, 1, 0, 0, 1, 1}; vector <int> bulls( bullsARRAY, bullsARRAY+ARRSIZE(bullsARRAY) ); EllysBulls theObject; eq(3, theObject.getNumber(guesses, bulls),"007"); } { string guessesARRAY[] = {"28", "92", "70", "30", "67", "63", "06", "65", "11", "06", "88", "48", "09", "65", "48", "08"}; vector <string> guesses( guessesARRAY, guessesARRAY+ARRSIZE(guessesARRAY) ); int bullsARRAY[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; vector <int> bulls( bullsARRAY, bullsARRAY+ARRSIZE(bullsARRAY) ); EllysBulls theObject; eq(4, theObject.getNumber(guesses, bulls),"54"); } { string guessesARRAY[] = {"0294884", "1711527", "2362216", "7666148", "7295642", "4166623", "1166638", "2767693", "8650248", "2486509", "6138934", "4018642", "6236742", "2961643", "8407361", "2097376", "6575410", "6071777", "3569948", "2606380"}; vector <string> guesses( guessesARRAY, guessesARRAY+ARRSIZE(guessesARRAY) ); int bullsARRAY[] = {1, 0, 1, 3, 4, 4, 3, 2, 1, 1, 0, 4, 4, 3, 0, 0, 0, 0, 2, 1}; vector <int> bulls( bullsARRAY, bullsARRAY+ARRSIZE(bullsARRAY) ); EllysBulls theObject; eq(5, theObject.getNumber(guesses, bulls),"4266642"); } }