Files
qt5-legatus-legacy/Lts/Services/AreaEffectSimulation/ModuleTests/aes_test_booby_trap.h
T
2026-08-13 18:33:10 +02:00

48 lines
1.4 KiB
C++
Executable File

/**
* AES Function Topic Client test executable
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "aes_test_base.h"
namespace AreaEffectSimulation
{
class TestBoobyTrap final : public TestBase
, protected AreaEffectSimulation::Interface::Ftc::BoobyTrapModifyReplyHandler
, protected AreaEffectSimulation::Interface::Ftc::BoobyTrapRemoveReplyHandler
, protected AreaEffectSimulation::Interface::Ftc::BoobyTrapTriggerReplyHandler
{
Q_OBJECT
public:
explicit TestBoobyTrap(QObject *parent = nullptr);
bool init(int domainId, int exerciseId, int testId) override;
public Q_SLOTS:
void startTest() override { tryCreateBoobyTrap(); }
private Q_SLOTS:
void tryCreateBoobyTrap();
void tryModifyBoobyTrap();
void tryTriggerBoobyTrap();
void waitExpireBoobyTrap();
void tryRemoveBoobyTrap();
protected Q_SLOTS:
void boobyTrapChanged(const AreaEffectSimulation::BoobyTrap &data, DataModification modType);
protected:
void onBoobyTrapModifyReply(const Core::FunctionReplyObject &replyObject) override;
void onBoobyTrapRemoveReply(const Core::FunctionReplyObject &replyObject) override;
void onBoobyTrapTriggerReply(const Core::FunctionReplyObject &replyObject) override;
private:
bool checkBaseData(const AreaEffectSimulation::BoobyTrap &a,
const AreaEffectSimulation::BoobyTrap &b) const;
private:
AreaEffectSimulation::BoobyTrap m_btData;
};
} // namespace AreaEffectSimulation