Skip to content
Snippets Groups Projects
Commit 3dbd77a0 authored by Martin Christoph Hierholzer's avatar Martin Christoph Hierholzer
Browse files

added test subscript operator of DeviceModule and for DeviceModule::virtualise()

parent 6d2c2e58
No related branches found
No related tags found
No related merge requests found
......@@ -377,3 +377,51 @@ BOOST_AUTO_TEST_CASE_TEMPLATE( testConstantToDeviceFanOut, T, test_types ) {
CHECK_TIMEOUT( dev.read<T>("/MyModule/readBack") == 20, 3000 );
}
/*********************************************************************************************************************/
/* test subscript operator of DeviceModule */
BOOST_AUTO_TEST_CASE_TEMPLATE( testDeviceModuleSubscriptOp, T, test_types ) {
std::cout << "testDeviceModuleSubscriptOp" << std::endl;
mtca4u::BackendFactory::getInstance().setDMapFilePath("test.dmap");
TestApplication<T> app;
app.testModule.feedingToDevice >> app.dev["MyModule"]("actuator");
app.initialise();
boost::shared_ptr<mtca4u::DeviceBackend> backend = app.deviceMap["Dummy0"];
auto regacc = backend->getRegisterAccessor<int>("/MyModule/actuator",1,0,{});
regacc->accessData(0) = 0;
app.testModule.feedingToDevice = 42;
app.testModule.feedingToDevice.write();
regacc->read();
BOOST_CHECK(regacc->accessData(0) == 42);
app.testModule.feedingToDevice = 120;
regacc->read();
BOOST_CHECK(regacc->accessData(0) == 42);
app.testModule.feedingToDevice.write();
regacc->read();
BOOST_CHECK(regacc->accessData(0) == 120);
}
/*********************************************************************************************************************/
/* test DeviceModule::virtualise() (trivial implementation) */
BOOST_AUTO_TEST_CASE( testDeviceModuleVirtuallise ) {
std::cout << "testDeviceModuleVirtuallise" << std::endl;
mtca4u::BackendFactory::getInstance().setDMapFilePath("test.dmap");
TestApplication<int> app;
app.testModule.feedingToDevice >> app.dev.virtualise()["MyModule"]("actuator");
app.initialise();
BOOST_CHECK( &(app.dev.virtualise()) == &(app.dev) );
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment