/** * ModuleTests for TimeLimeManagement * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include #include #include namespace ExerciseEventManagement { class EemTests : public QObject { Q_OBJECT public: explicit EemTests(QObject *parent = nullptr); ~EemTests() = default; bool init(int domainId, int exerciseId, int testId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: void tryCreateDynamicParticipantData(int participantId, ProjectDataManagement::VulnerabilityState vulnState, qint64 time, int chargeTypeId, ProjectDataManagement::StateChangeOriginator originator = ProjectDataManagement::StateChangeOriginator::Participant); void trySendFireEvent(); void trySendBiteMessage(); void trySendBuildingState(); void tryCreateIed(qint64 time); void checkEvents(const ProjectDataManagement::EventType &et, int expected); void failExit(); void ExitSuccess(); private: std::shared_ptr m_ddsConnector42; std::shared_ptr m_ppmDts; std::shared_ptr m_tabDts; std::shared_ptr m_bldDts; std::shared_ptr m_gimDts; std::shared_ptr m_dtc; bool m_bTestsSuccessful{true}; NGL::INGLLogger &m_logger; int m_testId{0}; }; } // namespace ExerciseEventManagement