Test for cloning plan with procedures
This commit is contained in:
parent
14c729027c
commit
1a94f4858b
2 changed files with 28 additions and 0 deletions
|
@ -949,4 +949,30 @@ void FlightplanTests::testCloningFGFP()
|
||||||
CPPUNIT_ASSERT(fp2->legAtIndex(6)->waypoint()->source()->ident() == "PSA");
|
CPPUNIT_ASSERT(fp2->legAtIndex(6)->waypoint()->source()->ident() == "PSA");
|
||||||
CPPUNIT_ASSERT_EQUAL(7, fp2->numLegs());
|
CPPUNIT_ASSERT_EQUAL(7, fp2->numLegs());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void FlightplanTests::testCloningProcedures() {
|
||||||
|
// procedures not loaded, abandon test
|
||||||
|
if (!static_haveProcedures)
|
||||||
|
return;
|
||||||
|
|
||||||
|
static_factory = std::make_shared<TestFPDelegateFactory>();
|
||||||
|
FlightPlan::registerDelegateFactory(static_factory);
|
||||||
|
|
||||||
|
auto egkk = FGAirport::findByIdent("EGKK");
|
||||||
|
auto sid = egkk->findSIDWithIdent("SAM3P");
|
||||||
|
|
||||||
|
FlightPlanRef fp1 = makeTestFP("EGKK", "08R", "EGJJ", "27",
|
||||||
|
"");
|
||||||
|
auto ourDelegate = TestFPDelegateFactory::delegateForPlan(fp1);
|
||||||
|
|
||||||
|
fp1->setSID(sid);
|
||||||
|
auto fp2 = fp1->clone();
|
||||||
|
CPPUNIT_ASSERT(fp2->departureAirport()->ident() == "EGKK");
|
||||||
|
CPPUNIT_ASSERT(fp2->departureRunway()->ident() == "08R");
|
||||||
|
CPPUNIT_ASSERT(fp2->destinationAirport()->ident() == "EGJJ");
|
||||||
|
CPPUNIT_ASSERT(fp2->destinationRunway()->ident() == "27");
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT(fp2->legAtIndex(0)->waypoint()->source()->ident() == "08R");
|
||||||
|
CPPUNIT_ASSERT_EQUAL(fp2->sid()->ident(), string{"SAM3P"});
|
||||||
}
|
}
|
|
@ -51,6 +51,7 @@ class FlightplanTests : public CppUnit::TestFixture
|
||||||
CPPUNIT_TEST(loadFGFPWithProcedureIdents);
|
CPPUNIT_TEST(loadFGFPWithProcedureIdents);
|
||||||
CPPUNIT_TEST(testCloningBasic);
|
CPPUNIT_TEST(testCloningBasic);
|
||||||
CPPUNIT_TEST(testCloningFGFP);
|
CPPUNIT_TEST(testCloningFGFP);
|
||||||
|
CPPUNIT_TEST(testCloningProcedures);
|
||||||
|
|
||||||
// CPPUNIT_TEST(testParseICAORoute);
|
// CPPUNIT_TEST(testParseICAORoute);
|
||||||
// CPPUNIT_TEST(testParseICANLowLevelRoute);
|
// CPPUNIT_TEST(testParseICANLowLevelRoute);
|
||||||
|
@ -86,6 +87,7 @@ public:
|
||||||
void loadFGFPWithProcedureIdents();
|
void loadFGFPWithProcedureIdents();
|
||||||
void testCloningBasic();
|
void testCloningBasic();
|
||||||
void testCloningFGFP();
|
void testCloningFGFP();
|
||||||
|
void testCloningProcedures();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FG_FLIGHTPLAN_UNIT_TESTS_HXX
|
#endif // FG_FLIGHTPLAN_UNIT_TESTS_HXX
|
||||||
|
|
Loading…
Reference in a new issue