fix: enforce validity descriptor class
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
@@ -36,6 +36,8 @@ FieldProfileValidationResult FieldProfileValidator::validate(const ResolvedField
|
|||||||
if (!frame.isStructurallyValid()) return result(FieldProfileValidationCode::InvalidFrame, "frame");
|
if (!frame.isStructurallyValid()) return result(FieldProfileValidationCode::InvalidFrame, "frame");
|
||||||
if (!contract.sharedValidityRequired)
|
if (!contract.sharedValidityRequired)
|
||||||
return result(FieldProfileValidationCode::UnsupportedSharedValidityMode, "sharedValidityRequired=false");
|
return result(FieldProfileValidationCode::UnsupportedSharedValidityMode, "sharedValidityRequired=false");
|
||||||
|
if (frame.validityPlane.valueClass != FieldValueClass::Validity)
|
||||||
|
return result(FieldProfileValidationCode::InvalidCoreUnit, "validity value class");
|
||||||
|
|
||||||
if ((contract.timeRelation == FieldTimeRelation::ValidGteReference &&
|
if ((contract.timeRelation == FieldTimeRelation::ValidGteReference &&
|
||||||
frame.frameContentIdentity.validTimeMs < frame.referenceTimeMs) ||
|
frame.frameContentIdentity.validTimeMs < frame.referenceTimeMs) ||
|
||||||
|
|||||||
@@ -113,6 +113,8 @@ TEST(ParticleFieldProfileValidator, EnforcesVelocityDirectionAndValidityCoreRule
|
|||||||
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
|
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
|
||||||
f = frame(); f.validityPlane.unitID = 1;
|
f = frame(); f.validityPlane.unitID = 1;
|
||||||
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
|
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
|
||||||
|
f = frame(); f.validityPlane.valueClass = particle::FieldValueClass::Scalar;
|
||||||
|
EXPECT_EQ(validate(c, f), particle::FieldProfileValidationCode::InvalidCoreUnit);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(ParticleFieldProfileValidator, AppliesSchemaSharedValidityAndTimeRules) {
|
TEST(ParticleFieldProfileValidator, AppliesSchemaSharedValidityAndTimeRules) {
|
||||||
|
|||||||
Reference in New Issue
Block a user