45243c96e8
This covers all instantiated SGSubsystem derived classes, i.e. those that are not base classes, including subsystem groups. Both non-instanced and instanced subsystem creation is tested. The tests for subsystems yet to be registered are commented out.
149 lines
9.4 KiB
C++
149 lines
9.4 KiB
C++
/*
|
|
* 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 "test_suite/FGTestApi/testGlobals.hxx"
|
|
|
|
#include "test_noninstanced_creation.hxx"
|
|
|
|
|
|
// Set up function for each test.
|
|
void NonInstancedSubsystemTests::setUp()
|
|
{
|
|
// First set up the globals object.
|
|
FGTestApi::setUp::initTestGlobals("NonInstancedSubsystemCreationTests");
|
|
|
|
// The subsystem manager.
|
|
_mgr.reset(new SGSubsystemMgr());
|
|
}
|
|
|
|
|
|
// Clean up after each test.
|
|
void NonInstancedSubsystemTests::tearDown()
|
|
{
|
|
// Remove the manager.
|
|
_mgr.reset();
|
|
|
|
// Clean up globals.
|
|
FGTestApi::tearDown::shutdownTestGlobals();
|
|
}
|
|
|
|
|
|
// Helper functions.
|
|
void NonInstancedSubsystemTests::create(const char* name)
|
|
{
|
|
// Create the subsystem.
|
|
_mgr->add(name);
|
|
auto sub = _mgr->get_subsystem(name);
|
|
|
|
// Check the subsystem.
|
|
CPPUNIT_ASSERT(sub);
|
|
CPPUNIT_ASSERT_EQUAL(sub->subsystemId(), std::string(name));
|
|
CPPUNIT_ASSERT_EQUAL(sub->subsystemClassId(), std::string(name));
|
|
CPPUNIT_ASSERT_EQUAL(sub->subsystemInstanceId(), std::string());
|
|
}
|
|
|
|
|
|
// The non-instanced subsystems.
|
|
void NonInstancedSubsystemTests::testagRadar() { create("air-ground-radar"); }
|
|
void NonInstancedSubsystemTests::testAirportDynamicsManager() { create("airport-dynamics"); }
|
|
void NonInstancedSubsystemTests::testAreaSampler() { create("area"); }
|
|
void NonInstancedSubsystemTests::testAutopilot() { create("autopilot"); }
|
|
void NonInstancedSubsystemTests::testCanvasMgr() { create("Canvas"); }
|
|
void NonInstancedSubsystemTests::testCockpitDisplayManager() { create("cockpit-displays"); }
|
|
void NonInstancedSubsystemTests::testDigitalFilter() { create("filter"); }
|
|
void NonInstancedSubsystemTests::testEphemeris() { create("ephemeris"); }
|
|
void NonInstancedSubsystemTests::testErrorReporter() { create("error-reporting"); }
|
|
void NonInstancedSubsystemTests::testFDMShell() { create("flight"); }
|
|
void NonInstancedSubsystemTests::testFGACMS() { create("acms"); }
|
|
void NonInstancedSubsystemTests::testFGADA() { create("ada"); }
|
|
void NonInstancedSubsystemTests::testFGAIManager() { create("ai-model"); }
|
|
void NonInstancedSubsystemTests::testFGAircraftModel() { create("aircraft-model"); }
|
|
void NonInstancedSubsystemTests::testFGATCManager() { create("ATC"); }
|
|
void NonInstancedSubsystemTests::testFGBalloonSim() { create("balloon"); }
|
|
void NonInstancedSubsystemTests::testFGCom() { create("fgcom"); }
|
|
void NonInstancedSubsystemTests::testFGControls() { create("controls"); }
|
|
void NonInstancedSubsystemTests::testFGDNSClient() { create("dns"); }
|
|
void NonInstancedSubsystemTests::testFGElectricalSystem() { create("electrical"); }
|
|
void NonInstancedSubsystemTests::testFGEnvironmentMgr() { create("environment"); }
|
|
void NonInstancedSubsystemTests::testFGExternalNet() { create("network"); }
|
|
void NonInstancedSubsystemTests::testFGExternalPipe() { create("pipe"); }
|
|
void NonInstancedSubsystemTests::testFGFlightHistory() { create("history"); }
|
|
void NonInstancedSubsystemTests::testFGHIDEventInput() { create("input-event-hid"); }
|
|
void NonInstancedSubsystemTests::testFGHTTPClient() { create("http"); }
|
|
void NonInstancedSubsystemTests::testFGHttpd() { create("httpd"); }
|
|
void NonInstancedSubsystemTests::testFGInput() { create("input"); }
|
|
void NonInstancedSubsystemTests::testFGInstrumentMgr() { create("instrumentation"); }
|
|
void NonInstancedSubsystemTests::testFGInterpolator() { create("prop-interpolator"); }
|
|
void NonInstancedSubsystemTests::testFGIO() { create("io"); }
|
|
void NonInstancedSubsystemTests::testFGJoystickInput() { create("input-joystick"); }
|
|
void NonInstancedSubsystemTests::testFGJSBsim() { create("jsb"); }
|
|
void NonInstancedSubsystemTests::testFGKeyboardInput() { create("input-keyboard"); }
|
|
void NonInstancedSubsystemTests::testFGLaRCsim() { create("larcsim"); }
|
|
void NonInstancedSubsystemTests::testFGLight() { create("lighting"); }
|
|
void NonInstancedSubsystemTests::testFGLinuxEventInput() { create("input-event"); }
|
|
void NonInstancedSubsystemTests::testFGLogger() { create("logger"); }
|
|
void NonInstancedSubsystemTests::testFGMacOSXEventInput() { create("input-event"); }
|
|
void NonInstancedSubsystemTests::testFGMagicCarpet() { create("magic"); }
|
|
void NonInstancedSubsystemTests::testFGMagVarManager() { create("magvar"); }
|
|
void NonInstancedSubsystemTests::testFGModelMgr() { create("model-manager"); }
|
|
void NonInstancedSubsystemTests::testFGMouseInput() { create("input-mouse"); }
|
|
void NonInstancedSubsystemTests::testFGMultiplayMgr() { create("mp"); }
|
|
void NonInstancedSubsystemTests::testFGNasalSys() { create("nasal"); }
|
|
void NonInstancedSubsystemTests::testFGNullFDM() { create("null"); }
|
|
void NonInstancedSubsystemTests::testFGPanel() { create("panel"); }
|
|
void NonInstancedSubsystemTests::testFGPrecipitationMgr() { create("precipitation"); }
|
|
void NonInstancedSubsystemTests::testFGProperties() { create("properties"); }
|
|
void NonInstancedSubsystemTests::testFGReplay() { create("replay"); }
|
|
void NonInstancedSubsystemTests::testFGRidgeLift() { create("ridgelift"); }
|
|
void NonInstancedSubsystemTests::testFGRouteMgr() { create("route-manager"); }
|
|
void NonInstancedSubsystemTests::testFGScenery() { create("scenery"); }
|
|
void NonInstancedSubsystemTests::testFGSoundManager() { create("sound"); }
|
|
void NonInstancedSubsystemTests::testFGSubmodelMgr() { create("submodel-mgr"); }
|
|
void NonInstancedSubsystemTests::testFGSystemMgr() { create("systems"); }
|
|
void NonInstancedSubsystemTests::testFGTrafficManager() { create("traffic-manager"); }
|
|
void NonInstancedSubsystemTests::testFGUFO() { create("ufo"); }
|
|
void NonInstancedSubsystemTests::testFGViewMgr() { create("view-manager"); }
|
|
void NonInstancedSubsystemTests::testFGVoiceMgr() { create("voice"); }
|
|
void NonInstancedSubsystemTests::testFGXMLAutopilotGroup() { create("xml-rules"); }
|
|
void NonInstancedSubsystemTests::testFlipFlop() { create("flipflop"); }
|
|
void NonInstancedSubsystemTests::testGraphicsPresets() { create("graphics-presets"); }
|
|
void NonInstancedSubsystemTests::testGroundRadar() { create("groundradar"); }
|
|
void NonInstancedSubsystemTests::testGUIMgr() { create("CanvasGUI"); }
|
|
void NonInstancedSubsystemTests::testHighlight() { create("reflect"); }
|
|
void NonInstancedSubsystemTests::testInstrumentGroup() { create("instruments"); }
|
|
void NonInstancedSubsystemTests::testLogic() { create("logic"); }
|
|
void NonInstancedSubsystemTests::testNavDisplay() { create("navigation-display"); }
|
|
void NonInstancedSubsystemTests::testNewGUI() { create("gui"); }
|
|
void NonInstancedSubsystemTests::testNoaaMetarRealWxController() { create("noaa-metar"); }
|
|
void NonInstancedSubsystemTests::testPerformanceDB() { create("aircraft-performance-db"); }
|
|
void NonInstancedSubsystemTests::testPIDController() { create("pid-controller"); }
|
|
void NonInstancedSubsystemTests::testPISimpleController() { create("pi-simple-controller"); }
|
|
void NonInstancedSubsystemTests::testPitotSystem() { create("pitot"); }
|
|
void NonInstancedSubsystemTests::testPredictor() { create("predict-simple"); }
|
|
void NonInstancedSubsystemTests::testSGEventMgr() { create("events"); }
|
|
void NonInstancedSubsystemTests::testSGPerformanceMonitor() { create("performance-mon"); }
|
|
void NonInstancedSubsystemTests::testSGSoundMgr() { create("sound"); }
|
|
void NonInstancedSubsystemTests::testSGTerraSync() { create("terrasync"); }
|
|
void NonInstancedSubsystemTests::testStateMachineComponent() { create("state-machine"); }
|
|
void NonInstancedSubsystemTests::testStaticSystem() { create("static"); }
|
|
void NonInstancedSubsystemTests::testTimeManager() { create("time"); }
|
|
void NonInstancedSubsystemTests::testVacuumSystem() { create("vacuum"); }
|
|
void NonInstancedSubsystemTests::testView() { create("view"); }
|
|
void NonInstancedSubsystemTests::testwxRadarBg() { create("radar"); }
|
|
void NonInstancedSubsystemTests::testYASim() { create("yasim"); }
|