#ifndef HEATTRANSMISSIONTESTER_H #define HEATTRANSMISSIONTESTER_H #include #include #include class Sheet; class QFileInfo; class HeatTransmissionTester : public QCoreApplication { Q_OBJECT Q_DISABLE_COPY(HeatTransmissionTester) protected: QMap sheets; int finishedSheetCount = 0; public: explicit HeatTransmissionTester(int &argc, char **argv); int run(); int testDirectory(const QString& dirPath); static int printHelp(); int testFile(const QFileInfo& fileInfo); int testContents(double epsilon, const QFileInfo& inputFileInfo, const QFileInfo& outputFileInfo); bool compareContents(Sheet* sheet, const QFileInfo& fileInfo); static double detectPrecisionDifference(const QString& outputCsvFilename); protected slots: void sheetFinished(unsigned long long generations); }; #endif // HEATTRANSMISSIONTESTER_H