mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-03 20:34: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);
|
static_assert(std::chrono::nanoseconds(quantity{1 * s}) == 1s);
|
||||||
|
|
||||||
// operators
|
// 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 * s == 2 * s);
|
||||||
static_assert(quantity{1s} + 1 * min == 61 * 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(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 * 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);
|
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
|
// to_chrono_duration
|
||||||
static_assert(to_chrono_duration(1 * s) == 1s);
|
static_assert(to_chrono_duration(1 * s) == 1s);
|
||||||
static_assert(to_chrono_duration(2 * h) == 2h);
|
static_assert(to_chrono_duration(2 * h) == 2h);
|
||||||
|
Reference in New Issue
Block a user