test: more chrono tests added

This commit is contained in:
Mateusz Pusz
2023-08-15 11:18:15 +02:00
parent 059c4f4eea
commit 542668e801

View File

@@ -80,6 +80,9 @@ static_assert(!std::convertible_to<sys_days, time_point<si::second, std::chrono:
static_assert(std::constructible_from<time_point<si::day, std::chrono::system_clock>, sys_seconds>); static_assert(std::constructible_from<time_point<si::day, std::chrono::system_clock>, sys_seconds>);
static_assert(!std::convertible_to<sys_seconds, time_point<si::day, std::chrono::system_clock>>); static_assert(!std::convertible_to<sys_seconds, time_point<si::day, std::chrono::system_clock>>);
static_assert(quantity<si::second>{1s} == 1 * s);
static_assert(quantity<isq::time[si::second]>{1s} == 1 * s);
static_assert(quantity<isq::period_duration[si::second]>{1s} == 1 * s);
// CTAD // CTAD
static_assert(is_of_type<quantity{1s}, quantity<si::second, std::chrono::seconds::rep>>); static_assert(is_of_type<quantity{1s}, quantity<si::second, std::chrono::seconds::rep>>);
@@ -89,6 +92,18 @@ static_assert(
static_assert(is_of_type<quantity_point{sys_days{sys_days::duration{1}}}, static_assert(is_of_type<quantity_point{sys_days{sys_days::duration{1}}},
time_point<si::day, std::chrono::system_clock, sys_days::rep>>); time_point<si::day, std::chrono::system_clock, sys_days::rep>>);
// units mapping
static_assert(quantity{1ns} == 1 * ns);
static_assert(quantity{1us} == 1 * us);
static_assert(quantity{1ms} == 1 * ms);
static_assert(quantity{1s} == 1 * s);
static_assert(quantity{1min} == 1 * min);
static_assert(quantity{1h} == 1 * h);
static_assert(quantity{std::chrono::days{1}} == 1 * d);
static_assert(quantity{std::chrono::weeks{1}} == 7 * d);
static_assert(quantity{std::chrono::months{1}} == 2629746 * s);
static_assert(quantity{std::chrono::years{1}} == 31556952 * s);
// operators // operators
static_assert(quantity{1s} + 1 * s == 2 * s); static_assert(quantity{1s} + 1 * s == 2 * s);
static_assert(quantity{1s} + 1 * min == 61 * s); static_assert(quantity{1s} + 1 * min == 61 * s);