feat(cpp-object-oriented-modular-refactoring): step 3 - foundation-google-style

This commit is contained in:
KOKO\Mimi
2026-08-16 04:26:14 +09:00
parent 2628ed3488
commit 042edadffb
93 changed files with 3144 additions and 3175 deletions
+27 -27
View File
@@ -58,11 +58,11 @@ fesa::ModelDefinition makeDefinition() {
TEST(AnalysisModel, ClassifiesActiveEntitiesInStableOrder) {
auto domainResult = fesa::Domain::create(makeDefinition());
ASSERT_TRUE(domainResult.hasValue());
ASSERT_TRUE(domainResult.HasValue());
auto modelResult = fesa::AnalysisModel::create(domainResult.value());
ASSERT_TRUE(modelResult.hasValue());
const auto& model = modelResult.value();
auto modelResult = fesa::AnalysisModel::create(domainResult.Value());
ASSERT_TRUE(modelResult.HasValue());
const auto& model = modelResult.Value();
EXPECT_EQ(
model.activeElements(),
@@ -83,8 +83,8 @@ TEST(AnalysisModel, ClassifiesActiveEntitiesInStableOrder) {
TEST(AnalysisModel, ReferencesWithoutCopyingOrMutatingDomain) {
auto domainResult = fesa::Domain::create(makeDefinition());
ASSERT_TRUE(domainResult.hasValue());
const fesa::Domain& domain = domainResult.value();
ASSERT_TRUE(domainResult.HasValue());
const fesa::Domain& domain = domainResult.Value();
const auto* const elementAddress = domain.elements().data();
const auto* const materialAddress = domain.materials().data();
const auto* const sectionAddress = domain.sections().data();
@@ -92,8 +92,8 @@ TEST(AnalysisModel, ReferencesWithoutCopyingOrMutatingDomain) {
const double firstLoadMagnitude = domain.steps()[0].loads[0].magnitude;
auto modelResult = fesa::AnalysisModel::create(domain);
ASSERT_TRUE(modelResult.hasValue());
const auto& model = modelResult.value();
ASSERT_TRUE(modelResult.HasValue());
const auto& model = modelResult.Value();
EXPECT_EQ(&model.domain(), &domain);
EXPECT_EQ(&model.step(), &domain.steps()[0]);
@@ -117,19 +117,19 @@ TEST(AnalysisModel, RejectsMissingOrMultipleStep) {
auto missingDefinition = makeDefinition();
missingDefinition.steps.clear();
auto missingDomain = fesa::Domain::create(std::move(missingDefinition));
ASSERT_TRUE(missingDomain.hasValue());
ASSERT_TRUE(missingDomain.HasValue());
auto missing = fesa::AnalysisModel::create(missingDomain.value());
ASSERT_FALSE(missing.hasValue());
auto missing = fesa::AnalysisModel::create(missingDomain.Value());
ASSERT_FALSE(missing.HasValue());
EXPECT_EQ(
missing.status().failureCategory(),
fesa::FailureCategory::input);
ASSERT_EQ(missing.status().diagnostics().size(), 1U);
missing.GetStatus().Category(),
fesa::FailureCategory::kInput);
ASSERT_EQ(missing.GetStatus().Diagnostics().size(), 1U);
EXPECT_EQ(
missing.status().diagnostics()[0].code,
missing.GetStatus().Diagnostics()[0].code,
"invalid-model-cardinality");
EXPECT_EQ(missing.status().diagnostics()[0].keyword, "STEP");
EXPECT_EQ(missing.status().diagnostics()[0].entityIdentity, "0");
EXPECT_EQ(missing.GetStatus().Diagnostics()[0].keyword, "STEP");
EXPECT_EQ(missing.GetStatus().Diagnostics()[0].entity_identity, "0");
auto multipleDefinition = makeDefinition();
auto secondStep = multipleDefinition.steps.front();
@@ -137,18 +137,18 @@ TEST(AnalysisModel, RejectsMissingOrMultipleStep) {
secondStep.location.line = 60U;
multipleDefinition.steps.push_back(std::move(secondStep));
auto multipleDomain = fesa::Domain::create(std::move(multipleDefinition));
ASSERT_TRUE(multipleDomain.hasValue());
ASSERT_TRUE(multipleDomain.HasValue());
auto multiple = fesa::AnalysisModel::create(multipleDomain.value());
ASSERT_FALSE(multiple.hasValue());
auto multiple = fesa::AnalysisModel::create(multipleDomain.Value());
ASSERT_FALSE(multiple.HasValue());
EXPECT_EQ(
multiple.status().failureCategory(),
fesa::FailureCategory::input);
ASSERT_EQ(multiple.status().diagnostics().size(), 1U);
multiple.GetStatus().Category(),
fesa::FailureCategory::kInput);
ASSERT_EQ(multiple.GetStatus().Diagnostics().size(), 1U);
EXPECT_EQ(
multiple.status().diagnostics()[0].code,
multiple.GetStatus().Diagnostics()[0].code,
"unsupported-multiple-step");
EXPECT_EQ(multiple.status().diagnostics()[0].keyword, "STEP");
EXPECT_EQ(multiple.status().diagnostics()[0].entityIdentity, "Step-2");
EXPECT_EQ(multiple.status().diagnostics()[0].location.line, 60U);
EXPECT_EQ(multiple.GetStatus().Diagnostics()[0].keyword, "STEP");
EXPECT_EQ(multiple.GetStatus().Diagnostics()[0].entity_identity, "Step-2");
EXPECT_EQ(multiple.GetStatus().Diagnostics()[0].location.line, 60U);
}
+13 -13
View File
@@ -65,16 +65,16 @@ fesa::DofManager makeDofs() {
{definition.sourcePath, 19U}}};
auto domain = fesa::Domain::create(std::move(definition));
EXPECT_TRUE(domain.hasValue());
auto model = fesa::AnalysisModel::create(domain.value());
EXPECT_TRUE(model.hasValue());
auto dofs = fesa::DofManager::create(model.value());
EXPECT_TRUE(dofs.hasValue());
return std::move(dofs.value());
EXPECT_TRUE(domain.HasValue());
auto model = fesa::AnalysisModel::create(domain.Value());
EXPECT_TRUE(model.HasValue());
auto dofs = fesa::DofManager::create(model.Value());
EXPECT_TRUE(dofs.HasValue());
return std::move(dofs.Value());
}
void expectAllZero(const fesa::Vector& vector) {
for (std::size_t index = 0U; index < vector.size(); ++index) {
for (std::size_t index = 0U; index < vector.Size(); ++index) {
EXPECT_DOUBLE_EQ(vector[index], 0.0);
}
}
@@ -96,12 +96,12 @@ TEST(AnalysisState, AllocatesOnlyV0FullVectors) {
&constState.reaction()};
for (const auto* vector : vectors) {
EXPECT_EQ(vector->size(), dofs.fullDofCount());
EXPECT_EQ(vector->Size(), dofs.fullDofCount());
expectAllZero(*vector);
}
for (std::size_t left = 0U; left < std::size(vectors); ++left) {
for (std::size_t right = left + 1U; right < std::size(vectors); ++right) {
EXPECT_NE(vectors[left]->data(), vectors[right]->data());
EXPECT_NE(vectors[left]->Data(), vectors[right]->Data());
}
}
@@ -142,8 +142,8 @@ TEST(AnalysisState, CopiesOrMovesWithoutAliasing) {
{0U, 1, 0U, 0.0, 0.0, 10.0, "fesa-default"});
auto copied = original;
EXPECT_NE(copied.displacement().data(), original.displacement().data());
EXPECT_NE(copied.reaction().data(), original.reaction().data());
EXPECT_NE(copied.displacement().Data(), original.displacement().Data());
EXPECT_NE(copied.reaction().Data(), original.reaction().Data());
EXPECT_NE(copied.endpointResults().data(), original.endpointResults().data());
EXPECT_NE(copied.gaussResults().data(), original.gaussResults().data());
EXPECT_NE(copied.stressResults().data(), original.stressResults().data());
@@ -156,7 +156,7 @@ TEST(AnalysisState, CopiesOrMovesWithoutAliasing) {
EXPECT_EQ(moved.identity().stepName, "Step-1");
EXPECT_DOUBLE_EQ(moved.displacement()[0], 30.0);
EXPECT_DOUBLE_EQ(moved.endpointResults()[0].endAction[0], 20.0);
EXPECT_NE(moved.displacement().data(), original.displacement().data());
EXPECT_NE(moved.displacement().Data(), original.displacement().Data());
EXPECT_NE(moved.endpointResults().data(), original.endpointResults().data());
auto copyAssigned = fesa::AnalysisState::create(dofs, {"Other", 3U});
@@ -169,5 +169,5 @@ TEST(AnalysisState, CopiesOrMovesWithoutAliasing) {
moveAssigned = std::move(copyAssigned);
EXPECT_EQ(moveAssigned.identity().stepName, "Step-1");
EXPECT_DOUBLE_EQ(moveAssigned.reaction()[11], -20.0);
EXPECT_NE(moveAssigned.reaction().data(), original.reaction().data());
EXPECT_NE(moveAssigned.reaction().Data(), original.reaction().Data());
}