/* * Copyright (C) 2020-2022 Roy Qu (royqh1979@gmail.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "problemcasevalidator.h" #include "../utils.h" ProblemCaseValidator::ProblemCaseValidator() { } bool ProblemCaseValidator::validate(POJProblemCase problemCase, bool ignoreSpaces) { if (!problemCase) return false; QStringList output = textToLines(problemCase->output); QStringList expected = textToLines(problemCase->expected); if (output.count()!=expected.count()) return false; for (int i=0;iunicode()!=0) { if (p->isSpace()) { if (!start->isSpace()) { result.append(QString(start,p-start)); } start = p; } else if (start->isSpace()) { start = p; } p++; } if (!start->isSpace()) { result.append(QString(start,p-start)); } return result; }