/** * AES Function Topic Client test executable * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "aes_test_base.h" namespace AreaEffectSimulation { class TestBCContamination final : public TestBase , protected AreaEffectSimulation::Interface::Ftc::BCContaminationModifyReplyHandler , protected AreaEffectSimulation::Interface::Ftc::BCContaminationRemoveReplyHandler { Q_OBJECT public: explicit TestBCContamination(QObject *parent = nullptr); bool init(int domainId, int exerciseId, int testId) override; public Q_SLOTS: void startTest() override { tryCreateBCContamination(); } private Q_SLOTS: void tryCreateBCContamination(); void tryModifyBCContamination(); void waitExpireBCContamination(); void tryRemoveBCContamination(); protected Q_SLOTS: void bCContaminationChanged(const AreaEffectSimulation::BCContamination &data, DataModification modType); protected: void onBCContaminationModifyReply(const Core::FunctionReplyObject &replyObject) override; void onBCContaminationRemoveReply(const Core::FunctionReplyObject &replyObject) override; private: bool checkBaseData(const AreaEffectSimulation::BCContamination &a, const AreaEffectSimulation::BCContamination &b) const; private: AreaEffectSimulation::BCContamination m_bcData; }; } // namespace AreaEffectSimulation