feat(cpp-object-oriented-modular-refactoring): step 18 - load-hierarchy

This commit is contained in:
KOKO\Mimi
2026-08-16 10:56:57 +09:00
parent 08d352ae46
commit 9ad72e6d21
18 changed files with 705 additions and 137 deletions
+10 -4
View File
@@ -109,6 +109,9 @@ TEST(AnalysisModel, ClassifiesActiveEntitiesInStableOrder) {
EXPECT_EQ(model.ActiveBoundaryConditions(),
(std::vector<fesa::EntityIndex>{0U, 1U}));
EXPECT_EQ(model.ActiveLoads(), (std::vector<fesa::EntityIndex>{0U, 1U, 2U}));
ASSERT_EQ(model.Step().Loads().size(), 3U);
EXPECT_EQ(&model.Step().Loads()[0U].get(),
&domain_result.Value().Steps()[0U].Loads()[0U].get());
}
TEST(AnalysisModel, ReferencesWithoutCopyingOrMutatingDomain) {
@@ -118,8 +121,9 @@ TEST(AnalysisModel, ReferencesWithoutCopyingOrMutatingDomain) {
const auto* const element_address = &domain.Elements()[0U];
const auto* const material_address = &domain.Materials()[0U];
const auto* const section_address = &domain.Sections()[0U];
const std::string step_name = domain.Steps()[0].name;
const double first_load_magnitude = domain.Steps()[0].loads[0].magnitude;
const std::string step_name = domain.Steps()[0].Name();
const double first_load_magnitude =
domain.Steps()[0].ConcentratedLoads()[0U].GlobalComponents()[0U];
auto model_result = fesa::AnalysisModel::Create(domain);
ASSERT_TRUE(model_result.HasValue());
@@ -136,8 +140,10 @@ TEST(AnalysisModel, ReferencesWithoutCopyingOrMutatingDomain) {
&domain.Materials()[2]);
EXPECT_EQ(&model.GetDomain().Sections()[model.ActiveSections()[1]],
&domain.Sections()[1]);
EXPECT_EQ(domain.Steps()[0].name, step_name);
EXPECT_DOUBLE_EQ(domain.Steps()[0].loads[0].magnitude, first_load_magnitude);
EXPECT_EQ(domain.Steps()[0].Name(), step_name);
EXPECT_DOUBLE_EQ(
domain.Steps()[0].ConcentratedLoads()[0U].GlobalComponents()[0U],
first_load_magnitude);
}
// C-MODEL-002