Add MITC4 drilling diagnostics output and comparison contract
This commit is contained in:
@@ -123,6 +123,25 @@ TEST(EigenReferenceComparison,
|
||||
EXPECT_EQ(ok.Value().policy_id, "mitc4-eigen-first-implementation");
|
||||
EXPECT_DOUBLE_EQ(ok.Value().relative_rms_tolerance, 0.05);
|
||||
EXPECT_EQ(ok.Value().families.size(), 2U);
|
||||
EXPECT_FALSE(ok.Value().drilling_diagnostics);
|
||||
for (const std::string mode : {"direct-initial-director-spring", "legacy-corotated-twist"}) {
|
||||
f = H5Fopen(h5.string().c_str(), H5F_ACC_RDWR, H5P_DEFAULT);
|
||||
m = H5Gopen2(f, "/metadata", H5P_DEFAULT);
|
||||
if (H5Aexists(m, "mitc4_drilling_formulation") > 0) H5Adelete(m, "mitc4_drilling_formulation");
|
||||
if (H5Aexists(m, "drilling_diagnostics_version") > 0) H5Adelete(m, "drilling_diagnostics_version");
|
||||
Str(m, "mitc4_drilling_formulation", mode);
|
||||
U(m, "drilling_diagnostics_version", 1U);
|
||||
H5Gclose(m);
|
||||
H5Fclose(f);
|
||||
const auto compared = fesa::test::EigenReferenceComparison::Compare(reference_case);
|
||||
ASSERT_TRUE(compared.HasValue());
|
||||
ASSERT_TRUE(compared.Value().drilling_diagnostics);
|
||||
EXPECT_EQ(compared.Value().drilling_diagnostics->formulation, mode);
|
||||
EXPECT_EQ(compared.Value().drilling_diagnostics->version, 1U);
|
||||
EXPECT_TRUE(compared.Value().drilling_diagnostics->frames.empty());
|
||||
EXPECT_EQ(compared.Value().families.size(), 2U);
|
||||
}
|
||||
|
||||
// Only synthetic FESA output is changed; each TXT mode remains an independent
|
||||
// scalar family, including at both inclusive five-percent boundaries.
|
||||
for (const auto& sample :
|
||||
|
||||
Reference in New Issue
Block a user