Files
qt5-legatus-legacy/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/ModuleTest/ex_fq_wirkfeldplanung.cpp
T
2026-08-13 18:33:10 +02:00

60 lines
1.9 KiB
C++
Executable File

#include "ex_fq_wirkfeldplanung.h"
#include <QJsonDocument>
#include <QtTest/QTest>
#include <QJsonDocument>
#include <AdlerJson/telegrams.h>
#include "msgcompares.h"
#include <AdlerJson/generatetelegrams.h>
TestExFqWirkfeldplanung::TestExFqWirkfeldplanung()
{
}
QString TestExFqWirkfeldplanung::generateWirkfeldplanungMessage()
{
AdlerJson::ExAwesPlanning req;
GenerateTelegrams::addHeaderData(req, m_saaId);
GenerateTelegrams::generateEXFQBABBFK(req);
req.wirkfeldplanungData.feuerkampfReferenz = QStringLiteral("REF:2078669041");
QJsonObject messageObj =req.toJson();
QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson());
return message;
}
void TestExFqWirkfeldplanung::testExFqWirkfeldplanung()
{
qDebug() << "---------------------------------------";
qDebug() << "--- EX-FQ(BA-BB-FK) Wirkfeldplanung ---";
QString wirkfeldplanungMessage = generateWirkfeldplanungMessage();
qDebug() << "wirkfeldplanungMessage= " << wirkfeldplanungMessage;
QJsonDocument jsonDoc = QJsonDocument::fromJson(wirkfeldplanungMessage.toUtf8());
const QJsonObject jsonObj = jsonDoc.object();
QJsonObject dataObj = jsonObj[AdlerJson::JsonKeys::DATA()].toObject();
AdlerJson::WirkfeldplanungData wirkfeldplanungData;
bool bOk;
AdlerJson::wirkfeldplanungDataFromJson(dataObj, wirkfeldplanungData, bOk);
QString messageFromJson = QString::fromUtf8(QJsonDocument(dataObj).toJson());
qDebug() << "wirkfeldplanungMessage From Json= " << messageFromJson;
QCOMPARE(wirkfeldplanungData.feuerkampfReferenz, QStringLiteral("REF:2078669041") );
MsgCompares::compareZieldaten(wirkfeldplanungData.zieldaten);
QCOMPARE(wirkfeldplanungData.abfeuerungsArt, AdlerJson::Abfeuerungsart::A);
QCOMPARE(wirkfeldplanungData.forderung, ProjectDataManagement::L7_Request::VER);
QCOMPARE(wirkfeldplanungData.dauer, 30);
qDebug() << "--- Feuerkommandos: ---";
MsgCompares::compareFeuerkommando(wirkfeldplanungData.feuerkommando);
}