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

52 lines
1.6 KiB
C++
Executable File

/**
* @RDE_HEADER@
* AES Function Topic Client test executable
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "aes_test_base.h"
namespace AreaEffectSimulation
{
class TestExplosionCluster final : public TestBase
, protected AreaEffectSimulation::Interface::Ftc::ExplosionClusterModifyReplyHandler
, protected AreaEffectSimulation::Interface::Ftc::ExplosionClusterPauseResumeReplyHandler
{
Q_OBJECT
public:
explicit TestExplosionCluster(QObject *parent = nullptr);
bool init(int domainId, int exerciseId, int testId) override;
public Q_SLOTS:
void startTest() override { tryCreateExplosionCluster(); }
private Q_SLOTS:
void tryCreateExplosionCluster();
// void tryModifyExplosionCluster();
void tryWaitForActivationExplosionCluster();
void tryPauseResumeExplosionCluster();
void checkTriggeredExplosions();
void checkTriggeredExplosionsHelper(int bitfield);
protected Q_SLOTS:
void explosionClusterChanged(const AreaEffectSimulation::ExplosionCluster &data, DataModification modType);
void triggeredImpactsChanged(const AreaEffectSimulation::TriggeredImpacts &data, DataModification modType);
protected:
void onExplosionClusterModifyReply(const Core::FunctionReplyObject &replyObject) override;
void onExplosionClusterPauseResumeReply(const Core::FunctionReplyObject &replyObject) override;
private:
bool checkBaseData(const AreaEffectSimulation::ExplosionCluster &a,
const AreaEffectSimulation::ExplosionCluster &b) const;
private:
AreaEffectSimulation::ExplosionCluster m_ecData;
AreaEffectSimulation::TriggeredImpacts m_tiData;
};
} // namespace AreaEffectSimulation