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

65 lines
2.1 KiB
C++
Executable File

/**
* AES Function Topic Client test executable
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "aes_test_base.h"
namespace AreaEffectSimulation
{
class TestMineArea final
: public TestBase
, protected AreaEffectSimulation::Interface::Ftc::MineAreaModifyReplyHandler
, protected AreaEffectSimulation::Interface::Ftc::MineAreaRemoveReplyHandler
, protected AreaEffectSimulation::Interface::Ftc::MineResetReplyHandler
, protected AreaEffectSimulation::Interface::Ftc::MineTriggeredReplyHandler
, protected AreaEffectSimulation::Interface::Ftc::MineAreaReferenceModifyReplyHandler
{
Q_OBJECT
public:
explicit TestMineArea(QObject *parent = nullptr);
bool init(int domainId, int exerciseId, int testId) override;
public Q_SLOTS:
void startTest() override;
private Q_SLOTS:
void tryCreateMineArea();
void testMineData_11();
void testAddMineData_11();
void testMineData_21();
void testAddMineData_21();
void setSegmentForTesMineData();
void tryModifyMineArea();
void waitExpireMineArea();
void tryTriggerDusMineInBoth();
void tryCreateAnotherMineArea();
void tryCreateMineArea2(int chargeTypeId, double density = 0.2);
protected Q_SLOTS:
void mineAreaChanged(const AreaEffectSimulation::MineArea &data, DataModification modType);
protected:
void onMineAreaModifyReply(const Core::FunctionReplyObject &replyObject) override;
void onMineAreaRemoveReply(const Core::FunctionReplyObject &replyObject) override;
void onMineResetReply(const Core::FunctionReplyObject &replyObject) override;
void onMineTriggeredReply(const Core::FunctionReplyObject &replyObject) override;
void onMineAreaReferenceModifyReply(const Core::FunctionReplyObject &replyObject) override;
private:
bool checkBaseData(const AreaEffectSimulation::MineArea &a, const AreaEffectSimulation::MineArea &b) const;
private:
AreaEffectSimulation::MineArea m_maData;
QMap<int, std::vector<Core::GeoPosition2D>> m_mapSegmentForm;
int m_referencedAesItemId = 0;
int32_t m_wirkzeitMsec = 3 * 10 * 1000; // 30 sec
int m_currentMineId = 0;
};
} // namespace AreaEffectSimulation