/**************************************************************************** * * (c) 2009-2016 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * ****************************************************************************/ #ifndef MissionControllerTest_H #define MissionControllerTest_H #include "UnitTest.h" #include "MockLink.h" #include "MissionManager.h" #include "MultiSignalSpy.h" #include "MissionControllerManagerTest.h" #include "PlanMasterController.h" #include "MissionController.h" #include "SimpleMissionItem.h" #include class MissionControllerTest : public MissionControllerManagerTest { Q_OBJECT public: MissionControllerTest(void); private slots: void cleanup(void); void _testGimbalRecalc(void); void _testLoadJsonSectionAvailable(void); void _testEmptyVehicleAPM(void); void _testEmptyVehiclePX4(void); void _testAddWayppointAPM(void); void _testAddWayppointPX4(void); private: #if 0 void _testOfflineToOnlineAPM(void); void _testOfflineToOnlinePX4(void); #endif private: void _initForFirmwareType(MAV_AUTOPILOT firmwareType); void _testEmptyVehicleWorker(MAV_AUTOPILOT firmwareType); void _testAddWaypointWorker(MAV_AUTOPILOT firmwareType); #if 0 void _testOfflineToOnlineWorker(MAV_AUTOPILOT firmwareType); #endif void _setupVisualItemSignals(VisualMissionItem* visualItem); // MissiomItems signals enum { coordinateChangedSignalIndex = 0, visualItemMaxSignalIndex }; enum { coordinateChangedSignalMask = 1 << coordinateChangedSignalIndex, visualItemMaxSignalMask = 1 << visualItemMaxSignalIndex, }; // MissionController signals enum { visualItemsChangedSignalIndex = 0, waypointLinesChangedSignalIndex, missionControllerMaxSignalIndex }; enum { visualItemsChangedSignalMask = 1 << visualItemsChangedSignalIndex, waypointLinesChangedSignalMask = 1 << waypointLinesChangedSignalIndex, }; MultiSignalSpy* _multiSpyMissionController; static const size_t _cMissionControllerSignals = missionControllerMaxSignalIndex; const char* _rgMissionControllerSignals[_cMissionControllerSignals]; MultiSignalSpy* _multiSpyMissionItem; static const size_t _cVisualItemSignals = visualItemMaxSignalIndex; const char* _rgVisualItemSignals[_cVisualItemSignals]; PlanMasterController* _masterController; MissionController* _missionController; }; #endif