/** * AES Function Topic Client test executable * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "aes_test_base.h" namespace AreaEffectSimulation { class TestOffRouteMine final : public TestBase , protected AreaEffectSimulation::Interface::Ftc::OffRouteMineModifyReplyHandler , protected AreaEffectSimulation::Interface::Ftc::OffRouteMineRemoveReplyHandler , protected AreaEffectSimulation::Interface::Ftc::OffRouteMineTriggerReplyHandler { Q_OBJECT public: explicit TestOffRouteMine(QObject *parent = nullptr); bool init(int domainId, int exerciseId, int testId) override; public Q_SLOTS: void startTest() override { tryCreateOffRouteMine(); } private Q_SLOTS: void tryCreateOffRouteMine(); void tryModifyOffRouteMine(); void tryTriggerOffRouteMine(); void waitExpireOffRouteMine(); void tryRemoveOffRouteMine(); protected Q_SLOTS: void offRouteMineChanged(const AreaEffectSimulation::OffRouteMine &data, DataModification modType); protected: void onOffRouteMineModifyReply(const Core::FunctionReplyObject &replyObject) override; void onOffRouteMineRemoveReply(const Core::FunctionReplyObject &replyObject) override; void onOffRouteMineTriggerReply(const Core::FunctionReplyObject &replyObject) override; private: bool checkBaseData(const AreaEffectSimulation::OffRouteMine &a, const AreaEffectSimulation::OffRouteMine &b) const; private: AreaEffectSimulation::OffRouteMine m_ormData; }; } // namespace AreaEffectSimulation