9#include <ChimeraTK/BackendFactory.h>
11#include <boost/mpl/list.hpp>
15#define BOOST_TEST_MODULE testConnectedDestructionRunner
16#include <boost/test/included/unit_test.hpp>
23 using ctk::ApplicationModule::ApplicationModule;
32 using ctk::ApplicationModule::ApplicationModule;
41 using ctk::ApplicationModule::ApplicationModule;
50 using ctk::ApplicationModule::ApplicationModule;
60 mod = std::make_unique<ScalarOutputModule>(
this,
"mod1",
"");
64 std::unique_ptr<ScalarOutputModule>
mod;
72 mod = std::make_unique<ArrayOutputModule>(
this,
"mod1",
"");
76 std::unique_ptr<ArrayOutputModule>
mod;
83 std::cout <<
"*** testDestroyConnectedApplicationModule" << std::endl;
94 std::cout <<
"*** testDestroyConnectedApplicationModuleWithArray" << std::endl;
105 std::cout <<
"*** testDestroyMovedApplicationModule" << std::endl;
117 std::cout <<
"*** testDestroyMovedApplicationModuleWithArray" << std::endl;
131 using ctk::VariableGroup::VariableGroup;
140 mod2.group = std::make_unique<ScalarVariableGroup>(&mod2,
"group",
"");
145 using ctk::ApplicationModule::ApplicationModule;
147 std::unique_ptr<ScalarVariableGroup>
group;
149 } mod2{
this,
"mod",
""};
155 std::cout <<
"*** testDestroyConnectedVariableGroupDelete" << std::endl;
160 app.mod2.
group.reset();
166 using ctk::VariableGroup::VariableGroup;
175 mod2.group = std::make_unique<ArrayVariableGroup>(&mod2,
"group",
"");
180 using ctk::ApplicationModule::ApplicationModule;
182 std::unique_ptr<ArrayVariableGroup>
group;
184 } mod2{
this,
"mod",
""};
190 std::cout <<
"*** testDestroyConnectedVariableGroupArrayDelete" << std::endl;
195 app.mod2.
group.reset();
207 using ctk::ApplicationModule::ApplicationModule;
211 } mod2{
this,
"mod",
""};
215 std::cout <<
"*** testMoveConnectedVariableGroup" << std::endl;
230 using ctk::ApplicationModule::ApplicationModule;
234 } mod2{
this,
"mod",
""};
240 std::cout <<
"*** testMoveConnectedVariableGroupArray" << std::endl;
void shutdown() override
This will remove the global pointer to the instance and allows creating another instance afterwards.
Convenience class for output array accessors (always UpdateMode::push)
Convenience class for output scalar accessors (always UpdateMode::push)
Helper class to facilitate tests of applications based on ApplicationCore.
InvalidityTracer application module.
~ArrayApplicationModuleTestApp() override
std::unique_ptr< ArrayOutputModule > mod
ArrayApplicationModuleTestApp()
ctk::ArrayOutput< int > output
void mainLoop() override
To be implemented by the user: function called in a separate thread executing the main loop of the mo...
ctk::ArrayPushInput< int > output
ArrayVariableGroupTestAppForMove()
ArrayVariableGroupTestApp()
std::unique_ptr< ArrayVariableGroup > group
ScalarApplicationModuleTestApp()
std::unique_ptr< ScalarOutputModule > mod
~ScalarApplicationModuleTestApp() override
ctk::ScalarOutput< int > output
void mainLoop() override
To be implemented by the user: function called in a separate thread executing the main loop of the mo...
ctk::ScalarPushInput< int > output
ScalarVariableGroupTestAppForMove()
ScalarVariableGroup group
std::unique_ptr< ScalarVariableGroup > group
ScalarVariableGroupTestApp()
BOOST_AUTO_TEST_CASE(testDestroyConnectedApplicationModule)