Commit e4861860 authored by Don Gagne's avatar Don Gagne

Add offline to online test

parent 4e0a8403
...@@ -47,8 +47,6 @@ void MissionControllerManagerTest::cleanup(void) ...@@ -47,8 +47,6 @@ void MissionControllerManagerTest::cleanup(void)
void MissionControllerManagerTest::_initForFirmwareType(MAV_AUTOPILOT firmwareType) void MissionControllerManagerTest::_initForFirmwareType(MAV_AUTOPILOT firmwareType)
{ {
UnitTest::init();
LinkManager* linkMgr = LinkManager::instance(); LinkManager* linkMgr = LinkManager::instance();
Q_CHECK_PTR(linkMgr); Q_CHECK_PTR(linkMgr);
......
...@@ -36,12 +36,15 @@ MissionControllerTest::MissionControllerTest(void) ...@@ -36,12 +36,15 @@ MissionControllerTest::MissionControllerTest(void)
void MissionControllerTest::cleanup(void) void MissionControllerTest::cleanup(void)
{ {
delete _missionController; delete _missionController;
_missionController = NULL;
MissionControllerManagerTest::cleanup(); MissionControllerManagerTest::cleanup();
} }
void MissionControllerTest::_initForFirmwareType(MAV_AUTOPILOT firmwareType) void MissionControllerTest::_initForFirmwareType(MAV_AUTOPILOT firmwareType)
{ {
bool startController = false;
MissionControllerManagerTest::_initForFirmwareType(firmwareType); MissionControllerManagerTest::_initForFirmwareType(firmwareType);
_rgSignals[missionItemsChangedSignalIndex] = SIGNAL(missionItemsChanged()); _rgSignals[missionItemsChangedSignalIndex] = SIGNAL(missionItemsChanged());
...@@ -49,17 +52,22 @@ void MissionControllerTest::_initForFirmwareType(MAV_AUTOPILOT firmwareType) ...@@ -49,17 +52,22 @@ void MissionControllerTest::_initForFirmwareType(MAV_AUTOPILOT firmwareType)
_rgSignals[liveHomePositionAvailableChangedSignalIndex] = SIGNAL(liveHomePositionAvailableChanged(bool)); _rgSignals[liveHomePositionAvailableChangedSignalIndex] = SIGNAL(liveHomePositionAvailableChanged(bool));
_rgSignals[liveHomePositionChangedSignalIndex] = SIGNAL(liveHomePositionChanged(const QGeoCoordinate&)); _rgSignals[liveHomePositionChangedSignalIndex] = SIGNAL(liveHomePositionChanged(const QGeoCoordinate&));
if (!_missionController) {
startController = true;
_missionController = new MissionController(); _missionController = new MissionController();
Q_CHECK_PTR(_missionController); Q_CHECK_PTR(_missionController);
}
_multiSpy = new MultiSignalSpy(); _multiSpy = new MultiSignalSpy();
Q_CHECK_PTR(_multiSpy); Q_CHECK_PTR(_multiSpy);
QCOMPARE(_multiSpy->init(_missionController, _rgSignals, _cSignals), true); QCOMPARE(_multiSpy->init(_missionController, _rgSignals, _cSignals), true);
if (startController) {
_missionController->start(false /* editMode */); _missionController->start(false /* editMode */);
}
// All signals should some through on start // All signals should some through on start
QCOMPARE(_multiSpy->checkOnlySignalByMask(missionItemsChangedSignalMask | waypointLinesChangedSignalMask | liveHomePositionAvailableChangedSignalMask | liveHomePositionChangedSignalMask), true); QCOMPARE(_multiSpy->checkOnlySignalsByMask(missionItemsChangedSignalMask | waypointLinesChangedSignalMask | liveHomePositionAvailableChangedSignalMask | liveHomePositionChangedSignalMask), true);
_multiSpy->clearAllSignals(); _multiSpy->clearAllSignals();
QmlObjectListModel* missionItems = _missionController->missionItems(); QmlObjectListModel* missionItems = _missionController->missionItems();
...@@ -183,3 +191,28 @@ void MissionControllerTest::_testAddWayppointPX4(void) ...@@ -183,3 +191,28 @@ void MissionControllerTest::_testAddWayppointPX4(void)
{ {
_testAddWaypointWorker(MAV_AUTOPILOT_PX4); _testAddWaypointWorker(MAV_AUTOPILOT_PX4);
} }
void MissionControllerTest::_testOfflineToOnlineWorker(MAV_AUTOPILOT firmwareType)
{
// Start offline and add item
_missionController = new MissionController();
Q_CHECK_PTR(_missionController);
_missionController->start(true /* editMode */);
_missionController->addMissionItem(QGeoCoordinate(37.803784, -122.462276));
// Go online to empty vehicle
MissionControllerManagerTest::_initForFirmwareType(firmwareType);
// Make sure our offline mission items are still there
QCOMPARE(_missionController->missionItems()->count(), 2);
}
void MissionControllerTest::_testOfflineToOnlineAPM(void)
{
_testOfflineToOnlineWorker(MAV_AUTOPILOT_ARDUPILOTMEGA);
}
void MissionControllerTest::_testOfflineToOnlinePX4(void)
{
_testOfflineToOnlineWorker(MAV_AUTOPILOT_PX4);
}
...@@ -43,15 +43,19 @@ public: ...@@ -43,15 +43,19 @@ public:
private slots: private slots:
void cleanup(void); void cleanup(void);
void _testEmptyVehicleAPM(void); void _testOfflineToOnlineAPM(void);
void _testEmptyVehiclePX4(void); void _testOfflineToOnlinePX4(void);
void _testAddWayppointAPM(void);
void _testAddWayppointPX4(void);
private: private:
void _initForFirmwareType(MAV_AUTOPILOT firmwareType); void _initForFirmwareType(MAV_AUTOPILOT firmwareType);
void _testEmptyVehicleWorker(MAV_AUTOPILOT firmwareType); void _testEmptyVehicleWorker(MAV_AUTOPILOT firmwareType);
void _testAddWaypointWorker(MAV_AUTOPILOT firmwareType); void _testAddWaypointWorker(MAV_AUTOPILOT firmwareType);
void _testOfflineToOnlineWorker(MAV_AUTOPILOT firmwareType);
void _testEmptyVehicleAPM(void);
void _testEmptyVehiclePX4(void);
void _testAddWayppointAPM(void);
void _testAddWayppointPX4(void);
enum { enum {
missionItemsChangedSignalIndex = 0, missionItemsChangedSignalIndex = 0,
......
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