feat(nonlinear-static-newton-raphson): step 0 - cli-output-lease-and-derived-names

This commit is contained in:
KOKO\Mimi
2026-08-24 10:42:14 +09:00
parent 41816c8aef
commit fc16ef6221
61 changed files with 10890 additions and 115 deletions
+11 -4
View File
@@ -75,14 +75,19 @@ CaseEvidence RunCase(const std::string& case_id,
if (!std::filesystem::create_directories(output_directory, error) || error) {
throw std::runtime_error{"Unable to create MITC4 evidence directory."};
}
const auto results = output_directory / "results.h5";
const auto execution_input = output_directory / input.filename();
if (!std::filesystem::copy_file(input, execution_input, error) || error) {
throw std::runtime_error{"Unable to copy MITC4 input for execution."};
}
const auto results = output_directory /
(execution_input.stem().string() + "_results.h5");
const auto comparison = output_directory / "comparison.json";
fesa::FesaApplication application;
EXPECT_EQ(application.Run({input.string(), "--output", results.string()}), 0);
EXPECT_EQ(application.Run({execution_input.string()}), 0);
EXPECT_TRUE(std::filesystem::is_regular_file(results));
auto comparison_result = fesa::test::Mitc4ReferenceComparison::Compare(
{case_id, source_element_type, input, csv, results});
{case_id, source_element_type, execution_input, csv, results});
if (!comparison_result.HasValue()) {
std::string diagnostics;
for (const auto& diagnostic : comparison_result.GetStatus().Diagnostics()) {
@@ -104,7 +109,9 @@ CaseEvidence RunCase(const std::string& case_id,
}
std::sort(generated.begin(), generated.end());
EXPECT_EQ(generated,
(std::vector<std::string>{"comparison.json", "results.h5"}));
(std::vector<std::string>{"comparison.json",
input.filename().string(),
results.filename().string()}));
EXPECT_TRUE(std::filesystem::is_directory(reference_directory));
ExpectUnchanged(input, input_before);
ExpectUnchanged(csv, csv_before);