// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #include #include "libvideostitch-gui/utils/panoutilities.hpp" class VideoStitchPanoSizeTest : public QObject { Q_OBJECT public: VideoStitchPanoSizeTest(); private Q_SLOTS: void testPanoSizeFromWidth(); void testPanoSizeFromHeight(); void testPanoSizeFromWidth_data(); void testPanoSizeFromHeight_data(); }; VideoStitchPanoSizeTest::VideoStitchPanoSizeTest() {} void VideoStitchPanoSizeTest::testPanoSizeFromWidth() { QFETCH(int, width); QFETCH(int, expectedWidth); QFETCH(int, expectedHeight); const VideoStitch::Util::PanoSize calculated = VideoStitch::Util::calculateSizeFromWidth(width); QCOMPARE(calculated.width, expectedWidth); QCOMPARE(calculated.height, expectedHeight); } void VideoStitchPanoSizeTest::testPanoSizeFromWidth_data() { QTest::addColumn("width"); QTest::addColumn("expectedWidth"); QTest::addColumn("expectedHeight"); QTest::newRow("Width 1920") << 1920 << 1920 << 960; QTest::newRow("Width 1024") << 1024 << 1024 << 512; QTest::newRow("Width 2048") << 2048 << 2048 << 1024; QTest::newRow("Width 101") << 101 << 100 << 50; QTest::newRow("Width 50") << 50 << 52 << 26; QTest::newRow("Width 333") << 333 << 332 << 166; QTest::newRow("Width 3558") << 3558 << 3560 << 1780; QTest::newRow("Width 21") << 21 << 20 << 10; QTest::newRow("Width 0") << 0 << 4 << 2; QTest::newRow("Width -1") << -1 << 4 << 2; } void VideoStitchPanoSizeTest::testPanoSizeFromHeight() { QFETCH(int, height); QFETCH(int, expectedWidth); QFETCH(int, expectedHeight); const VideoStitch::Util::PanoSize calculated = VideoStitch::Util::calculateSizeFromHeight(height); QCOMPARE(calculated.width, expectedWidth); QCOMPARE(calculated.height, expectedHeight); } void VideoStitchPanoSizeTest::testPanoSizeFromHeight_data() { QTest::addColumn("height"); QTest::addColumn("expectedWidth"); QTest::addColumn("expectedHeight"); QTest::newRow("Height 960") << 960 << 1920 << 960; QTest::newRow("Height 512") << 1024 << 2048 << 1024; QTest::newRow("Height 1024") << 2048 << 4096 << 2048; QTest::newRow("Height 101") << 101 << 204 << 102; QTest::newRow("Height 51") << 25 << 52 << 26; QTest::newRow("Height 333") << 166 << 332 << 166; QTest::newRow("Height 3558") << 1777 << 3556 << 1778; QTest::newRow("Height 21") << 21 << 44 << 22; QTest::newRow("Height 0") << 0 << 4 << 2; QTest::newRow("Height -1") << -1 << 4 << 2; } QTEST_APPLESS_MAIN(VideoStitchPanoSizeTest) #include "panoSizeTest.moc"