diff --git a/src/MissionManager/TransectStyleComplexItemTest.cc b/src/MissionManager/TransectStyleComplexItemTest.cc index de91ee364a1c331758be603dcfc239adc13018e5..9d659bb1e6ae66e5bf2dd55799fe23fad41d9736 100644 --- a/src/MissionManager/TransectStyleComplexItemTest.cc +++ b/src/MissionManager/TransectStyleComplexItemTest.cc @@ -209,6 +209,17 @@ void TransectStyleComplexItemTest::_testAltMode(void) QVERIFY(!_transectStyleItem->followTerrain()); } +void TransectStyleComplexItemTest::_testFollowTerrain(void) { + _multiSpy->clearAllSignals(); + _transectStyleItem->setFollowTerrain(true); + _transectStyleItem->cameraCalc()->distanceToSurface()->setRawValue(50); + _multiSpy->clearAllSignals(); + QVERIFY(_multiSpy->waitForSignalByIndex(lastSequenceNumberChangedIndex, 2000)); + QJsonArray ja; + _transectStyleItem->save(ja); + qDebug() << ja; +} + TestTransectStyleItem::TestTransectStyleItem(PlanMasterController* masterController, QObject* parent) : TransectStyleComplexItem (masterController, false /* flyView */, QStringLiteral("UnitTestTransect"), parent) , rebuildTransectsPhase1Called (false) diff --git a/src/MissionManager/TransectStyleComplexItemTest.h b/src/MissionManager/TransectStyleComplexItemTest.h index 6d7b1489636e9195ef4d6f2fcbca5a93e0f83476..7a2db15a70db9c99692dbb6794cf9e46fd5f6953 100644 --- a/src/MissionManager/TransectStyleComplexItemTest.h +++ b/src/MissionManager/TransectStyleComplexItemTest.h @@ -34,6 +34,7 @@ private slots: void _testRebuildTransects (void); void _testDistanceSignalling(void); void _testAltMode (void); + void _testFollowTerrain (void); private: enum { diff --git a/src/Terrain/TerrainQuery.h b/src/Terrain/TerrainQuery.h index 727d03562bc1325fe8fdc5e2cf2ea9e42dd966c6..a17c7d201d53aca272cfb14eea203ff4f94cebe5 100644 --- a/src/Terrain/TerrainQuery.h +++ b/src/Terrain/TerrainQuery.h @@ -294,3 +294,13 @@ private: QList _rgPathHeightInfo; TerrainPathQuery _pathQuery; }; + +/// +/// \brief The MockTerrainQuery class provides unit test responses for disconnected environment +/// +class MockTerrainQuery : public TerrainQueryInterface { +public: + void requestCoordinateHeights(const QList& coordinates) Q_DECL_OVERRIDE; + void requestPathHeights(const QGeoCoordinate& fromCoord, const QGeoCoordinate& toCoord) Q_DECL_OVERRIDE; + void requestCarpetHeights(const QGeoCoordinate& swCoord, const QGeoCoordinate& neCoord, bool statsOnly) Q_DECL_OVERRIDE; +};