#define BOOST_TEST_MODULE config
#include <boost/test/included/unit_test.hpp>
#include <kooling/datamodel/motion-type.h>
#include <kooling/datamodel/sensor.h>
#include <chrono>
#include <cstdint>
#include <ctime>
#include <iomanip>
#include <sstream>
BOOST_AUTO_TEST_SUITE(test_sensor)<--- There is an unknown macro here somewhere. Configuration is required. If BOOST_AUTO_TEST_SUITE is a macro then please configure it.
BOOST_AUTO_TEST_CASE(test_sensor_timestamp)
{
constexpr const std::int64_t db_timestamp{ 1729696502574 };
constexpr const char* expected{ "2024-10-23 15:15:02" };
const kooling::datamodel::sensor_data_point sensor{
kooling::datamodel::timestamp{ std::chrono::milliseconds{ db_timestamp } },
kooling::datamodel::motion_type::none,
kooling::geo::coordinate{ 0., 0. },
0,
kooling::datamodel::distance::from_m(0.),
kooling::datamodel::timestamp::duration{},
kooling::datamodel::speed::from_kmh(0.),
0.,
"" };
const auto tt{ std::chrono::system_clock::to_time_t(sensor.timestamp) };
std::stringstream ss;
ss << std::put_time(std::gmtime(&tt), "%Y-%m-%d %H:%M:%S");
BOOST_TEST(ss.str() == expected);
}
BOOST_AUTO_TEST_SUITE_END()