12 #include "misc/aviation/flightplanaircraftinfo.h"
14 using namespace swift::misc::aviation;
31 void nonValidConvert();
36 QString m_icaoEquipment;
37 QString m_faaEquipment;
38 QString m_aircraftIcao;
44 QList<TestEntry> m_testEntries {
47 CComNavEquipment::Standard | CComNavEquipment::Dme | CComNavEquipment::DFisAcars |
48 CComNavEquipment::PdcAcars | CComNavEquipment::Adf | CComNavEquipment::Gnss |
49 CComNavEquipment::HfRtf | CComNavEquipment::InertiaNavigation |
50 CComNavEquipment::Pbn | CComNavEquipment::Rvsm | CComNavEquipment::Mnps |
51 CComNavEquipment::Vhf833),
52 CComNavEquipment::CpdlcSatcomEquipment()),
53 CSsrEquipment::SSrEquipment(CSsrEquipment::ModeSTypeL | CSsrEquipment::AdsBB1) },
56 CComNavEquipment::Standard | CComNavEquipment::Dme | CComNavEquipment::PdcAcars |
57 CComNavEquipment::Adf | CComNavEquipment::Gnss | CComNavEquipment::HfRtf |
58 CComNavEquipment::InertiaNavigation | CComNavEquipment::Pbn |
59 CComNavEquipment::Rvsm | CComNavEquipment::Mnps | CComNavEquipment::Vhf833),
60 CComNavEquipment::CpdlcSatcomEquipment(CComNavEquipment::AtcSatvoiceInmarsat |
61 CComNavEquipment::AtcSatvoiceMtsat)),
62 CSsrEquipment::SSrEquipment(CSsrEquipment::ModeSTypeL | CSsrEquipment::AdsBB1) },
64 CComNavEquipment(CComNavEquipment::ComNavEquipment(CComNavEquipment::VhfRtf | CComNavEquipment::Gnss |
65 CComNavEquipment::Dme),
66 CComNavEquipment::CpdlcSatcomEquipment()),
67 CSsrEquipment::SSrEquipment(CSsrEquipment::ModeAC) },
70 CComNavEquipment::Standard | CComNavEquipment::Gbas | CComNavEquipment::Dme |
71 CComNavEquipment::DFisAcars | CComNavEquipment::PdcAcars | CComNavEquipment::Adf |
72 CComNavEquipment::Gnss | CComNavEquipment::HfRtf |
73 CComNavEquipment::InertiaNavigation | CComNavEquipment::Pbn |
74 CComNavEquipment::Rvsm | CComNavEquipment::Mnps | CComNavEquipment::Vhf833),
75 CComNavEquipment::CpdlcSatcomEquipment(
76 CComNavEquipment::CpdlcFansVdlA | CComNavEquipment::CpdlcFansVdl2 |
77 CComNavEquipment::CpdlcFansSatcomInmarsat | CComNavEquipment::AtcSatvoiceInmarsat)),
78 CSsrEquipment::SSrEquipment(CSsrEquipment::ModeSTypeL | CSsrEquipment::AdsBB1 | CSsrEquipment::AdsCD1) }
82 void CTestFlightPlanAircraftInfo::icaoConvert()
84 for (
const TestEntry &entry : m_testEntries)
88 QVERIFY2(info.getAircraftIcao().hasDesignator(),
"Should have designator");
89 QVERIFY2(info.getAircraftIcao().getDesignator() == entry.m_aircraftIcao,
90 "Should have same aircraft ICAO code");
91 QCOMPARE(info.getWtc(), entry.m_wtc);
92 QCOMPARE(info.getComNavEquipment(), entry.m_equipment);
93 QCOMPARE(info.getSsrEquipment(), entry.m_ssrEquipment);
94 QCOMPARE(info.asIcaoString(), entry.m_icaoEquipment);
98 void CTestFlightPlanAircraftInfo::faaConvert()
100 for (
const TestEntry &entry : m_testEntries)
104 QVERIFY2(info.getAircraftIcao().hasDesignator(),
"Should have designator");
105 QCOMPARE(info.getAircraftIcao().getDesignator(), entry.m_aircraftIcao);
111 QCOMPARE(info.getWtc(), entry.m_wtc);
113 else { QVERIFY2(info.getWtc().isUnknown(),
"Should have UNKNOWN wake turbulence category"); }
117 QCOMPARE(info.asFaaString(), entry.m_faaEquipment);
121 void CTestFlightPlanAircraftInfo::nonValidConvert()
125 QCOMPARE(info.asFaaString(),
"A388/X");
126 QCOMPARE(info.asIcaoString(),
"A388/M-S/N");
130 QCOMPARE(info.asFaaString(),
"J/A388/X");
131 QCOMPARE(info.asIcaoString(),
"A388/J-S/N");
135 QCOMPARE(info.asFaaString(),
"H/A1/W");
136 QCOMPARE(info.asIcaoString(),
"A1/H-W/C");
140 QCOMPARE(info.asFaaString(),
"H//W");
141 QCOMPARE(info.asIcaoString(),
"/H-W/C");
145 QCOMPARE(info.asFaaString(),
"/W");
146 QCOMPARE(info.asIcaoString(),
"/M-W/C");
150 QCOMPARE(info.asFaaString(),
"/X");
151 QCOMPARE(info.asIcaoString(),
"/M-S/N");
155 QCOMPARE(info.asFaaString(),
"/X");
156 QCOMPARE(info.asIcaoString(),
"/M-S/N");
160 QCOMPARE(info.asFaaString(),
"/X");
161 QCOMPARE(info.asIcaoString(),
"/M-S/N");
165 QCOMPARE(info.asFaaString(),
"H/B744/L");
166 QCOMPARE(info.asIcaoString(),
"B744/H-GW/C");
170 QCOMPARE(info.asFaaString(),
"B738/W");
171 QCOMPARE(info.asIcaoString(),
"B738/M-W/C");
175 QCOMPARE(info.asFaaString(),
"DH8D/X");
176 QCOMPARE(info.asIcaoString(),
"DH8D/M-S/N");
180 QCOMPARE(info.asFaaString(),
"A346/X");
181 QCOMPARE(info.asIcaoString(),
"A346/M-S/N");
185 QCOMPARE(info.asFaaString(),
"H/B748/L");
186 QCOMPARE(info.asIcaoString(),
"B748/H-GW/C");
190 QCOMPARE(info.asFaaString(),
"H/B748/L");
191 QCOMPARE(info.asIcaoString(),
"B748/H-GW/C");
195 QCOMPARE(info.asFaaString(),
"H/B748/L");
196 QCOMPARE(info.asIcaoString(),
"B748/H-GW/C");
200 QCOMPARE(info.asFaaString(),
"A339/X");
201 QCOMPARE(info.asIcaoString(),
"A339/M-S/N");
205 QCOMPARE(info.asFaaString(),
"A339/X");
206 QCOMPARE(info.asIcaoString(),
"A339/M-S/N");
210 QCOMPARE(info.asFaaString(),
"B737/L");
211 QCOMPARE(info.asIcaoString(),
"B737/M-SDE2E3FGHIRWXY/LB1");
215 QCOMPARE(info.asFaaString(),
"B737/L");
216 QCOMPARE(info.asIcaoString(),
"B737/M-SDE2E3FGHIRWXY/LB1");
220 QCOMPARE(info.asFaaString(),
"B737/L");
221 QCOMPARE(info.asIcaoString(),
"B737/M-SDE2E3FGHIRWXY/LB1");
225 QCOMPARE(info.asFaaString(),
"B737/L");
226 QCOMPARE(info.asIcaoString(),
"B737/M-SDE2E3FGHIRWXY/LB1");
234 #include "testflightplanaircraftinfo.moc"
ICAO flightplan field 10a.
Flightplan-related information about an aircraft (aircraft ICAO, equipment and WTC)
ICAO flightplan field 10b.
ICAO wake turbulence category.
SWIFTTEST_APPLESS_MAIN(MiscTest::CTestFlightPlanAircraftInfo)
main