// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #include #include #include #include #include #include #include "libvideostitch-gui/base/ptvMerger.hpp" class VideoStitchTemplateTest : public QObject { Q_OBJECT public: VideoStitchTemplateTest(); private Q_SLOTS: void testTemplate(); void testTemplate_data(); private: QString dataFolder; }; VideoStitchTemplateTest::VideoStitchTemplateTest() { dataFolder = QString("./data") + QDir::separator(); } void VideoStitchTemplateTest::testTemplate() { QFETCH(QString, templatePtv); QFETCH(QString, targetPtv); QFETCH(QString, resultPtv); QFETCH(QString, expectedPtv); VideoStitch::Helper::PtvMerger::saveMergedPtv((dataFolder + targetPtv).toStdString(), (dataFolder + templatePtv).toStdString(), (dataFolder + resultPtv).toStdString()); QFile expectedPtvFile((dataFolder + expectedPtv)); QFile resultPtvFile((dataFolder + expectedPtv)); QString expectedContent; QString resultContent; QVERIFY(expectedPtvFile.open(QIODevice::ReadOnly | QIODevice::Text)); expectedContent = QString(expectedPtvFile.readAll()); QVERIFY(resultPtvFile.open(QIODevice::ReadOnly | QIODevice::Text)); resultContent = QString(resultPtvFile.readAll()); qDebug() << expectedContent; qDebug() << resultContent; QCOMPARE(expectedContent, resultContent); } void VideoStitchTemplateTest::testTemplate_data() { QTest::addColumn("templatePtv"); QTest::addColumn("targetPtv"); QTest::addColumn("resultPtv"); QTest::addColumn("expectedPtv"); QTest::newRow("basic object") << "basic_template.ptv" << "basic_target.ptv" << "basic_result.ptv" << "basic_expectedresult.ptv"; QTest::newRow("empty target") << "basic_template.ptv" << "empty_target.ptv" << "emptytarget_result.ptv" << "basic_template.ptv"; QTest::newRow("empty template") << "empty_template.ptv" << "basic_target.ptv" << "emptytemplate_result.ptv" << "basic_target.ptv"; QTest::newRow("empty") << "empty_template.ptv" << "empty_target.ptv" << "empty_result.ptv" << "empty_target.ptv"; QTest::newRow("basic overwrite") << "overwrite_template.ptv" << "overwrite_target.ptv" << "overwrite_result.ptv" << "overwrite_template.ptv"; QTest::newRow("basic list") << "list_template.ptv" << "list_target.ptv" << "list_result.ptv" << "list_expectedresult.ptv"; QTest::newRow("basic list reverted") << "listreverted_template.ptv" << "listreverted_target.ptv" << "list_result.ptv" << "listreverted_expectedresult.ptv"; } QTEST_APPLESS_MAIN(VideoStitchTemplateTest) #include "templateTest.moc"