40 std::cout <<
"testMaxMonitor" << std::endl;
45 BOOST_CHECK(tags.find(ctk::SystemTags::statusOutput) != tags.end());
51 auto warning = test.
getScalar<double_t>(std::string(
"/parameters/upperWarningThreshold"));
56 auto fault = test.
getScalar<double_t>(std::string(
"/parameters/upperFaultThreshold"));
61 auto watch = test.
getScalar<double_t>(std::string(
"/input/path"));
66 auto status = test.
getScalar<int32_t>(std::string(
"/output/path"));
70 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
77 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
80 auto disable = test.
getScalar<ChimeraTK::Boolean>(
"/parameters/disable");
85 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
91 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
98 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
105 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
111 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
118 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
125 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
132 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
138 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
145 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
155 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
163 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
172 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
184 std::cout <<
"testMinMonitor" << std::endl;
190 BOOST_CHECK(tags.find(ctk::SystemTags::statusOutput) != tags.end());
196 auto warning = test.
getScalar<uint>(std::string(
"/parameters/lowerWarningThreshold"));
201 auto fault = test.
getScalar<uint>(std::string(
"/parameters/lowerFaultThreshold"));
206 auto watch = test.
getScalar<uint>(std::string(
"/input/path"));
211 auto status = test.
getScalar<int32_t>(std::string(
"/output/path"));
215 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
222 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
225 auto disable = test.
getScalar<ChimeraTK::Boolean>(
"/parameters/disable");
230 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
236 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
243 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
250 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
256 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
263 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
270 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
277 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
283 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
290 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
297 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
304 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
311 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
319 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
331 std::cout <<
"testRangeMonitor" << std::endl;
336 BOOST_CHECK(tags.find(ctk::SystemTags::statusOutput) != tags.end());
342 auto warningUpperLimit = test.
getScalar<
int>(std::string(
"/parameters/upperWarningThreshold"));
343 warningUpperLimit = 50;
344 warningUpperLimit.write();
347 auto warningLowerLimit = test.
getScalar<
int>(std::string(
"/parameters/lowerWarningThreshold"));
348 warningLowerLimit = 40;
349 warningLowerLimit.write();
352 auto faultUpperLimit = test.
getScalar<
int>(std::string(
"/parameters/upperFaultThreshold"));
353 faultUpperLimit = 60;
354 faultUpperLimit.write();
357 auto faultLowerLimit = test.
getScalar<
int>(std::string(
"/parameters/lowerFaultThreshold"));
358 faultLowerLimit = 30;
359 faultLowerLimit.write();
363 auto watch = test.
getScalar<
int>(std::string(
"/input/path"));
368 auto status = test.
getScalar<int32_t>(std::string(
"/output/path"));
371 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
378 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
381 auto disable = test.
getScalar<ChimeraTK::Boolean>(
"/parameters/disable");
386 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
392 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
399 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
406 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
412 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
419 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
426 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
433 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
439 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
446 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
453 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
460 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
467 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
474 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
481 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
488 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
491 warningUpperLimit = 48;
492 warningUpperLimit.write();
495 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
502 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
506 faultUpperLimit = 46;
507 faultUpperLimit.write();
510 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
517 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
520 warningLowerLimit = 42;
521 warningLowerLimit.write();
524 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
531 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
535 faultLowerLimit = 44;
536 faultLowerLimit.write();
539 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
555 std::cout <<
"testExactMonitor" << std::endl;
560 BOOST_CHECK(tags.find(ctk::SystemTags::statusOutput) != tags.end());
566 auto requiredValue = test.
getScalar<int64_t>(std::string(
"/parameters/requiredValue"));
568 requiredValue.write();
571 auto watch = test.
getScalar<int64_t>(std::string(
"/input/path"));
576 auto status = test.
getScalar<int32_t>(std::string(
"/output/path"));
580 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
583 auto disable = test.
getScalar<ChimeraTK::Boolean>(
"/parameters/disable");
588 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
594 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
602 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
609 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
615 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
622 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
626 requiredValue.write();
630 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
634 requiredValue.write();
638 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
763 std::cout <<
"testRangeMonitorInitialValuePropagation" << std::endl;
777 BOOST_TEST(test.
readScalar<int32_t>(
"/output/path") ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
792 test.
readScalar<int32_t>(
"/output/path") ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
807 test.
readScalar<int32_t>(
"/output/path") ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
821 BOOST_TEST(test.
readScalar<int32_t>(
"/output/path") ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OFF));
835 BOOST_TEST(test.
readScalar<int32_t>(
"/output/path") ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
849 BOOST_TEST(test.
readScalar<int32_t>(
"/output/path") ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
902 std::cout <<
"testMonitorDataValidityPropagation" << std::endl;
909 auto fault = test.
getScalar<double_t>(
"/parameters/upperFaultThreshold");
910 auto warning = test.
getScalar<double_t>(
"/parameters/upperWarningThreshold");
911 auto watch = test.
getScalar<double_t>(
"/input/path");
912 auto status = test.
getScalar<int32_t>(
"/output/path");
923 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
924 BOOST_CHECK(status.dataValidity() == ctk::DataValidity::ok);
926 watch.setDataValidity(ctk::DataValidity::faulty);
931 BOOST_CHECK(status.readLatest());
932 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::OK));
934 BOOST_CHECK(status.dataValidity() == ctk::DataValidity::ok);
941 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::WARNING));
942 BOOST_CHECK(status.dataValidity() == ctk::DataValidity::ok);
945 watch.setDataValidity(ctk::DataValidity::ok);
950 BOOST_CHECK(status ==
static_cast<int>(ChimeraTK::StatusOutput::Status::FAULT));
951 BOOST_CHECK(status.dataValidity() == ctk::DataValidity::ok);
954 watch.setDataValidity(ctk::DataValidity::ok);
958 BOOST_CHECK(status.readLatest() ==
false);