This commit is contained in:
Timur A. Fatkhullin
2024-04-30 22:30:04 +03:00
parent b4a4722583
commit 066cb7cf95
3 changed files with 266 additions and 142 deletions

View File

@@ -8,6 +8,31 @@
// #include "../common/adc_value_holder.h"
#include "../common/adc_value.h"
static double dbl_val = 99.99;
double gdbl()
{
return dbl_val;
}
void sdbl(const double& v)
{
dbl_val = v;
}
bool vdbl(const double& v)
{
if (v < 1.0) {
return false;
}
return true;
}
TEST_CASE("[ADC VALUEHOLDER]")
{
int int_val = 10;
@@ -149,4 +174,29 @@ TEST_CASE("[ADC VALUEHOLDER]")
std::cout << "ZZ = " << zz << "\n";
std::cout << "ELAPS: " << std::chrono::duration_cast<std::chrono::microseconds>(t2 - t1).count() << " mksec\n";
adc::AdcSerializingValueHolder svh(getter, setter, validator, adc::AdcValueHolder::_defaultTrivialConvTypes);
svh = 77.65412;
std::cout << "SERIALIZED: " << svh.serialize() << "\n";
svh.deserialize("123");
float fl = svh;
std::cout << "DESERIALIZED: " << fl << "\n";
// vsh.resetValueHolder(gdbl, sdbl, vdbl, adc::AdcValueHolder::_defaultTrivialConvTypes);
// fl = vsh;
// std::cout << "VSH: " << fl << "\n";
// svh.resetValueHolder(gdbl, sdbl, vdbl, adc::AdcValueHolder::_defaultTrivialConvTypes);
svh.resetValueHolder([]() { return dbl_val; }, [](const double& v) { dbl_val = v; },
[](const double&) { return true; }, adc::AdcValueHolder::_defaultTrivialConvTypes);
std::cout << "SERIALIZED: " << svh.serialize() << "\n";
svh.deserialize("123.123");
res = svh;
std::cout << "DESERIALIZED: " << res << "\n";
}