Base: UnitsSchema: use basic imperial conversion constants

Use well defined basic constants for conversion of imperial units.
This makes code hopefully easily readable and verificable.
This commit is contained in:
Ladislav Michl
2025-09-03 07:54:47 +02:00
parent 1cd47c2dd4
commit 88f76f3605
6 changed files with 109 additions and 66 deletions

View File

@@ -198,25 +198,25 @@ protected:
TEST_F(BaseQuantityLoc, psi_parse_spaced)
{
const auto qParsed = Quantity::parse("1 psi");
EXPECT_EQ(qParsed.getValue(), 6.8947448254939996);
EXPECT_EQ(qParsed.getValue(), 6.8947572931683609);
}
TEST_F(BaseQuantityLoc, psi_parse_no_space)
{
const auto qParsed = Quantity::parse("1psi");
EXPECT_EQ(qParsed.getValue(), 6.8947448254939996);
EXPECT_EQ(qParsed.getValue(), 6.8947572931683609);
}
TEST_F(BaseQuantityLoc, psi_parse_user_str)
{
const auto qParsed = Quantity::parse("1 psi");
EXPECT_EQ(qParsed.getUserString(), "6894.74 Pa");
EXPECT_EQ(qParsed.getUserString(), "6894.76 Pa");
}
TEST_F(BaseQuantityLoc, psi_parse_safe_user_str)
{
const auto qParsed = Quantity::parse("1 psi");
EXPECT_EQ(qParsed.getSafeUserString(), "6894.74 Pa");
EXPECT_EQ(qParsed.getSafeUserString(), "6894.76 Pa");
}
TEST_F(BaseQuantityLoc, psi_parse_unit_type)
@@ -228,7 +228,7 @@ TEST_F(BaseQuantityLoc, psi_parse_unit_type)
TEST_F(BaseQuantityLoc, psi_to_Pa)
{
const auto result = Quantity::parse("1 psi").getValueAs(Quantity::Pascal);
const auto expect = 6894.7448254939991;
const auto expect = 6894.7572931683608;
EXPECT_EQ(result, expect);
}
@@ -236,7 +236,7 @@ TEST_F(BaseQuantityLoc, psi_to_Pa)
TEST_F(BaseQuantityLoc, psi_to_KPa)
{
const auto result = Quantity::parse("1 psi").getValueAs(Quantity::KiloPascal);
const auto expect = 6.8947448254939996;
const auto expect = 6.8947572931683609;
EXPECT_EQ(result, expect);
}
@@ -244,7 +244,7 @@ TEST_F(BaseQuantityLoc, psi_to_KPa)
TEST_F(BaseQuantityLoc, psi_to_MPa)
{
const auto result = Quantity::parse("1 psi").getValueAs(Quantity::MegaPascal);
const auto expect = 0.0068947448254939999;
const auto expect = 0.0068947572931683607;
EXPECT_EQ(result, expect);
}