#include "msgcompares.h" #include "../telegrams.h" #include 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 &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 &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 &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 &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); }