From b7e88b36cede9b0f742d108d000fee3a0c44dfca Mon Sep 17 00:00:00 2001 From: "Timur A. Fatkhullin" Date: Sun, 15 Dec 2024 10:33:13 +0300 Subject: [PATCH] ... --- device/adc_device_attribute.h | 2 - tests/adc_dev_test.cpp | 72 +++++++++++++++++++---------------- 2 files changed, 39 insertions(+), 35 deletions(-) diff --git a/device/adc_device_attribute.h b/device/adc_device_attribute.h index 8613e7c..9a94acd 100644 --- a/device/adc_device_attribute.h +++ b/device/adc_device_attribute.h @@ -739,8 +739,6 @@ protected: if constexpr (!std::is_same_v) { addConvertFunc([](const VT& v) { return static_cast(v); }, [](const elem_t& v) { return static_cast(v); }); - } else { - std::cout << "SKIP! I = " << I << "\n"; } setupTrivialConvertFuncImpl(); diff --git a/tests/adc_dev_test.cpp b/tests/adc_dev_test.cpp index 1cf549f..bf6ce07 100644 --- a/tests/adc_dev_test.cpp +++ b/tests/adc_dev_test.cpp @@ -107,28 +107,7 @@ int main() dev_t dev1("DEV1"); int attr1_val = 10; - dev1.addAttribute( - "ATTR1", - [&attr1_val]() { - std::cout << "ATTR1 getter\n"; - return attr1_val; - }, - [&attr1_val](const int& v) { - std::cout << "ATTR1 setter\n"; - attr1_val = v; - }); - dev1.addAttribute( - "ATTR2", - [&attr1_val]() { - std::cout << "ATTR2 getter\n"; - return attr1_val + 10; - }, - [&attr1_val](const int& v) { - std::cout << "ATTR2 setter\n"; - attr1_val = v; - }, - utils::AdcDefaultValueConverter<>::serialize); - // dev1.addAttribute(dev_t::attribute_t::makeArithAttr( + // dev1.addAttribute( // "ATTR1", // [&attr1_val]() { // std::cout << "ATTR1 getter\n"; @@ -137,34 +116,61 @@ int main() // [&attr1_val](const int& v) { // std::cout << "ATTR1 setter\n"; // attr1_val = v; - // })); - // dev1.addAttribute(dev_t::attribute_t::makeArithAttr( + // }); + // dev1.addAttribute( // "ATTR2", // [&attr1_val]() { // std::cout << "ATTR2 getter\n"; - // return (long)attr1_val + 10; + // return attr1_val + 10; // }, - // [&attr1_val](const long& v) { + // [&attr1_val](const int& v) { // std::cout << "ATTR2 setter\n"; // attr1_val = v; // }, - // utils::AdcDefaultValueConverter<>::serialize)); + // utils::AdcDefaultValueConverter<>::serialize); + dev1.addAttribute(dev_t::attribute_t::makeArithAttr( + "ATTR1", + [&attr1_val]() { + std::cout << "ATTR1 getter\n"; + return attr1_val; + }, + [&attr1_val](const int& v) { + std::cout << "ATTR1 setter\n"; + attr1_val = v; + })); + dev1.addAttribute(dev_t::attribute_t::makeArithAttr( + "ATTR2", + [&attr1_val]() { + std::cout << "ATTR2 getter\n"; + return (long)attr1_val + 10; + }, + [&attr1_val](const long& v) { + std::cout << "ATTR2 setter\n"; + attr1_val = v; + }, + utils::AdcDefaultValueConverter<>::serialize)); devs.push_back({&dev1, {'D', '1'}}); - serialized_t sn; - // std::ranges::copy(std::string_view("ATTR2"), std::back_inserter(sn)); - std::ranges::copy(std::string_view("ATTR1"), std::back_inserter(sn)); + serialized_t sn1, sn2; + std::ranges::copy(std::string_view("ATTR1"), std::back_inserter(sn1)); + std::ranges::copy(std::string_view("ATTR2"), std::back_inserter(sn2)); - devs[0].setAttr(sn, {'7', '7'}); - auto r = getAttr(0, sn); + devs[0].setAttr(sn1, {'7', '7'}); + auto r = getAttr(0, sn1); std::string rs; std::ranges::copy(r, std::back_inserter(rs)); - // std::cout << "ATTR2 = " << rs << "\n"; std::cout << "ATTR1 = " << rs << "\n"; + devs[0].setAttr(sn2, {'7', '7'}); + r = getAttr(0, sn2); + + rs.clear(); + std::ranges::copy(r, std::back_inserter(rs)); + + std::cout << "ATTR2 = " << rs << "\n"; return 0; }