Commit d513ee26 authored by Remek Zajac's avatar Remek Zajac

refactor/prepare

parent ccedbbe5
......@@ -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<TransectStyleComplexItem::CoordInfo_t>{
{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);
}
......@@ -16,7 +16,7 @@
#include <QGeoCoordinate>
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<QGeoCoordinate> _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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment