#include "testlib.h" using namespace std; const string YES = "YES"; const string NO = "NO"; int main(int argc, char* argv[]) { setName("compare ordered sequences of YES or NO (case insensetive)"); registerTestlibCmd(argc, argv); int n = 0; while (!ans.seekEof() && !ouf.seekEof()) { n++; std::string ja = upperCase(ans.readWord()); std::string pa = upperCase(ouf.readWord()); if (ja != YES && ja != NO) quitf(_fail, "%d%s differ - %s or %s expected, but %s found", n, englishEnding(n).c_str(), YES.c_str(), NO.c_str(), compress(ja).c_str()); if (pa != YES && pa != NO) quitf(_pe, "%d%s differ - %s or %s expected, but %s found", n, englishEnding(n).c_str(), YES.c_str(), NO.c_str(), compress(pa).c_str()); if (ja != pa) quitf(_wa, "%d%s differ - expected: '%s', found: '%s'", n, englishEnding(n).c_str(), vtos(ja).c_str(), vtos(pa).c_str()); } int extraInAnsCount = 0; while (!ans.seekEof()) { ans.readToken(); extraInAnsCount++; } int extraInOufCount = 0; while (!ouf.seekEof()) { ouf.readToken(); extraInOufCount++; } if (extraInAnsCount > 0) quitf(_wa, "Answer contains longer sequence [length = %d], but output contains %d elements", n + extraInAnsCount, n); if (extraInOufCount > 0) quitf(_wa, "Output contains longer sequence [length = %d], but answer contains %d elements", n + extraInOufCount, n); quitf(_ok, "%d token(s)", n); }