#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include #include #include "../device/adc_device_attribute.h" using namespace adc; template struct V { static T getter() { return _v; } static void setter(const T& v) { _v = v; } static bool validator(const T& v) { if (v < 1) return false; else return true; } private: inline static T _v = 1; }; TEST_CASE("[ADC DEVICE ATTRIBUTE]") { double av = -10; using vv = V; using attr_t = AdcDeviceAttribute; // attr_t attr(AdcValueHolder::_defaultTrivialConvTypes, "ATTR_A", attr_t::ReadWrite, vv::getter, vv::setter, // vv::validator); attr_t attr("ATTR_A", attr_t::ReadWrite, vv::getter, vv::setter, vv::validator); // attr = 10.7; // av = attr; // std::cout << "ATTR = " << av << "\n"; std::cout << "ATTR = " << (unsigned)attr << "\n"; }