65 lines
2.1 KiB
C++
Executable File
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
|