diff --git a/src/MissionManager/TransectStyleComplexItemTest.cc b/src/MissionManager/TransectStyleComplexItemTest.cc index 9adf4d582df9a8407346df689c384cf71513f7c2..de91ee364a1c331758be603dcfc239adc13018e5 100644 --- a/src/MissionManager/TransectStyleComplexItemTest.cc +++ b/src/MissionManager/TransectStyleComplexItemTest.cc @@ -12,22 +12,17 @@ TransectStyleComplexItemTest::TransectStyleComplexItemTest(void) { - _polygonVertices << QGeoCoordinate(47.633550640000003, -122.08982199) - << QGeoCoordinate(47.634129020000003, -122.08887249) - << QGeoCoordinate(47.633619320000001, -122.08811074) - << QGeoCoordinate(47.633189139999999, -122.08900124); } void TransectStyleComplexItemTest::init(void) { TransectStyleComplexItemTestBase::init(); - _transectStyleItem = new TransectStyleItem(_masterController, this); + _transectStyleItem = new TestTransectStyleItem(_masterController, this); _transectStyleItem->cameraTriggerInTurnAround()->setRawValue(false); _transectStyleItem->cameraCalc()->cameraName()->setRawValue(_transectStyleItem->cameraCalc()->customCameraName()); _transectStyleItem->cameraCalc()->valueSetIsDistance()->setRawValue(true); _transectStyleItem->cameraCalc()->distanceToSurface()->setRawValue(100); - _setSurveyAreaPolygon(); _transectStyleItem->setDirty(false); _rgSignals[cameraShotsChangedIndex] = SIGNAL(cameraShotsChanged()); @@ -85,7 +80,7 @@ void TransectStyleComplexItemTest::_testDirty(void) } rgFacts.clear(); - _adjustSurveAreaPolygon(); + _transectStyleItem->_adjustSurveAreaPolygon(); QVERIFY(_transectStyleItem->dirty()); _transectStyleItem->setDirty(false); QVERIFY(!_transectStyleItem->surveyAreaPolygon()->dirty()); @@ -98,20 +93,13 @@ void TransectStyleComplexItemTest::_testDirty(void) _multiSpy->clearAllSignals(); } -void TransectStyleComplexItemTest::_setSurveyAreaPolygon(void) -{ - for (const QGeoCoordinate vertex: _polygonVertices) { - _transectStyleItem->surveyAreaPolygon()->appendVertex(vertex); - } -} - void TransectStyleComplexItemTest::_testRebuildTransects(void) { // Changing the survey polygon should trigger: // _rebuildTransects calls // coveredAreaChanged signal // lastSequenceNumberChanged signal - _adjustSurveAreaPolygon(); + _transectStyleItem->_adjustSurveAreaPolygon(); QVERIFY(_transectStyleItem->rebuildTransectsPhase1Called); QVERIFY(_transectStyleItem->recalcCameraShotsCalled); // FIXME: Temproarily not possible @@ -176,7 +164,7 @@ void TransectStyleComplexItemTest::_testRebuildTransects(void) void TransectStyleComplexItemTest::_testDistanceSignalling(void) { - _adjustSurveAreaPolygon(); + _transectStyleItem->_adjustSurveAreaPolygon(); QVERIFY(_multiSpy->checkSignalsByMask(complexDistanceChangedMask | greatestDistanceToChangedMask)); _transectStyleItem->setDirty(false); _multiSpy->clearAllSignals(); @@ -195,12 +183,7 @@ void TransectStyleComplexItemTest::_testDistanceSignalling(void) rgFacts.clear(); } -void TransectStyleComplexItemTest::_adjustSurveAreaPolygon(void) -{ - QGeoCoordinate vertex = _transectStyleItem->surveyAreaPolygon()->vertexCoordinate(0); - vertex.setLatitude(vertex.latitude() + 1); - _transectStyleItem->surveyAreaPolygon()->adjustVertex(0, vertex); -} + void TransectStyleComplexItemTest::_testAltMode(void) { @@ -226,21 +209,38 @@ void TransectStyleComplexItemTest::_testAltMode(void) QVERIFY(!_transectStyleItem->followTerrain()); } -TransectStyleItem::TransectStyleItem(PlanMasterController* masterController, QObject* parent) +TestTransectStyleItem::TestTransectStyleItem(PlanMasterController* masterController, QObject* parent) : TransectStyleComplexItem (masterController, false /* flyView */, QStringLiteral("UnitTestTransect"), parent) , rebuildTransectsPhase1Called (false) , recalcComplexDistanceCalled (false) , recalcCameraShotsCalled (false) { - + // We use a 100m by 100m square test polygon + const double edgeDistance = 100; + surveyAreaPolygon()->appendVertex(QGeoCoordinate(-48.875556, -123.392500)); + surveyAreaPolygon()->appendVertex(surveyAreaPolygon()->vertexCoordinate(0).atDistanceAndAzimuth(edgeDistance, 90)); + surveyAreaPolygon()->appendVertex(surveyAreaPolygon()->vertexCoordinate(1).atDistanceAndAzimuth(edgeDistance, 180)); + surveyAreaPolygon()->appendVertex(surveyAreaPolygon()->vertexCoordinate(2).atDistanceAndAzimuth(edgeDistance, -90.0)); + _transects.append(QList{ + {surveyAreaPolygon()->vertexCoordinate(0), CoordTypeSurveyEntry}, + {surveyAreaPolygon()->vertexCoordinate(2), CoordTypeSurveyExit}} + ); } -void TransectStyleItem::_rebuildTransectsPhase1(void) +void TestTransectStyleItem::_rebuildTransectsPhase1(void) { rebuildTransectsPhase1Called = true; } -void TransectStyleItem::_recalcCameraShots(void) +void TestTransectStyleItem::_recalcCameraShots(void) { recalcCameraShotsCalled = true; } + +void TestTransectStyleItem::_adjustSurveAreaPolygon(void) +{ + QGeoCoordinate vertex = surveyAreaPolygon()->vertexCoordinate(0); + vertex.setLatitude(vertex.latitude() + 1); + surveyAreaPolygon()->adjustVertex(0, vertex); +} + diff --git a/src/MissionManager/TransectStyleComplexItemTest.h b/src/MissionManager/TransectStyleComplexItemTest.h index cd9907f2c6c08b9d0603220a5a77baa34a087c04..6d7b1489636e9195ef4d6f2fcbca5a93e0f83476 100644 --- a/src/MissionManager/TransectStyleComplexItemTest.h +++ b/src/MissionManager/TransectStyleComplexItemTest.h @@ -16,7 +16,7 @@ #include -class TransectStyleItem; +class TestTransectStyleItem; class TransectStyleComplexItemTest : public TransectStyleComplexItemTestBase { @@ -36,9 +36,6 @@ private slots: void _testAltMode (void); private: - void _setSurveyAreaPolygon (void); - void _adjustSurveAreaPolygon(void); - enum { // These signals are from TransectStyleComplexItem cameraShotsChangedIndex = 0, @@ -74,16 +71,15 @@ private: const char* _rgSignals[_cSignals]; MultiSignalSpy* _multiSpy = nullptr; - QList _polygonVertices; - TransectStyleItem* _transectStyleItem = nullptr; + TestTransectStyleItem* _transectStyleItem = nullptr; }; -class TransectStyleItem : public TransectStyleComplexItem +class TestTransectStyleItem : public TransectStyleComplexItem { Q_OBJECT public: - TransectStyleItem(PlanMasterController* masterController, QObject* parent = nullptr); + TestTransectStyleItem(PlanMasterController* masterController, QObject* parent = nullptr); // Overrides from ComplexMissionItem QString patternName (void) const final { return QString(); } @@ -98,6 +94,7 @@ public: bool rebuildTransectsPhase1Called; bool recalcComplexDistanceCalled; bool recalcCameraShotsCalled; + void _adjustSurveAreaPolygon(void); private slots: // Overrides from TransectStyleComplexItem