mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-11-14 08:18:41 +00:00
96d4a3ecf7
Due to historical reasons, the code is in subfolder "1". With SVN removal, we place the code back and remove the annoying "1" folder.
55 lines
1.1 KiB
C++
55 lines
1.1 KiB
C++
#include "testlib.h"
|
|
#include <string>
|
|
#include <vector>
|
|
#include <sstream>
|
|
|
|
using namespace std;
|
|
|
|
bool compareWords(string a, string b)
|
|
{
|
|
vector<string> va, vb;
|
|
stringstream sa;
|
|
|
|
sa << a;
|
|
string cur;
|
|
while (sa >> cur)
|
|
va.push_back(cur);
|
|
|
|
stringstream sb;
|
|
sb << b;
|
|
while (sb >> cur)
|
|
vb.push_back(cur);
|
|
|
|
return (va == vb);
|
|
}
|
|
|
|
int main(int argc, char * argv[])
|
|
{
|
|
setName("compare files as sequence of tokens in lines");
|
|
registerTestlibCmd(argc, argv);
|
|
|
|
std::string strAnswer;
|
|
|
|
int n = 0;
|
|
while (!ans.eof())
|
|
{
|
|
std::string j = ans.readString();
|
|
|
|
if (j == "" && ans.eof())
|
|
break;
|
|
|
|
std::string p = ouf.readString();
|
|
strAnswer = p;
|
|
|
|
n++;
|
|
|
|
if (!compareWords(j, p))
|
|
quitf(_wa, "%d%s lines differ - expected: '%s', found: '%s'", n, englishEnding(n).c_str(), compress(j).c_str(), compress(p).c_str());
|
|
}
|
|
|
|
if (n == 1)
|
|
quitf(_ok, "single line: '%s'", compress(strAnswer).c_str());
|
|
|
|
quitf(_ok, "%d lines", n);
|
|
}
|