From ed820da20d6ee030248a9b7a8c3f9086e0c3c0ab Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 11 Feb 2017 03:13:49 +0100 Subject: [PATCH] refs #875, refs #879, class for test data (will be consolidated with existing utility classes) --- src/blackmisc/test/testdata.cpp | 75 +++++++++++++++++++++ src/blackmisc/test/testdata.h | 59 ++++++++++++++++ tests/blackcore/testblackcoremain.cpp | 9 +-- tests/blackgui/testblackguimain.cpp | 4 +- tests/blackmisc/main.cpp | 7 +- tests/blackmisc/testblackmiscmain.cpp | 16 +++-- tests/{blackcore => blackmisc}/testdbus.cpp | 12 ++-- tests/{blackcore => blackmisc}/testdbus.h | 4 +- 8 files changed, 157 insertions(+), 29 deletions(-) create mode 100644 src/blackmisc/test/testdata.cpp create mode 100644 src/blackmisc/test/testdata.h rename tests/{blackcore => blackmisc}/testdbus.cpp (87%) rename tests/{blackcore => blackmisc}/testdbus.h (95%) diff --git a/src/blackmisc/test/testdata.cpp b/src/blackmisc/test/testdata.cpp new file mode 100644 index 000000000..8679d3c88 --- /dev/null +++ b/src/blackmisc/test/testdata.cpp @@ -0,0 +1,75 @@ +/* Copyright (C) 2017 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "testdata.h" +#include "blackmisc/aviation/atcstationlist.h" + +using namespace BlackMisc::Aviation; +using namespace BlackMisc::Geo; +using namespace BlackMisc::Network; +using namespace BlackMisc::PhysicalQuantities; + +namespace BlackMisc +{ + namespace Test + { + const CCoordinateGeodetic &CTestData::coordinateMunichTower() + { + static const CCoordinateGeodetic c = CCoordinateGeodetic::fromWgs84("48° 21′ 13″ N", "11° 47′ 09″ E", { 1487, CLengthUnit::ft() }); + return c; + } + + const CCoordinateGeodetic &CTestData::coordinateFrankfurtTower() + { + static const CCoordinateGeodetic c = CCoordinateGeodetic::fromWgs84("50° 1' 18.38″ N", "8° 33' 23.24″ E", { 355, CLengthUnit::ft() }); + return c; + } + + const CAtcStationList &CTestData::getTowerStations() + { + static const CAtcStationList stations( + { + CAtcStation(CCallsign("EDDF_TWR"), CUser("654321", "Joe Bar"), + CFrequency(118.7, CFrequencyUnit::MHz()), CTestData::coordinateMunichTower(), CLength(50, CLengthUnit::km())), + CAtcStation(CCallsign("EDDM_TWR"), CUser("654321", "John Doe"), + CFrequency(119.9, CFrequencyUnit::MHz()), CTestData::coordinateFrankfurtTower(), CLength(50, CLengthUnit::km())) + }); + return stations; + } + + const CAtcStation &CTestData::getAtcStation() + { + return getTowerStations()[0]; + } + + const CCallsign &CTestData::getRandomAtcCallsign() + { + static const QList callsigns( + { + CCallsign("EDDM_TWR"), CCallsign("EDDM_APP"), CCallsign("EDDM_GND"), + CCallsign("EDDF_TWR"), CCallsign("EDDF_APP"), + CCallsign("EDDF_GND") + }); + int i = (rand() % (callsigns.size())); + return callsigns[i]; + } + + const CCallsign &CTestData::getRandomAircraftCallsign() + { + static const QList callsigns( + { + CCallsign("DEMBZ"), CCallsign("DLH123"), CCallsign("RYR635L"), + CCallsign("LGL974"), CCallsign("AUI129"), + CCallsign("CLX756") + }); + int i = (rand() % (callsigns.size())); + return callsigns[i]; + } + } // ns +} // ns diff --git a/src/blackmisc/test/testdata.h b/src/blackmisc/test/testdata.h new file mode 100644 index 000000000..5810652c3 --- /dev/null +++ b/src/blackmisc/test/testdata.h @@ -0,0 +1,59 @@ +/* Copyright (C) 2017 + * Swift Project Community / Contributors + * + * This file is part of Swift Project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKMISC_TEST_TESTDATA_H +#define BLACKMISC_TEST_TESTDATA_H + +#include "blackmisc/blackmiscexport.h" + +namespace BlackMisc +{ + namespace Aviation + { + class CAtcStation; + class CAtcStationList; + class CCallsign; + } + namespace Geo + { + class CCoordinateGeodetic; + } + + namespace Test + { + /*! + * Testdata for unit tests/data + */ + class BLACKMISC_EXPORT CTestData + { + public: + //! Munich tower coordinate + static const BlackMisc::Geo::CCoordinateGeodetic &coordinateMunichTower(); + + //! Frankfurt tower coordinate + static const BlackMisc::Geo::CCoordinateGeodetic &coordinateFrankfurtTower(); + + //! Tower stations + static const BlackMisc::Aviation::CAtcStationList &getTowerStations(); + + //! Get ATC station + static const BlackMisc::Aviation::CAtcStation &getAtcStation(); + + //! Get a random callsign (ATC) + static const BlackMisc::Aviation::CCallsign &getRandomAtcCallsign(); + + //! Get a random callsign (aircraft) + static const BlackMisc::Aviation::CCallsign &getRandomAircraftCallsign(); + }; + } // ns +} // ns + +#endif // guard diff --git a/tests/blackcore/testblackcoremain.cpp b/tests/blackcore/testblackcoremain.cpp index 818c7fb1d..11ac57cb7 100644 --- a/tests/blackcore/testblackcoremain.cpp +++ b/tests/blackcore/testblackcoremain.cpp @@ -18,8 +18,7 @@ #include "testnetwork.h" #include "testreaders.h" #include "testcontext.h" -#include "testdbus.h" -#include "blackmisc/test.h" +#include "blackmisc/test/test.h" #include #include @@ -27,12 +26,8 @@ namespace BlackCoreTest { int CBlackCoreTestMain::unitMain(int argc, char *argv[]) { - BlackMisc::CTest test(argc, argv); + BlackMisc::Test::CTest test(argc, argv); int status = 0; - { - CTestDBus dbusTests; - status |= test.exec(&dbusTests, "blackcore_dbus"); - } { CTestContext contextTests; status |= test.exec(&contextTests, "blackcore_context"); diff --git a/tests/blackgui/testblackguimain.cpp b/tests/blackgui/testblackguimain.cpp index ef2133640..5b4106e59 100644 --- a/tests/blackgui/testblackguimain.cpp +++ b/tests/blackgui/testblackguimain.cpp @@ -16,7 +16,7 @@ #include "testblackguimain.h" #include "testutils.h" -#include "blackmisc/test.h" +#include "blackmisc/test/test.h" #include #include @@ -28,7 +28,7 @@ namespace BlackGuiTest */ int CBlackGuiTestMain::unitMain(int argc, char *argv[]) { - BlackMisc::CTest test(argc, argv); + BlackMisc::Test::CTest test(argc, argv); int status = 0; { diff --git a/tests/blackmisc/main.cpp b/tests/blackmisc/main.cpp index 5818db194..182c23a72 100644 --- a/tests/blackmisc/main.cpp +++ b/tests/blackmisc/main.cpp @@ -8,11 +8,8 @@ */ //! \cond PRIVATE_TESTS - -/*! - * \file - * \ingroup testblackmisc - */ +//! \file +//! \ingroup testblackmisc #include "testblackmiscmain.h" #include "blackmisc/registermetadata.h" diff --git a/tests/blackmisc/testblackmiscmain.cpp b/tests/blackmisc/testblackmiscmain.cpp index 9f14f3bab..ab3946083 100644 --- a/tests/blackmisc/testblackmiscmain.cpp +++ b/tests/blackmisc/testblackmiscmain.cpp @@ -8,11 +8,8 @@ */ //! \cond PRIVATE_TESTS - -/*! - * \file - * \ingroup testblackmisc - */ +//! \file +//! \ingroup testblackmisc #include "testaviation.h" #include "testblackmiscmain.h" @@ -30,7 +27,8 @@ #include "testvaluecache.h" #include "testvariantandmap.h" #include "testweather.h" -#include "blackmisc/test.h" +#include "testdbus.h" +#include "blackmisc/test/test.h" #include #include @@ -42,7 +40,7 @@ namespace BlackMiscTest */ int CBlackMiscTestMain::unitMain(int argc, char *argv[]) { - BlackMisc::CTest test(argc, argv); + BlackMisc::Test::CTest test(argc, argv); int status = 0; { @@ -105,6 +103,10 @@ namespace BlackMiscTest CTestProcess processTests; status |= test.exec(&processTests, "blackmisc_process"); } + { + CTestDBus testDBus; + status |= test.exec(&testDBus, "blackmisc_dbus"); + } return status; } } // namespace diff --git a/tests/blackcore/testdbus.cpp b/tests/blackmisc/testdbus.cpp similarity index 87% rename from tests/blackcore/testdbus.cpp rename to tests/blackmisc/testdbus.cpp index b3770fa1d..108a02057 100644 --- a/tests/blackcore/testdbus.cpp +++ b/tests/blackmisc/testdbus.cpp @@ -16,16 +16,16 @@ #include "testdbus.h" #include "blackmisc/simulation/simulatedaircraftlist.h" -#include "blackcore/test/testutils.h" -#include "blackcore/test/testservice.h" -#include "blackcore/test/testserviceinterface.h" +#include "blackmisc/test/testutils.h" +#include "blackmisc/test/testservice.h" +#include "blackmisc/test/testserviceinterface.h" #include #include using namespace BlackMisc::Simulation; -using namespace BlackCore::Test; +using namespace BlackMisc::Test; -namespace BlackCoreTest +namespace BlackMiscTest { void CTestDBus::marshallUnmarshall() { @@ -38,7 +38,7 @@ namespace BlackCoreTest CTestService *testService = CTestService::registerTestService(connection, false, QCoreApplication::instance()); Q_UNUSED(testService); ITestServiceInterface testServiceInterface(CTestService::InterfaceName(), CTestService::ObjectPath(), connection); - int errors = ITestServiceInterface::pingTests(testServiceInterface, false); + const int errors = ITestServiceInterface::pingTests(testServiceInterface, false); QVERIFY2(errors == 0, "DBus Ping tests fail"); } diff --git a/tests/blackcore/testdbus.h b/tests/blackmisc/testdbus.h similarity index 95% rename from tests/blackcore/testdbus.h rename to tests/blackmisc/testdbus.h index e40dba890..05c4fccdf 100644 --- a/tests/blackcore/testdbus.h +++ b/tests/blackmisc/testdbus.h @@ -15,9 +15,9 @@ //! \cond PRIVATE_TESTS //! \file -//! \ingroup testblackcore +//! \ingroup testblackmisc -namespace BlackCoreTest +namespace BlackMiscTest { /*! * DBus implementation classes tests