#ifndef GOLDBACHTESTER_H #define GOLDBACHTESTER_H #include #include #include class GoldbachModel; class QFileInfo; class GoldbachTester : public QCoreApplication { Q_OBJECT Q_DISABLE_COPY(GoldbachTester) protected: QMap models; int finishedModelCount = 0; public: explicit GoldbachTester(int &argc, char **argv); int run(); int testDirectory(const QString& dirPath); static int printHelp(); int testFile(const QFileInfo& fileInfo); int testContents(long long number, const QFileInfo& fileInfo); bool compareContents(GoldbachModel* goldbachModel, const QFileInfo& fileInfo); static QVector loadLines(const QFileInfo& fileInfo); protected slots: void modelFinished(long long sumCount); }; #endif // GOLDBACHTESTER_H