Ref T259, Ref T243 unify ground details when a new situation is received

This commit is contained in:
Klaus Basan
2018-04-04 05:15:11 +02:00
parent bc4875afbb
commit aa21d9ea92
3 changed files with 9 additions and 3 deletions

View File

@@ -938,7 +938,7 @@ namespace BlackCore
else if (client.hasCapability(CClient::FsdWithAircraftConfig))
{
const CAircraftPartsList parts = this->remoteAircraftParts(callsign);
if (!parts.isEmpty()) { correctedSituation.adjustGroundFlag(parts); }
if (!parts.isEmpty()) { correctedSituation.adjustGroundFlag(parts, true); }
}
}

View File

@@ -181,6 +181,12 @@ namespace BlackMisc
situationList.push_frontKeepLatestFirstAdjustOffset(situation, IRemoteAircraftProvider::MaxSituationsPerCallsign);
}
// unify all inbound ground information
if (situation.hasInboundGroundInformation())
{
situationList.setOnGroundDetails(situation.getOnGroundDetails());
}
// check sort order
Q_ASSERT_X(situationList.isSortedAdjustedLatestFirst(), Q_FUNC_INFO, "wrong sort order");
Q_ASSERT_X(situationList.size() <= IRemoteAircraftProvider::MaxSituationsPerCallsign, Q_FUNC_INFO, "Wrong size");

View File

@@ -117,11 +117,11 @@ namespace BlackMiscTest
}
CAircraftSituation s0 = situations[0];
s0.adjustGroundFlag(partsOnGround);
s0.adjustGroundFlag(partsOnGround, true);
QVERIFY2(s0.getOnGround(), "Supposed to be on ground");
s0 = situations[0];
s0.adjustGroundFlag(partsNotOnGround);
s0.adjustGroundFlag(partsNotOnGround, true);
QVERIFY2(!s0.getOnGround(), "Supposed to be not on ground");
qint64 distanceMs = -1;