mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-03 12:24:26 +02:00
test: more std::chrono
tests added
This commit is contained in:
@@ -137,12 +137,24 @@ static_assert(std::chrono::nanoseconds(quantity{1 * ns}) == 1ns);
|
||||
static_assert(std::chrono::nanoseconds(quantity{1 * s}) == 1s);
|
||||
|
||||
// operators
|
||||
static_assert((1 * s += 1s) == 2 * s);
|
||||
static_assert((2 * s -= 1s) == 1 * s);
|
||||
static_assert(quantity{1s} + 1 * s == 2 * s);
|
||||
static_assert(quantity{1s} + 1 * min == 61 * s);
|
||||
static_assert(1 * s + quantity{1s} == 2 * s);
|
||||
static_assert(1 * min + quantity{1s} == 61 * s);
|
||||
static_assert(10 * m / quantity{2s} == 5 * m / s);
|
||||
static_assert(quantity_point{sys_seconds{1s}} + 1 * s == chrono_point_origin<std::chrono::system_clock> + 2 * s);
|
||||
static_assert(quantity_point{sys_seconds{1s}} + 1 * min == chrono_point_origin<std::chrono::system_clock> + 61 * s);
|
||||
|
||||
template<typename... Ts>
|
||||
consteval bool invalid_arithmetic(Ts... ts)
|
||||
{
|
||||
return !requires { (... + ts); } && !requires { (... - ts); };
|
||||
}
|
||||
static_assert(invalid_arithmetic(1s, 1 * s));
|
||||
static_assert(invalid_arithmetic(1 * s, 1s));
|
||||
|
||||
// to_chrono_duration
|
||||
static_assert(to_chrono_duration(1 * s) == 1s);
|
||||
static_assert(to_chrono_duration(2 * h) == 2h);
|
||||
|
Reference in New Issue
Block a user