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.
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
Convenience class for output array accessors (always UpdateMode::push)
Convenience class for output scalar accessors (always UpdateMode::push)
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)