330 lines
15 KiB
C++
Executable File
330 lines
15 KiB
C++
Executable File
#include "msgcompares.h"
|
|
#include "../telegrams.h"
|
|
|
|
#include <QtTest/QTest>
|
|
|
|
MsgCompares::MsgCompares()
|
|
{
|
|
|
|
}
|
|
|
|
void MsgCompares::compareZieldaten(const AdlerJson::Zieldaten& zieldaten)
|
|
{
|
|
qDebug() << "--- Begin compareZieldaten EX-L12 ---";
|
|
QCOMPARE(zieldaten.nummer, 7);
|
|
QCOMPARE(zieldaten.geometrie, ProjectDataManagement::L4_TargetGeometry::Point);
|
|
qDebug() << "--- koordinate ---";
|
|
QCOMPARE(zieldaten.koordinate.hoehe, 0);
|
|
QCOMPARE(zieldaten.koordinate.koordinate.latitude, 53.0672);
|
|
QCOMPARE(zieldaten.koordinate.koordinate.longitude, 8.86687);
|
|
qDebug() << "--- relativKoordinate ---";
|
|
QCOMPARE(zieldaten.relativKoordinate.hoehe, 5);
|
|
QCOMPARE(zieldaten.relativKoordinate.koordinate.latitude, 53.8);
|
|
QCOMPARE(zieldaten.relativKoordinate.koordinate.longitude, 8.8);
|
|
|
|
QCOMPARE(zieldaten.breiteRadius, 25);
|
|
QCOMPARE(zieldaten.tiefe, 26);
|
|
QCOMPARE(zieldaten.zielachse, 17);
|
|
QCOMPARE(zieldaten.zog, 7);
|
|
QCOMPARE(zieldaten.elemente, 1);
|
|
QCOMPARE(zieldaten.typ, QStringLiteral("PERS"));
|
|
QCOMPARE(zieldaten.subTyp, QStringLiteral("APERS"));
|
|
qDebug() << "--- End compareZieldaten EX-L12 ---";
|
|
}
|
|
|
|
void MsgCompares::compareFlugbahnpunkt0(const AdlerJson::Flugbahnpunkt &flugbahnpunkt)
|
|
{
|
|
QCOMPARE(flugbahnpunkt.xRelativ, 200.0);
|
|
QCOMPARE(flugbahnpunkt.yRelativ, 77.0);
|
|
QCOMPARE(flugbahnpunkt.zRelativ, 300.0);
|
|
QCOMPARE(flugbahnpunkt.zeit, 17.0);
|
|
}
|
|
void MsgCompares::compareFlugbahnpunkt1(const AdlerJson::Flugbahnpunkt &flugbahnpunkt)
|
|
{
|
|
QCOMPARE(flugbahnpunkt.xRelativ, 900.0);
|
|
QCOMPARE(flugbahnpunkt.yRelativ, 177.0);
|
|
QCOMPARE(flugbahnpunkt.zRelativ, 700.0);
|
|
QCOMPARE(flugbahnpunkt.zeit, 19.0);
|
|
}
|
|
|
|
void MsgCompares::compareStreuung(const AdlerJson::Streuungsdaten &streuung)
|
|
{
|
|
QCOMPARE(streuung.seitenstreuungH, 0.7);
|
|
QCOMPARE(streuung.laengsstreuungH, 0.3);
|
|
QCOMPARE(streuung.seitenstreuung, 0.7);
|
|
QCOMPARE(streuung.laengsstreuung, 7.7);
|
|
}
|
|
|
|
void MsgCompares::compareFeuerkommando(const AdlerJson::Feuerkommando &feuerkommando)
|
|
{
|
|
//QCOMPARE(feuerkommando.verein, QStringLiteral("AB7X"));
|
|
QCOMPARE(feuerkommando.typ, ProjectDataManagement::L26_EffectingSystemType::RRohr);
|
|
qDebug() << "feuerkommando.wirkmittel.size=" << feuerkommando.wirkmittel.size();
|
|
AdlerJson::WirkmittelFeuerkommando wfk = feuerkommando.wirkmittel[0];
|
|
QCOMPARE(wfk.kenner, ProjectDataManagement::L27_EffectorId::B1);
|
|
AdlerJson::KoordinateMitHoehe ap = wfk.auftreffpunkt;
|
|
QCOMPARE(ap.hoehe, 0);
|
|
QCOMPARE(ap.koordinate.latitude, 53.0672);
|
|
QCOMPARE(ap.koordinate.longitude, 8.86687);
|
|
QCOMPARE(wfk.flugzeit, 30);
|
|
QCOMPARE(wfk.gipfelhoehe, 377);
|
|
QCOMPARE(wfk.schussrichtung, 177);
|
|
|
|
compareFlugbahnpunkt0(wfk.flugbahnpunkt[0]);
|
|
compareFlugbahnpunkt1(wfk.flugbahnpunkt[1]);
|
|
compareStreuung(wfk.streuung);
|
|
|
|
MsgCompares::compareFeuerkommandoGeschosse(wfk.geschoss);
|
|
compareWirkmittelFeuerkommandoRakete (feuerkommando.wirkmittelRakete);
|
|
}
|
|
|
|
void MsgCompares::compareWirkmittelFeuerkommandoRakete(const QVector<AdlerJson::WirkmittelFeuerkommandoRakete> &wfrs)
|
|
{
|
|
qDebug() << "compareFeuerkommando Rakete"
|
|
<< ", wfrs.size=" << wfrs.size()
|
|
<< ", wfrs[0].treffpunkte,size=" << wfrs[0].treffpunkte.size();
|
|
|
|
AdlerJson::Treffpunkt treffpunkt = wfrs[0].treffpunkte[0];
|
|
QCOMPARE (treffpunkt.anzahl, 1);
|
|
QCOMPARE (treffpunkt.koordinate.koordinate.latitude , 5.5);
|
|
QCOMPARE (treffpunkt.koordinate.koordinate.longitude, 6.6);
|
|
QCOMPARE (treffpunkt.koordinate.hoehe, 7);
|
|
QCOMPARE (wfrs[0].kenner , ProjectDataManagement::L27_EffectorId::B1);
|
|
QCOMPARE (wfrs[0].flugzeit, 456.3);
|
|
QCOMPARE (wfrs[0].gipfelhoehe, 300);
|
|
QCOMPARE (wfrs[0].schussrichtung, 30.0);
|
|
QCOMPARE (wfrs[0].fallwinkel, 5);
|
|
QCOMPARE (wfrs[0].anflug, ProjectDataManagement::L48_TrajectoryRocket::Nominal);
|
|
}
|
|
|
|
void MsgCompares::compareFeuerkommandoGeschosse(const AdlerJson::FeuerkommandoGeschosse &feuerkommandoGeschosse)
|
|
{
|
|
QCOMPARE(feuerkommandoGeschosse.geschosssorte, QStringLiteral("Mine DM72"));
|
|
QCOMPARE(feuerkommandoGeschosse.ladung, QStringLiteral("M DM72"));
|
|
QCOMPARE(feuerkommandoGeschosse.zuender, QStringLiteral("Aufschlag BB DM371"));
|
|
QCOMPARE(feuerkommandoGeschosse.zuenderFunktion, QStringLiteral("AZoV"));
|
|
QCOMPARE(feuerkommandoGeschosse.zuenderZeit, 0);
|
|
QCOMPARE(feuerkommandoGeschosse.anzahl, 7);
|
|
QCOMPARE(feuerkommandoGeschosse.intervall, 1.0);
|
|
|
|
}
|
|
|
|
void MsgCompares::compareFeuerHaltDaten(const AdlerJson::FeuerHaltDaten &feuerHaltDaten)
|
|
{
|
|
QCOMPARE(feuerHaltDaten.kategorie, ProjectDataManagement::L22_FireHaltCategory::E);
|
|
QCOMPARE(feuerHaltDaten.feuerkampfReferenz, QStringLiteral("feuerHaltDaten"));
|
|
QCOMPARE(feuerHaltDaten.zpNummer, 5);
|
|
QCOMPARE(feuerHaltDaten.koordinate.latitude, 53.37791);
|
|
QCOMPARE(feuerHaltDaten.koordinate.longitude, 8.759);
|
|
QCOMPARE(feuerHaltDaten.radius, 50);
|
|
}
|
|
|
|
void MsgCompares::compareFeuerstellungsdatenKoordinaten(const QVector<AdlerJson::KoordinateMitHoehe> &koordinaten)
|
|
{
|
|
QCOMPARE(koordinaten[0].hoehe, 22);
|
|
QCOMPARE(koordinaten[0].koordinate.latitude, 53.37792);
|
|
QCOMPARE(koordinaten[0].koordinate.longitude, 8.760);
|
|
QCOMPARE(koordinaten[1].hoehe, 23);
|
|
QCOMPARE(koordinaten[1].koordinate.latitude, 53.37793);
|
|
QCOMPARE(koordinaten[1].koordinate.longitude, 8.761);
|
|
}
|
|
|
|
void MsgCompares::compareGeschosse(const QVector<AdlerJson::Geschoss> &geschosse)
|
|
{
|
|
QCOMPARE(geschosse[0].geschosssorte, QStringLiteral("Mine DM72"));
|
|
QCOMPARE(geschosse[0].zuender, QStringLiteral("Doppel DM183"));
|
|
QCOMPARE(geschosse[0].ladung, QStringLiteral("M DM72"));
|
|
QCOMPARE(geschosse[0].anzahl, 6);
|
|
|
|
QCOMPARE(geschosse[1].geschosssorte, QStringLiteral("Leucht DM116"));
|
|
QCOMPARE(geschosse[1].ladung, QStringLiteral("B L8A1"));
|
|
QCOMPARE(geschosse[1].zuender, QStringLiteral("Aufschlag BB DM371"));
|
|
QCOMPARE(geschosse[1].anzahl, 7);
|
|
}
|
|
|
|
void MsgCompares::compareFeuerstellungsdaten(const AdlerJson::Feuerstellungsdaten &feuerstellungsdaten)
|
|
{
|
|
QCOMPARE(feuerstellungsdaten.typ, ProjectDataManagement::L26_EffectingSystemType::RRohr);
|
|
QCOMPARE(feuerstellungsdaten.status, ProjectDataManagement::L28_Status::Einsatzbereit);
|
|
QCOMPARE(feuerstellungsdaten.feuereinheit.verein, QStringLiteral("verein ExFeuerstellungFS"));
|
|
QCOMPARE(feuerstellungsdaten.feuereinheit.r, 5);
|
|
QCOMPARE(feuerstellungsdaten.feuereinheit.oi, ProjectDataManagement::L19_Oi::F3);
|
|
QCOMPARE(feuerstellungsdaten.mittelpunkt.koordinate.latitude, 53.37791);
|
|
QCOMPARE(feuerstellungsdaten.mittelpunkt.koordinate.longitude, 8.759);
|
|
QCOMPARE(feuerstellungsdaten.mittelpunkt.hoehe, 20);
|
|
MsgCompares::compareFeuerstellungsdatenKoordinaten(feuerstellungsdaten.koordinaten);
|
|
MsgCompares::compareGeschosse(feuerstellungsdaten.geschosse);
|
|
|
|
}
|
|
|
|
void MsgCompares::compareWaffensystemdaten(const AdlerJson::Waffensystemdaten &waffensystemdaten)
|
|
{
|
|
QCOMPARE(waffensystemdaten.typ, ProjectDataManagement::L26_EffectingSystemType::RRohr);
|
|
QCOMPARE(waffensystemdaten.kenner, ProjectDataManagement::L27_EffectorId::B1);
|
|
QCOMPARE(waffensystemdaten.status, ProjectDataManagement::L28_Status::NichtEinsatzbereit);
|
|
QCOMPARE(waffensystemdaten.einheit.verein, QStringLiteral("AB7X"));
|
|
QCOMPARE(waffensystemdaten.einheit.r, 6);
|
|
QCOMPARE(waffensystemdaten.einheit.oi, ProjectDataManagement::L19_Oi::F6);
|
|
MsgCompares::compareGeschosse(waffensystemdaten.geschosse);
|
|
QCOMPARE(waffensystemdaten.koordinate.koordinate.latitude, 53.088354);
|
|
QCOMPARE(waffensystemdaten.koordinate.koordinate.longitude, 8.853092);
|
|
QCOMPARE(waffensystemdaten.koordinate.hoehe, 20);
|
|
|
|
QCOMPARE(waffensystemdaten.wirkungsbereich.grundrichtung, 1);
|
|
QCOMPARE(waffensystemdaten.wirkungsbereich.links, 2);
|
|
QCOMPARE(waffensystemdaten.wirkungsbereich.rechts, 3);
|
|
}
|
|
|
|
void MsgCompares::compareLadeplatzdaten(const AdlerJson::Ladeplatzdaten &ladeplatzdaten)
|
|
{
|
|
QCOMPARE(ladeplatzdaten.einheit.oi , ProjectDataManagement::L19_Oi::F3);
|
|
QCOMPARE(ladeplatzdaten.einheit.r, 5);
|
|
QCOMPARE(ladeplatzdaten.einheit.verein, QStringLiteral("verein StellungsmeldungLP"));
|
|
QCOMPARE(ladeplatzdaten.koordinate.koordinate.latitude, 53.37791);
|
|
QCOMPARE(ladeplatzdaten.koordinate.koordinate.longitude, 8.759);
|
|
QCOMPARE(ladeplatzdaten.koordinate.hoehe, 20);
|
|
MsgCompares::compareGeschosse(ladeplatzdaten.geschosse);
|
|
}
|
|
|
|
void MsgCompares::compareStellungswechseldaten(const AdlerJson::Stellungswechseldaten &stellungswechseldaten)
|
|
{
|
|
QCOMPARE(stellungswechseldaten.oi, ProjectDataManagement::L19_Oi::F3);
|
|
QCOMPARE(stellungswechseldaten.r, 5);
|
|
QCOMPARE(stellungswechseldaten.verein, QStringLiteral("verein ExStellungswechsel"));
|
|
}
|
|
|
|
void MsgCompares::compareZeitAb(const AdlerJson::Zeitangabe_DTG &zeit)
|
|
{
|
|
QCOMPARE(zeit.stunden, 5);
|
|
QCOMPARE(zeit.minuten, 35);
|
|
QCOMPARE(zeit.sekunden, 55);
|
|
QCOMPARE(zeit.tag, 12);
|
|
QCOMPARE(zeit.monat, 11);
|
|
QCOMPARE(zeit.jahr, 2025);
|
|
QCOMPARE(zeit.ZVz, QStringLiteral("ZVz"));
|
|
QCOMPARE(zeit.ZDS, QStringLiteral("ZDS"));
|
|
QCOMPARE(zeit.ZDM, QStringLiteral("ZDM"));
|
|
}
|
|
|
|
void MsgCompares::compareZeitBis(const AdlerJson::Zeitangabe_DTG &zeit)
|
|
{
|
|
QCOMPARE(zeit.stunden, 5);
|
|
QCOMPARE(zeit.minuten, 35);
|
|
QCOMPARE(zeit.sekunden, 55);
|
|
QCOMPARE(zeit.tag, 13);
|
|
QCOMPARE(zeit.monat, 11);
|
|
QCOMPARE(zeit.jahr, 2025);
|
|
QCOMPARE(zeit.ZVz, QStringLiteral("ZVz"));
|
|
QCOMPARE(zeit.ZDS, QStringLiteral("ZDS"));
|
|
QCOMPARE(zeit.ZDM, QStringLiteral("ZDM"));
|
|
}
|
|
|
|
void MsgCompares::compareKoordinaten(const QVector<AdlerJson::Koordinate> &koordinaten)
|
|
{
|
|
QCOMPARE ( koordinaten[0].latitude, 53.37792 );
|
|
QCOMPARE ( koordinaten[0].longitude, 8.760 );
|
|
QCOMPARE ( koordinaten[1].latitude, 53.37793 );
|
|
QCOMPARE ( koordinaten[1].longitude, 8.761 );
|
|
}
|
|
|
|
void MsgCompares::compareKoordinierungsdaten(const AdlerJson::Koordinierungsdaten &koordinierungsdaten)
|
|
{
|
|
QCOMPARE(koordinierungsdaten.art, ProjectDataManagement::L25_KindGuidingLine::NFA);
|
|
QCOMPARE(koordinierungsdaten.name, QStringLiteral("Name ExHqKoordinierungsmassnahme"));
|
|
QCOMPARE(koordinierungsdaten.truppenteil, QStringLiteral("Truppenteil ExHqKoordinierungsmassnahme"));
|
|
compareZeitAb(koordinierungsdaten.ab);
|
|
compareZeitBis(koordinierungsdaten.bis);
|
|
compareKoordinaten(koordinierungsdaten.koordinaten);
|
|
QCOMPARE(koordinierungsdaten.mittelpunkt.latitude, 53.37794);
|
|
QCOMPARE(koordinierungsdaten.mittelpunkt.longitude, 8.762);
|
|
QCOMPARE(koordinierungsdaten.radius, 66);
|
|
QCOMPARE(koordinierungsdaten.maxGipfel, 123);
|
|
}
|
|
|
|
void MsgCompares::compareFuehrungsdaten(const AdlerJson::Fuehrungsdaten &fuehrungsdaten)
|
|
{
|
|
QCOMPARE(fuehrungsdaten.art, AdlerJson::Art_L24::AO);
|
|
QCOMPARE(fuehrungsdaten.name, QStringLiteral("Name EX-HQ(G) Führungslinien und Grenzen"));
|
|
compareZeitAb(fuehrungsdaten.ab);
|
|
compareZeitBis(fuehrungsdaten.bis);
|
|
compareKoordinaten(fuehrungsdaten.koordinaten);
|
|
QCOMPARE(fuehrungsdaten.linkerNachbar, QStringLiteral("linker Nachbar"));
|
|
QCOMPARE(fuehrungsdaten.rechterNachbar, QStringLiteral("rechter Nachbar"));
|
|
}
|
|
|
|
void MsgCompares::compareTechnischeDaten(const AdlerJson::TechnischeDaten &technischeDaten)
|
|
{
|
|
QCOMPARE(technischeDaten.status, AdlerJson::Status_L32::INV);
|
|
QCOMPARE(technischeDaten.beschreibung, QStringLiteral("Beschreibung technischer Status"));
|
|
}
|
|
|
|
void MsgCompares::compareFreitextDaten(const AdlerJson::FreitextDaten &freitextDaten)
|
|
{
|
|
QCOMPARE(freitextDaten.text, QStringLiteral("Freier Text"));
|
|
}
|
|
|
|
void MsgCompares::compareManuelleQuittungDaten(const AdlerJson::ManuelleQuittungDaten &manuelleQuittungDaten)
|
|
{
|
|
QCOMPARE(manuelleQuittungDaten.feuerkampfreferenz, QStringLiteral("Manuelle Quittung"));
|
|
}
|
|
|
|
void MsgCompares::compareFlugbahnberechnungDaten(const AdlerJson::FlugBerechnungsDaten &flugbahnberechnungDaten)
|
|
{
|
|
qDebug() << "compareFlugbahnberechnungDaten 1";
|
|
QCOMPARE(flugbahnberechnungDaten.geschoss.geschosssorte, QStringLiteral("SMArt DM702"));
|
|
qDebug() << "compareFlugbahnberechnungDaten 2";
|
|
QCOMPARE(flugbahnberechnungDaten.geschoss.ladung, QStringLiteral("M DM72"));
|
|
QCOMPARE(flugbahnberechnungDaten.geschoss.zuender, QStringLiteral("Aufschlag DM241"));
|
|
QCOMPARE(flugbahnberechnungDaten.geschoss.zuenderFunktion, QStringLiteral("AZoV"));
|
|
qDebug() << "compareFlugbahnberechnungDaten 3";
|
|
//QCOMPARE(flugbahnberechnungDaten.geschoss.ladungsNummer, 4);
|
|
QCOMPARE(flugbahnberechnungDaten.sprenghoehe, 0);
|
|
qDebug() << "compareFlugbahnberechnungDaten 6";
|
|
QCOMPARE(flugbahnberechnungDaten.standort.hoehe, 55);
|
|
qDebug() << "compareFlugbahnberechnungDaten 7";
|
|
QCOMPARE(flugbahnberechnungDaten.standort.koordinate.latitude, 53.37787);
|
|
qDebug() << "compareFlugbahnberechnungDaten 8";
|
|
QCOMPARE(flugbahnberechnungDaten.standort.koordinate.longitude, 8.7573);
|
|
qDebug() << "compareFlugbahnberechnungDaten 9";
|
|
QCOMPARE(flugbahnberechnungDaten.waffensystem, ProjectDataManagement::L26_EffectingSystemType::RRohr);
|
|
qDebug() << "compareFlugbahnberechnungDaten 10";
|
|
qDebug() << "winkelgruppe=" << AdlerJson::winkelgruppeMap.key(flugbahnberechnungDaten.winkelgruppe);
|
|
QCOMPARE(flugbahnberechnungDaten.winkelgruppe, AdlerJson::Winkelgruppe::Untere);
|
|
}
|
|
|
|
void MsgCompares::compareFlugbahndaten(const AdlerJson::Flugbahndaten &flugbahndaten)
|
|
{
|
|
qDebug() << "compareFlugbahndaten";
|
|
QCOMPARE(flugbahndaten.fehlercode, AdlerJson::FlugbahnberechnungFehlercode::Ok);
|
|
qDebug() << "flugbahndaten.zielkoordinate.hoehe = "<< flugbahndaten.zielkoordinate.hoehe;
|
|
QCOMPARE(flugbahndaten.zielkoordinate.hoehe, 56);
|
|
QCOMPARE(flugbahndaten.zielkoordinate.koordinate.latitude, 52.482048);
|
|
QCOMPARE(flugbahndaten.zielkoordinate.koordinate.longitude, 11.583);
|
|
QCOMPARE(flugbahndaten.waffensystem, ProjectDataManagement::L26_EffectingSystemType::RRohr);
|
|
QCOMPARE(flugbahndaten.flugzeit, 300);
|
|
QCOMPARE(flugbahndaten.gipfelhoehe, 200);
|
|
QCOMPARE(flugbahndaten.schussrichtung, 45);
|
|
QCOMPARE(flugbahndaten.fallwinkel, 55);
|
|
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[0].zeit, 1);
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[0].xRelativ, 100);
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[0].yRelativ, 200);
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[0].zRelativ, 10);
|
|
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[1].zeit, 2);
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[1].xRelativ, 200);
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[1].yRelativ, 400);
|
|
QCOMPARE(flugbahndaten.flugbahnpunkt[1].zRelativ, 20);
|
|
|
|
QCOMPARE(flugbahndaten.streuung.laengsstreuung, 2.2);
|
|
QCOMPARE(flugbahndaten.streuung.seitenstreuung, 3.3);
|
|
QCOMPARE(flugbahndaten.streuung.laengsstreuungH, 4.4);
|
|
QCOMPARE(flugbahndaten.streuung.seitenstreuungH, 5.5);
|
|
QCOMPARE(flugbahndaten.geschoss.geschosssorte, QStringLiteral("Spreng DM121"));
|
|
QCOMPARE(flugbahndaten.geschoss.ladung, QStringLiteral("M DM72"));
|
|
QCOMPARE(flugbahndaten.geschoss.ladungsNummer, 5);
|
|
QCOMPARE(flugbahndaten.geschoss.zuender, QStringLiteral("Aufschlag DM241"));
|
|
QCOMPARE(flugbahndaten.geschoss.zuenderFunktion, QStringLiteral("AZoV"));
|
|
QCOMPARE(flugbahndaten.geschoss.zuenderZeit, 1000);
|
|
}
|