79 lines
2.3 KiB
C++
Executable File
79 lines
2.3 KiB
C++
Executable File
/**
|
|
* AES Function Topic Client test executable
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "aes_test_base.h"
|
|
|
|
namespace AreaEffectSimulation
|
|
{
|
|
class TestExplosionSingle : public TestBase
|
|
, protected AreaEffectSimulation::Interface::Ftc::ExplosionSingleModifyReplyHandler
|
|
, protected AreaEffectSimulation::Interface::Ftc::ExplosionSingleRemoveReplyHandler
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit TestExplosionSingle(QObject *parent = nullptr);
|
|
|
|
bool init(int domainId, int exerciseId, int testId) override;
|
|
public Q_SLOTS:
|
|
void startTest() override { tryCreateExplosionSingle(); }
|
|
private Q_SLOTS:
|
|
void tryCreateExplosionSingle();
|
|
void tryModifyExplosionSingle();
|
|
void waitExpireExplosionSingle();
|
|
protected Q_SLOTS:
|
|
void explosionSingleChanged(const AreaEffectSimulation::ExplosionSingle &data, DataModification modType);
|
|
protected:
|
|
void onExplosionSingleModifyReply(const Core::FunctionReplyObject &replyObject) override;
|
|
void onExplosionSingleRemoveReply(const Core::FunctionReplyObject &replyObject) override;
|
|
|
|
private:
|
|
bool checkBaseData(const AreaEffectSimulation::ExplosionSingle &a,
|
|
const AreaEffectSimulation::ExplosionSingle &b) const;
|
|
|
|
protected:
|
|
AreaEffectSimulation::ExplosionSingle m_esData;
|
|
};
|
|
|
|
|
|
class TestExplosionSingleTestVWM final : public TestExplosionSingle
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit TestExplosionSingleTestVWM(QObject *parent = nullptr);
|
|
|
|
void setName(const std::string &name) { m_name = name; }
|
|
void setAmmoId(int ammoId) { m_ammoId = ammoId; }
|
|
void setPosition(const Core::GeoPosition2D &position) { m_position = position; }
|
|
|
|
|
|
public Q_SLOTS:
|
|
void startTest() override
|
|
{
|
|
tryCreateExplosionSingleVWM(m_name, m_ammoId, m_position);
|
|
}
|
|
|
|
private Q_SLOTS:
|
|
void tryCreateExplosionSingleVWM(const std::string &esName = "Norbert",
|
|
int ammoId = 371,
|
|
const Core::GeoPosition2D &position = Core::GeoPosition2D(0.202603, 0.916049)
|
|
);
|
|
|
|
void onExplosionSingleCreateReply(const Core::FunctionReplyObject &replyObject);
|
|
|
|
private:
|
|
std::string m_name;
|
|
int m_ammoId{-1};
|
|
Core::GeoPosition2D m_position;
|
|
|
|
|
|
};
|
|
|
|
|
|
} // namespace AreaEffectSimulation
|