mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-03 20:34:26 +02:00
Unit tests for alias_unit added
This commit is contained in:
@@ -155,6 +155,48 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]")
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("quantity with an alias unit")
|
||||
{
|
||||
const auto q = 2q_l;
|
||||
os << q;
|
||||
|
||||
SECTION("iostream")
|
||||
{
|
||||
CHECK(os.str() == "2 l");
|
||||
}
|
||||
|
||||
SECTION("fmt with default format {} on a quantity")
|
||||
{
|
||||
CHECK(fmt::format("{}", q) == os.str());
|
||||
}
|
||||
|
||||
SECTION("fmt with format {:%Q %q} on a quantity")
|
||||
{
|
||||
CHECK(fmt::format("{:%Q %q}", q) == os.str());
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("quantity with a prefixed alias unit")
|
||||
{
|
||||
const auto q = 2q_ml;
|
||||
os << q;
|
||||
|
||||
SECTION("iostream")
|
||||
{
|
||||
CHECK(os.str() == "2 ml");
|
||||
}
|
||||
|
||||
SECTION("fmt with default format {} on a quantity")
|
||||
{
|
||||
CHECK(fmt::format("{}", q) == os.str());
|
||||
}
|
||||
|
||||
SECTION("fmt with format {:%Q %q} on a quantity")
|
||||
{
|
||||
CHECK(fmt::format("{:%Q %q}", q) == os.str());
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("quantity with a deduced unit")
|
||||
{
|
||||
SECTION("coherent derived unit")
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include "units/physical/si/area.h"
|
||||
#include "units/physical/si/frequency.h"
|
||||
#include "units/physical/si/velocity.h"
|
||||
#include "units/physical/si/volume.h"
|
||||
#include <chrono>
|
||||
#include <utility>
|
||||
|
||||
@@ -202,6 +203,13 @@ static_assert(999q_m < 1q_km);
|
||||
static_assert(1000q_m >= 1q_km);
|
||||
static_assert(1000q_m <= 1q_km);
|
||||
|
||||
// alias units
|
||||
|
||||
static_assert(2q_l + 2q_ml == 2002q_ml);
|
||||
static_assert(2q_l + 2q_ml == 2002q_cm3);
|
||||
static_assert(2q_l + 2q_cm3 == 2002q_ml);
|
||||
static_assert(2q_dm3 + 2q_cm3 == 2002q_ml);
|
||||
|
||||
// is_quantity
|
||||
|
||||
static_assert(Quantity<length<millimetre, int>>);
|
||||
|
Reference in New Issue
Block a user