test(tests): updated tests to use fractional checks

tests for eos and approx8 now use relative error to account for large dynamic range
This commit is contained in:
2025-06-17 10:17:46 -04:00
parent 8269c35405
commit 31e0a4bdd4
3 changed files with 7 additions and 5 deletions

View File

@@ -61,13 +61,13 @@ TEST_F(compositionTest, setGetComposition) {
EXPECT_THROW(comp.setMassFraction("He-3", 0.3), std::runtime_error);
EXPECT_NO_THROW(comp.setMassFraction({"H-1", "He-4"}, {0.5, 0.5}));
EXPECT_THROW(comp.getComposition("H-1"), std::runtime_error);
EXPECT_THROW(auto r = comp.getComposition("H-1"), std::runtime_error);
EXPECT_TRUE(comp.finalize());
EXPECT_DOUBLE_EQ(comp.getComposition("H-1").first.mass_fraction(), 0.5);
EXPECT_NO_THROW(comp.setMassFraction({"H-1", "He-4"}, {0.6, 0.6}));
EXPECT_FALSE(comp.finalize());
EXPECT_THROW(comp.getComposition("H-1"), std::runtime_error);
EXPECT_THROW(auto r = comp.getComposition("H-1"), std::runtime_error);
}
TEST_F(compositionTest, setGetNumberFraction) {

View File

@@ -123,6 +123,8 @@ TEST_F(eosTest, eos_using_composition) {
serif::eos::EOSOutput eosOutput;
EXPECT_NO_THROW(eosOutput = EOS.get(eosInput));
eosOutput = EOS.get(eosInput);
constexpr double absErr = 1e-8;
EXPECT_NEAR(eosOutput.pressure.total, 6.9548533046915791E+22, absErr);
const double pressureFraction = eosOutput.pressure.total / 6.9548533046915791E+22;
constexpr double relError = 1e-6;
EXPECT_NEAR(pressureFraction, 1.0, relError);
}

View File

@@ -56,7 +56,7 @@ TEST_F(approx8Test, evaluate) {
double H1MassFraction = netOut.composition.getMassFraction("H-1")/ 0.50166262445895604;
double He4MassFraction = netOut.composition.getMassFraction("He-4") / 0.48172273720971226;
double relError = 1e-8;
double relError = 1e-6;
EXPECT_NEAR(H1MassFraction, 1.0, relError);
EXPECT_NEAR(He4MassFraction, 1.0, relError);
EXPECT_NEAR(energyFraction, 1.0, relError);