TestSuite: Migration of the old Navaids tests to the CppUnit framework.
This test suffers from significant bit-rot (it is designed for operation prior to the NavDataCache), so it is deactivated.
This commit is contained in:
parent
02c3c6dc97
commit
f8c2cb5284
6 changed files with 122 additions and 29 deletions
|
@ -66,6 +66,7 @@ include(Dart)
|
||||||
# System test suites.
|
# System test suites.
|
||||||
add_test(AeroMeshSystemTests ${TESTSUITE_OUTPUT_DIR}/run_test_suite --ctest -s AeroMeshTests)
|
add_test(AeroMeshSystemTests ${TESTSUITE_OUTPUT_DIR}/run_test_suite --ctest -s AeroMeshTests)
|
||||||
#add_test(GPSSystemTests ${TESTSUITE_OUTPUT_DIR}/run_test_suite --ctest -s GPSTests)
|
#add_test(GPSSystemTests ${TESTSUITE_OUTPUT_DIR}/run_test_suite --ctest -s GPSTests)
|
||||||
|
#add_test(NavaidsSystemTests ${TESTSUITE_OUTPUT_DIR}/run_test_suite --ctest -s NavaidsTests)
|
||||||
|
|
||||||
# Unit test suites.
|
# Unit test suites.
|
||||||
add_test(AddonManagementUnitTests ${TESTSUITE_OUTPUT_DIR}/run_test_suite --ctest -u AddonManagementTests)
|
add_test(AddonManagementUnitTests ${TESTSUITE_OUTPUT_DIR}/run_test_suite --ctest -u AddonManagementTests)
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
foreach( system_test_category
|
foreach( system_test_category
|
||||||
FDM
|
FDM
|
||||||
Instrumentation
|
Instrumentation
|
||||||
|
Navaids
|
||||||
)
|
)
|
||||||
|
|
||||||
add_subdirectory(${system_test_category})
|
add_subdirectory(${system_test_category})
|
||||||
|
|
12
test_suite/system_tests/Navaids/CMakeLists.txt
Normal file
12
test_suite/system_tests/Navaids/CMakeLists.txt
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
set(TESTSUITE_SOURCES
|
||||||
|
${TESTSUITE_SOURCES}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/TestSuite.cxx
|
||||||
|
#${CMAKE_CURRENT_SOURCE_DIR}/testnavs.cxx
|
||||||
|
PARENT_SCOPE
|
||||||
|
)
|
||||||
|
|
||||||
|
set(TESTSUITE_HEADERS
|
||||||
|
${TESTSUITE_HEADERS}
|
||||||
|
#${CMAKE_CURRENT_SOURCE_DIR}/testnavs.hxx
|
||||||
|
PARENT_SCOPE
|
||||||
|
)
|
24
test_suite/system_tests/Navaids/TestSuite.cxx
Normal file
24
test_suite/system_tests/Navaids/TestSuite.cxx
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Edward d'Auvergne
|
||||||
|
*
|
||||||
|
* This file is part of the program FlightGear.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "testnavs.hxx"
|
||||||
|
|
||||||
|
|
||||||
|
// Set up the unit tests.
|
||||||
|
//CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(NavaidsTests, "System tests");
|
|
@ -16,21 +16,28 @@
|
||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
#include <simgear/misc/sg_path.hxx>
|
#include <simgear/misc/sg_path.hxx>
|
||||||
|
|
||||||
#include "fixlist.hxx"
|
#include <Navaids/fixlist.hxx>
|
||||||
#include "ilslist.hxx"
|
//#include "ilslist.hxx"
|
||||||
#include "navlist.hxx"
|
#include <Navaids/navlist.hxx>
|
||||||
#include "mkrbeacons.hxx"
|
//#include "mkrbeacons.hxx"
|
||||||
|
|
||||||
// change this!
|
#include "test_suite/dataStore.hxx"
|
||||||
const string FG_DATA_DIR("/usr/local/lib/FlightGear");
|
|
||||||
|
|
||||||
int main() {
|
#include "testnavs.hxx"
|
||||||
|
|
||||||
|
|
||||||
|
void NavaidsTests::testNavs()
|
||||||
|
{
|
||||||
double heading, dist;
|
double heading, dist;
|
||||||
|
|
||||||
|
DataStore &data = DataStore::get();
|
||||||
|
|
||||||
FGNavList *current_navlist = new FGNavList;
|
FGNavList *current_navlist = new FGNavList;
|
||||||
SGPath p_nav( FG_DATA_DIR + "/Navaids/default.nav" );
|
SGPath p_nav = data.getFGRoot() / "/Navaids/default.nav";
|
||||||
|
|
||||||
current_navlist->init( p_nav );
|
current_navlist->init( p_nav );
|
||||||
|
|
||||||
|
@ -39,10 +46,10 @@ int main() {
|
||||||
45.14 * SG_DEGREES_TO_RADIANS,
|
45.14 * SG_DEGREES_TO_RADIANS,
|
||||||
3000, 117.30)) != NULL )
|
3000, 117.30)) != NULL )
|
||||||
{
|
{
|
||||||
cout << "Found a vor station in range" << endl;
|
std::cout << "Found a vor station in range" << std::endl;
|
||||||
cout << " id = " << n->get_ident() << endl;
|
std::cout << " id = " << n->get_ident() << std::endl;
|
||||||
} else {
|
} else {
|
||||||
cout << "not picking up vor. :-(" << endl;
|
std::cout << "not picking up vor. :-(" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
FGNavRecord *dcs;
|
FGNavRecord *dcs;
|
||||||
|
@ -51,12 +58,12 @@ int main() {
|
||||||
55.9 * SG_DEGREES_TO_RADIANS))
|
55.9 * SG_DEGREES_TO_RADIANS))
|
||||||
!= NULL ) {
|
!= NULL ) {
|
||||||
|
|
||||||
cout << "Found DCS by ident" << endl;
|
std::cout << "Found DCS by ident" << std::endl;
|
||||||
if (dcs->get_freq() != 11520)
|
if (dcs->get_freq() != 11520)
|
||||||
cout << "Frequency for DCS VOR is wrong (should be 115.20), it's "
|
std::cout << "Frequency for DCS VOR is wrong (should be 115.20), it's "
|
||||||
<< dcs->get_freq() << endl;
|
<< dcs->get_freq() << std::endl;
|
||||||
} else {
|
} else {
|
||||||
cout << "couldn't locate DCS (Dean-Cross) VOR" << endl;
|
std::cout << "couldn't locate DCS (Dean-Cross) VOR" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we have to init the marker beacon storage before we parse the ILS file
|
// we have to init the marker beacon storage before we parse the ILS file
|
||||||
|
@ -64,21 +71,21 @@ int main() {
|
||||||
current_beacons->init();
|
current_beacons->init();
|
||||||
|
|
||||||
FGILSList *current_ilslist = new FGILSList;
|
FGILSList *current_ilslist = new FGILSList;
|
||||||
SGPath p_ils( FG_DATA_DIR + "/Navaids/default.ils" );
|
SGPath p_ils = data.getFGRoot() / "/Navaids/default.ils";
|
||||||
current_ilslist->init( p_ils );
|
current_ilslist->init( p_ils );
|
||||||
FGILS *i = current_ilslist->findByFreq( -93.1 * SG_DEGREES_TO_RADIANS,
|
FGILS *i = current_ilslist->findByFreq( -93.1 * SG_DEGREES_TO_RADIANS,
|
||||||
45.24 * SG_DEGREES_TO_RADIANS,
|
45.24 * SG_DEGREES_TO_RADIANS,
|
||||||
3000, 110.30);
|
3000, 110.30);
|
||||||
if ( i != NULL ) {
|
if ( i != NULL ) {
|
||||||
cout << "Found an ils station in range" << endl;
|
std::cout << "Found an ils station in range" << std::endl;
|
||||||
cout << " apt = " << i->get_aptcode() << endl;
|
std::cout << " apt = " << i->get_aptcode() << std::endl;
|
||||||
cout << " rwy = " << i->get_rwyno() << endl;
|
std::cout << " rwy = " << i->get_rwyno() << std::endl;
|
||||||
} else {
|
} else {
|
||||||
cout << "not picking up ils. :-(" << endl;
|
std::cout << "not picking up ils. :-(" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
FGFixList *current_fixlist = new FGFixList;
|
FGFixList *current_fixlist = new FGFixList;
|
||||||
SGPath p_fix( FG_DATA_DIR + "/Navaids/default.fix" );
|
SGPath p_fix = data.getFGRoot() / "/Navaids/default.fix";
|
||||||
current_fixlist->init( p_fix );
|
current_fixlist->init( p_fix );
|
||||||
FGFix fix;
|
FGFix fix;
|
||||||
|
|
||||||
|
@ -90,11 +97,11 @@ int main() {
|
||||||
53.698 * SG_DEGREES_TO_RADIANS,
|
53.698 * SG_DEGREES_TO_RADIANS,
|
||||||
3000, &fix, &heading, &dist) )
|
3000, &fix, &heading, &dist) )
|
||||||
{
|
{
|
||||||
cout << "Found a matching fix" << endl;
|
std::cout << "Found a matching fix" << std::endl;
|
||||||
cout << " id = " << fix.get_ident() << endl;
|
std::cout << " id = " << fix.get_ident() << std::endl;
|
||||||
cout << " heading = " << heading << " dist = " << dist * SG_METER_TO_NM
|
std::cout << " heading = " << heading << " dist = " << dist * SG_METER_TO_NM
|
||||||
<< endl;
|
<< std::endl;
|
||||||
} else {
|
} else {
|
||||||
cout << "did not find fix. :-(" << endl;
|
CPPUNIT_FAIL("did not find fix. :-(");
|
||||||
}
|
}
|
||||||
}
|
}
|
48
test_suite/system_tests/Navaids/testnavs.hxx
Normal file
48
test_suite/system_tests/Navaids/testnavs.hxx
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Edward d'Auvergne
|
||||||
|
*
|
||||||
|
* This file is part of the program FlightGear.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _FG_NAVAIDS_SYSTEM_TESTS_HXX
|
||||||
|
#define _FG_NAVAIDS_SYSTEM_TESTS_HXX
|
||||||
|
|
||||||
|
|
||||||
|
#include <cppunit/extensions/HelperMacros.h>
|
||||||
|
#include <cppunit/TestFixture.h>
|
||||||
|
|
||||||
|
|
||||||
|
// The system tests.
|
||||||
|
class NavaidsTests : public CppUnit::TestFixture
|
||||||
|
{
|
||||||
|
// Set up the test suite.
|
||||||
|
CPPUNIT_TEST_SUITE(NavaidsTests);
|
||||||
|
CPPUNIT_TEST(testNavs);
|
||||||
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Set up function for each test.
|
||||||
|
void setUp() {}
|
||||||
|
|
||||||
|
// Clean up after each test.
|
||||||
|
void tearDown() {}
|
||||||
|
|
||||||
|
// The tests.
|
||||||
|
void testNavs();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _FG_NAVAIDS_SYSTEM_TESTS_HXX
|
Loading…
Reference in a new issue