From c847237505ca1f174e4ed08f2133ad836d10b28f Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Sun, 23 Mar 2014 21:11:19 +0000 Subject: [PATCH] Using nested tie to workaround implementations with a maximum tuple size of 10. refs #182 --- src/blackmisc/avatcstation.h | 2 +- tests/blackmisc/testaviation.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/blackmisc/avatcstation.h b/src/blackmisc/avatcstation.h index 1ef45fe5c..76087af5e 100644 --- a/src/blackmisc/avatcstation.h +++ b/src/blackmisc/avatcstation.h @@ -338,7 +338,7 @@ namespace BlackMisc } // namespace // o.m_metar, o.m_voiceRoom -BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Aviation::CAtcStation, (o.m_callsign, o.m_controller, o.m_frequency, o.m_position, o.m_range, o.m_isOnline, o.m_distanceToPlane, o.m_atis, o.m_bookedFromUtc, o.m_bookedUntilUtc)) +BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Aviation::CAtcStation, (o.m_callsign, o.m_controller, o.m_frequency, o.m_position, o.m_range, o.m_isOnline, o.m_distanceToPlane, o.m_atis, o.m_bookedFromUtc, tie(o.m_bookedUntilUtc, o.m_metar, o.m_voiceRoom))) Q_DECLARE_METATYPE(BlackMisc::Aviation::CAtcStation) #endif // guard diff --git a/tests/blackmisc/testaviation.cpp b/tests/blackmisc/testaviation.cpp index df5e81fc3..5e6b70c30 100644 --- a/tests/blackmisc/testaviation.cpp +++ b/tests/blackmisc/testaviation.cpp @@ -168,6 +168,12 @@ namespace BlackMiscTest CCallsign call1("EDDS_N_APP"); CCallsign call2("eddsnapp"); QVERIFY2(call1 == call2, "Callsigns shall be equal"); + + CAtcStation atc1(c1, user1, f1, situation1.getPosition(), CLength(), false, QDateTime(), QDateTime(), CInformationMessage(CInformationMessage::ATIS, "foo")); + CAtcStation atc2(c1, user1, f1, situation1.getPosition(), CLength(), false, QDateTime(), QDateTime(), CInformationMessage(CInformationMessage::ATIS, "foo")); + CAtcStation atc3(c1, user1, f1, situation1.getPosition(), CLength(), false, QDateTime(), QDateTime(), CInformationMessage(CInformationMessage::ATIS, "bar")); + QVERIFY2(atc1 == atc2, "ATC stations shall be equal"); + QVERIFY2(atc1 != atc3, "ATC stations shall not be equal"); } } // namespace