/** * AES Function Topic Client test executable * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "aes_test_base.h" namespace AreaEffectSimulation { class TestDangerArea final : public TestBase , protected AreaEffectSimulation::Interface::Ftc::DangerAreaModifyReplyHandler , protected AreaEffectSimulation::Interface::Ftc::DangerAreaRemoveReplyHandler { Q_OBJECT public: explicit TestDangerArea(QObject *parent = nullptr); bool init(int domainId, int exerciseId, int testId) override; bool checkBaseData(const AreaEffectSimulation::DangerArea &a, const AreaEffectSimulation::DangerArea &b) const; public Q_SLOTS: void startTest() override { tryCreateDangerArea(); } private Q_SLOTS: void tryCreateDangerArea(); void tryModifyDangerArea(); void tryRemoveDangerArea(); protected Q_SLOTS: void dangerAreaChanged(const AreaEffectSimulation::DangerArea &data, DataModification modType); protected: void onDangerAreaModifyReply(const Core::FunctionReplyObject &replyObject) override; void onDangerAreaRemoveReply(const Core::FunctionReplyObject &replyObject) override; private: AreaEffectSimulation::DangerArea m_daData; static const std::string s_name; }; } // namespace AreaEffectSimulation