Files
mcc/tests/mcc_keyvalue_test.cpp
Timur A. Fatkhullin 9630751a4d mcc_epoch.h: fix operator=(std::chrono::time_point)
class MccKeyValueHolder: developing ...
2026-05-17 22:33:31 +03:00

78 lines
1.6 KiB
C++

#include <print>
#include <mcc/mcc_keyvalue.h>
using namespace mcc::impl;
static auto kv_desc = std::make_tuple(mcc_simple_kv_record_t{"bb", MccAngle{11.5_degs}},
mcc_simple_kv_record_t{"aaa", std::string("AAA")},
mcc_simple_kv_record_t{"cc", MccCelestialCoordEpoch{}});
static std::string STR = R"--(
aaa = dewl_ewkj23+23998
#
# this is angle
bb=1.24534
cc= 2026-05-15T05:53:20.921723918 # date UTC
)--";
static std::string STR1 = R"--(
aaa = dewl_ewkj23+23998
#
# this is obs date
cc= 2026-05-15T05:53:20.921723918 # date UTC
)--";
int main()
{
MccKeyValueHolder kv(kv_desc);
// auto err = kv.fromCharRange(STR);
auto err = kv.fromCharRange(STR1);
if (err) {
std::println("ERR = {}", err);
return 1;
}
std::println("{} = {}", "bb", kv.getValue<MccAngle>(std::string{"bb"}).value().sexagesimal());
std::println("{} = {}", "cc", kv.getValue<MccCelestialCoordEpoch>("cc").value().UTC());
err = kv.setValue("cc", std::chrono::system_clock::now());
if (err) {
std::println("ERR = {}", err);
// return 1;
}
err = kv.setValue("aaa", "OK");
if (err) {
std::println("ERR = {}", err);
// return 1;
}
std::println("------------------------------------");
std::string buff;
err = kv.toCharRange(buff);
if (err) {
std::println("ERR = {}", err);
return 1;
}
std::println("--(\n{}\n)--'", buff);
std::print("KEYS: ");
for (auto const& k : kv.keys()) {
std::print("{} ", k);
}
std::println("");
return 0;
}