60 std::cout <<
"testBasicInitialisation" << std::endl;
68 test.runApplication();
70 dummy.open(deviceCDD);
75 BOOST_CHECK_EQUAL(var1, 42);
81 boost::dynamic_pointer_cast<ctk::ExceptionDummy>(ctk::BackendFactory::getInstance().createBackend(deviceCDD));
82 dummyBackend->throwExceptionWrite =
true;
84 auto reg2_cs = test.getScalar<int32_t>(
"/REG2");
87 test.stepApplication(
false);
89 BOOST_CHECK_EQUAL(var2, 0);
90 BOOST_CHECK_EQUAL(var1, 0);
91 dummyBackend->throwExceptionWrite =
false;
95 test.stepApplication();
97 BOOST_CHECK_EQUAL(dummy.read<int32_t>(
"/REG2"), 20);
102 BOOST_CHECK_EQUAL(var1, 42);
108 std::cout <<
"testMultipleInitialisationHandlers" << std::endl;
118 test.runApplication();
120 auto deviceStatus = test.getScalar<int32_t>(
121 ctk::RegisterPath(
"/Devices") / ctk::Utilities::escapeName(deviceCDD,
false) /
"status");
126 BOOST_CHECK_EQUAL(var1, 42);
127 BOOST_CHECK_EQUAL(var2, 47);
128 BOOST_CHECK_EQUAL(var3, 52);
137 boost::dynamic_pointer_cast<ctk::ExceptionDummy>(ctk::BackendFactory::getInstance().createBackend(deviceCDD));
138 dummyBackend->throwExceptionWrite =
true;
140 auto reg4_cs = test.getScalar<int32_t>(
"/REG4");
143 test.stepApplication(
false);
146 dummyBackend->throwExceptionWrite =
false;
150 test.stepApplication();
152 BOOST_CHECK_EQUAL(var1, 42);
153 BOOST_CHECK_EQUAL(var2, 47);
154 BOOST_CHECK_EQUAL(var3, 52);
160 std::cout <<
"testInitialisationException" << std::endl;
166 throwInInitialisation =
true;
175 ctk::RegisterPath(
"/Devices") / ctk::Utilities::escapeName(std::string(deviceCDD),
false) /
"status");
176 auto status_message = test.
getScalar<std::string>(
177 ctk::RegisterPath(
"/Devices") / ctk::Utilities::escapeName(std::string(deviceCDD),
false) /
"status_message");
180 dummy.open(deviceCDD);
190 BOOST_TEST(status.readAndGet() == 1);
191 auto initialMessage = status_message.readAndGet();
194 status_message.read();
195 BOOST_TEST(std::string(status_message) != initialMessage);
204 BOOST_CHECK_EQUAL(var1, 42);
205 BOOST_CHECK_EQUAL(var2, 0);
206 BOOST_CHECK_EQUAL(var3, 0);
209 throwInInitialisation =
false;
215 ctk::RegisterPath(
"/Devices") / ctk::Utilities::escapeName(deviceCDD,
false) /
"status"),
220 ctk::Utilities::escapeName(deviceCDD,
false) /
"status_message"),
224 BOOST_CHECK_EQUAL(var1, 42);
225 BOOST_CHECK_EQUAL(var2, 47);
226 BOOST_CHECK_EQUAL(var3, 52);
235 throwInInitialisation =
true;
237 boost::dynamic_pointer_cast<ctk::ExceptionDummy>(ctk::BackendFactory::getInstance().createBackend(deviceCDD));
238 dummyBackend->throwExceptionWrite =
true;
240 auto reg4_cs = test.
getScalar<int32_t>(
"/REG4");
245 ctk::RegisterPath(
"/Devices") / ctk::Utilities::escapeName(deviceCDD,
false) /
"status"),
249 .readScalar<std::string>(ctk::RegisterPath(
"/Devices") /
250 ctk::Utilities::escapeName(deviceCDD,
false) /
"status_message")
253 dummyBackend->throwExceptionWrite =
false;
257 ctk::Utilities::escapeName(deviceCDD,
false) /
"status_message"),
258 exceptionMessage, 30000);
261 throwInInitialisation =
false;
264 ctk::RegisterPath(
"/Devices") / ctk::Utilities::escapeName(deviceCDD,
false) /
"status"),
270 ctk::Utilities::escapeName(deviceCDD,
false) /
"status_message"),