Ref T275 testaircraftsituation: repeat test 20 times to mitigate external influences.

This commit is contained in:
Mat Sutcliffe
2018-12-30 00:27:28 +00:00
parent 4f2579b812
commit 73d8cf392b

View File

@@ -229,12 +229,13 @@ namespace BlackMiscTest
void CTestAircraftSituation::sortHint() void CTestAircraftSituation::sortHint()
{ {
constexpr int Max = 50000; constexpr int Lists = 50000;
constexpr int Loops = 20;
CAircraftSituationList situations = testSituations(); CAircraftSituationList situations = testSituations();
situations.sortAdjustedLatestFirst(); situations.sortAdjustedLatestFirst();
CSequence<CAircraftSituationList> listOfLists1; CSequence<CAircraftSituationList> listOfLists1;
CSequence<CAircraftSituationList> listOfLists2; CSequence<CAircraftSituationList> listOfLists2;
for (int i = 0; i < Max; ++i) for (int i = 0; i < Lists; ++i)
{ {
listOfLists1.push_back(situations); listOfLists1.push_back(situations);
listOfLists2.push_back(situations); listOfLists2.push_back(situations);
@@ -245,20 +246,26 @@ namespace BlackMiscTest
QTime time; QTime time;
time.start(); time.start();
for (const CAircraftSituationList &s : as_const(listOfLists1)) for (int i = 0; i < Loops; ++i)
{ {
const CAircraftSituation s1 = s.oldestAdjustedObject(); for (const CAircraftSituationList &s : as_const(listOfLists1))
const CAircraftSituation s2 = s.latestAdjustedObject(); {
QVERIFY(s1.getAdjustedMSecsSinceEpoch() < s2.getAdjustedMSecsSinceEpoch()); const CAircraftSituation s1 = s.oldestAdjustedObject();
const CAircraftSituation s2 = s.latestAdjustedObject();
QVERIFY(s1.getAdjustedMSecsSinceEpoch() < s2.getAdjustedMSecsSinceEpoch());
}
} }
const int noHint = time.elapsed(); const int noHint = time.elapsed();
time.start(); time.start();
for (const CAircraftSituationList &s : as_const(listOfLists2)) for (int i = 0; i < Loops; ++i)
{ {
const CAircraftSituation s1 = s.oldestAdjustedObject(); for (const CAircraftSituationList &s : as_const(listOfLists2))
const CAircraftSituation s2 = s.latestAdjustedObject(); {
QVERIFY(s1.getAdjustedMSecsSinceEpoch() < s2.getAdjustedMSecsSinceEpoch()); const CAircraftSituation s1 = s.oldestAdjustedObject();
const CAircraftSituation s2 = s.latestAdjustedObject();
QVERIFY(s1.getAdjustedMSecsSinceEpoch() < s2.getAdjustedMSecsSinceEpoch());
}
} }
const int hint = time.elapsed(); const int hint = time.elapsed();
const double ratio = static_cast<double>(hint) / static_cast<double>(noHint); // expected <1.0 const double ratio = static_cast<double>(hint) / static_cast<double>(noHint); // expected <1.0