fix(eigen): reject nonfinite modal validation scales
This commit is contained in:
@@ -276,3 +276,19 @@ TEST(SolidFrequencyProcedure,
|
||||
// Original modal Value output is pending. This proves only our independent
|
||||
// checks on the supplied input; it is not an external frequency comparison.
|
||||
}
|
||||
|
||||
TEST(SolidFrequencyProcedure, RejectsOverflowingOriginalPencilValidationScale) {
|
||||
// Every local K entry, eigenvalue, and spectral enclosure is representable.
|
||||
// The all-odd x Walsh mode still overflows the original residual/energy
|
||||
// denominators: finite / infinity must never become passing zero evidence.
|
||||
auto domain = Brick(24U, "", 1.0, 2.0, 3e306);
|
||||
ASSERT_TRUE(domain.HasValue()) << StatusText(domain.GetStatus());
|
||||
const auto result =
|
||||
fesa::SolidFrequencyProcedureExecutor{}.Execute(domain.Value());
|
||||
ASSERT_FALSE(result.HasValue());
|
||||
ASSERT_FALSE(result.GetStatus().Diagnostics().empty());
|
||||
EXPECT_EQ(result.GetStatus().Diagnostics()[0].code,
|
||||
"solid-eigenpair-validation-failed");
|
||||
EXPECT_NE(result.GetStatus().Diagnostics()[0].message.find("nonfinite"),
|
||||
std::string::npos);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user