17 using namespace swift::misc::aviation;
18 using namespace swift::misc::geo;
19 using namespace swift::misc::physical_quantities;
20 using namespace swift::misc::simulation;
34 void equalSituationTests();
37 void CTestInterpolatorMisc::setupTests()
42 QVERIFY2(gs1 == gs2,
"Expect equal setups");
43 const CLength l(100, CLengthUnit::m());
44 gs2.setMaxRenderedDistance(l);
45 QVERIFY2(gs1 != gs2,
"Expect unequal setups");
50 QVERIFY2(setup1 == setup2,
"Expect equal setups (per callsign)");
51 setup2.setEnabledAircraftParts(!setup2.isAircraftPartsEnabled());
52 QVERIFY2(setup1 != setup2,
"Expect unequal setups (per callsign)");
55 void CTestInterpolatorMisc::equalSituationTests()
58 CCoordinateGeodetic::fromWgs84(
"48° 21′ 13″ N",
"11° 47′ 09″ E", { 1487, CLengthUnit::ft() });
60 CCoordinateGeodetic::fromWgs84(
"48° 21′ 13″ N",
"11° 47′ 09″ E", { 1488, CLengthUnit::ft() });
62 CCoordinateGeodetic::fromWgs84(
"48° 21′ 14″ N",
"11° 47′ 09″ E", { 1487, CLengthUnit::ft() });
64 CAngle pitch(3.33, CAngleUnit::deg());
65 CAngle bank(-1.0, CAngleUnit::deg());
66 CHeading heading(270.0, CAngleUnit::deg());
75 QVERIFY2(s1.equalPbhAndVector(s2),
"Expect same PHB/Vector");
76 QVERIFY2(s1.equalPbhVectorAltitude(s2),
"Expect same PHB/Vector/Altitude");
77 QVERIFY2(sg1 == sg2,
"Expect the same situation");
82 QVERIFY2(!sg1.equalPbhVectorAltitude(s0),
"Expect different positions");
83 QVERIFY2(!sg2.equalPbhVectorAltitude(s0),
"Expect different positions");
86 for (
int i = 0; i < 361; i++)
88 pitch =
CAngle(i, CAngleUnit::deg());
91 QVERIFY2(s1.equalPbhVectorAltitude(s2),
"Pitch test, expect same PHB/Vector/Altitude");
92 pitch =
CAngle(i + 1, CAngleUnit::deg());
94 QVERIFY2(!s1.equalPbhVectorAltitude(s2),
"Pitch test, expect same PHB/Vector/Altitude");
100 for (
int i = 0; i < 361; i++)
102 bank =
CAngle(i, CAngleUnit::deg());
105 QVERIFY2(s1.equalPbhVectorAltitude(s2),
"Bank test, expect same PHB/Vector/Altitude");
106 bank =
CAngle(i + 1, CAngleUnit::deg());
108 QVERIFY2(!s1.equalPbhVectorAltitude(s2),
"Bank test, expect same PHB/Vector/Altitude");
114 for (
int i = 0; i < 361; i++)
116 heading =
CHeading(i, CAngleUnit::deg());
117 s1.setHeading(heading);
118 s2.setHeading(heading);
119 QVERIFY2(s1.equalPbhVectorAltitude(s2),
"Heading test, expect same PHB/Vector/Altitude");
120 heading =
CHeading(i + 1, CAngleUnit::deg());
121 s2.setHeading(heading);
122 QVERIFY2(!s1.equalPbhVectorAltitude(s2),
"Heading test, expect same PHB/Vector/Altitude");
130 #include "testinterpolatormisc.moc"
Interpolator related basic tests.
Value object encapsulating information of an aircraft's situation.
Value object encapsulating information of a callsign.
Heading as used in aviation, can be true or magnetic heading.
Physical unit angle (radians, degrees)
Physical unit length (length)
Value object for interpolator and rendering.
Value object for interpolator and rendering per callsign.
SWIFTTEST_MAIN(MiscTest::CTestInterpolatorMisc)
main