#include "autotest_cod.h" const QList > &AutoTest_COD::getCollectedTestResults() const { return m_subtestResults; } void AutoTest_COD::recordResult(const QString &name, bool passed) { m_subtestResults.append({ name, passed }); } void AutoTest_COD::setFastFileDirectory(const QString aFastFileDir) { mFastFileDirectory = aFastFileDir; } QString AutoTest_COD::getFastFileDirectory() { return mFastFileDirectory; } void AutoTest_COD::setZoneFileDirectory(const QString aZoneFileDir) { mZoneFileDirectory = aZoneFileDir; } QString AutoTest_COD::getZoneFileDirectory() { return mZoneFileDirectory; } void AutoTest_COD::createDirectory(const QString aDir) { QDir newDir("."); newDir.mkpath(aDir); } QStringList AutoTest_COD::findZoneFiles(const QString &aBaseDir, int aMaxIter) { QList> fileList; QDirIterator it(aBaseDir, QStringList() << "*.zone", QDir::Files, QDirIterator::Subdirectories); int i = 0; while (it.hasNext() && i < aMaxIter) { QString path = it.next(); QFileInfo fi(path); fileList.append(qMakePair(fi.size(), path)); ++i; } std::sort(fileList.begin(), fileList.end(), [](const QPair &a, const QPair &b) { return a.first < b.first; // sort by size }); QStringList sorted; for (const auto &pair : fileList) sorted << pair.second; return sorted; } QStringList AutoTest_COD::findFastFiles(const QString &aBaseDir, int aMaxIter) { QList> fileList; QDirIterator it(aBaseDir, QStringList() << "*.ff", QDir::Files, QDirIterator::Subdirectories); int i = 0; while (it.hasNext() && i < aMaxIter) { QString path = it.next(); QFileInfo fi(path); fileList.append(qMakePair(fi.size(), path)); ++i; } std::sort(fileList.begin(), fileList.end(), [](const QPair &a, const QPair &b) { return a.first < b.first; // sort by size }); QStringList sorted; for (const auto &pair : fileList) sorted << pair.second; return sorted; } void AutoTest_COD::testDecompression_data() { QTest::addColumn("fastFilePath"); QStringList ffFiles = findFastFiles(getFastFileDirectory()); for (const QString &filePath : ffFiles) { QString fileName = QFileInfo(filePath).fileName(); QTest::newRow(qPrintable(fileName)) << filePath; } } void AutoTest_COD::testCompression_data() { QTest::addColumn("zoneFilePath"); QStringList zoneFiles = findZoneFiles(getZoneFileDirectory()); for (const QString &filePath : zoneFiles) { QString fileName = QFileInfo(filePath).fileName(); QTest::newRow(qPrintable(fileName)) << filePath; break; } } void AutoTest_COD::testFactory_data() { QTest::addColumn("fastFilePath"); QStringList ffFiles = findFastFiles(getFastFileDirectory()); for (const QString &filePath : ffFiles) { QString fileName = QFileInfo(filePath).fileName(); QTest::newRow(qPrintable(fileName)) << filePath; } }