From 6b6dabe8da14bef2c6e1f306d3c0125826752faa Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Tue, 6 May 2025 19:49:48 +0200 Subject: [PATCH] test: Add test for vfp import --- .../testflightplan/testflightplan.cpp | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/misc/aviation/testflightplan/testflightplan.cpp b/tests/misc/aviation/testflightplan/testflightplan.cpp index d71f22e77..f27f6175f 100644 --- a/tests/misc/aviation/testflightplan/testflightplan.cpp +++ b/tests/misc/aviation/testflightplan/testflightplan.cpp @@ -12,6 +12,7 @@ #include "misc/aviation/flightplan.h" #include "misc/aviation/selcal.h" #include "misc/network/voicecapabilities.h" +#include "misc/pq/literals.h" using namespace swift::misc::aviation; using namespace swift::misc::network; @@ -30,6 +31,9 @@ namespace MiscTest //! Flight plan altitude void flightPlanAltitude(); + + //! Import flightplan from vpilot vfp format + void importVpilotFlightplan(); }; void CTestFlightPlan::flightPlanRemarks() @@ -103,6 +107,36 @@ namespace MiscTest a = CAltitude(1600, CAltitude::MeanSeaLevel, CLengthUnit::m()); QVERIFY2(a.asFpICAOAltitudeString() == "M0160", "Expect M0160"); } + + void CTestFlightPlan::importVpilotFlightplan() + { + using namespace swift::misc::physical_quantities::Literals; + + const CFlightPlan fp = CFlightPlan::fromVPilotFormat(QStringLiteral( + "")); + + QCOMPARE_EQ(fp.getFlightRules(), CFlightPlan::VFR); + QCOMPARE_EQ(fp.getCruiseTrueAirspeed(), 115_kts); + QCOMPARE_EQ(fp.getOriginAirportIcao().getIcaoCode(), "EDRY"); + QCOMPARE_EQ(fp.getDestinationAirportIcao().getIcaoCode(), "EDDL"); + QCOMPARE_EQ(fp.getAlternateAirportIcao().getIcaoCode(), "EDDK"); + QCOMPARE_EQ(fp.getRemarks(), "/V/ TEST remark"); + QCOMPARE_EQ(fp.getRoute(), "WRB DOMUX"); + QCOMPARE_EQ(fp.getFuelTime(), CTime(3, 45, 0)); + QCOMPARE_EQ(fp.getEnrouteTime(), CTime(2, 28, 0)); + QCOMPARE_EQ(fp.getCruiseAltitude().asFpVatsimAltitudeString(), "FL055"); + QCOMPARE_EQ(fp.getTakeoffTimePlannedHourMin(), "17:44"); + + // Should not read aircraft type from vfp + QCOMPARE_EQ(fp.getAircraftInfo().getAircraftIcao().getAircraftType(), ""); + } } // namespace MiscTest //! main