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:
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user