fix(data): reject normalized reserved adjustment keys

This commit is contained in:
boris
2026-09-07 19:38:28 +08:00
parent 5ffbf76565
commit f3cc790659
+25
View File
@@ -4403,6 +4403,16 @@ fn normalize_factor_snapshots(
}
})
.collect();
if snapshot
.extra_factors
.contains_key(BACKWARD_ADJUSTMENT_FACTOR_FIELD)
{
return Err(DataSetError::ReservedTypedFactorInExtraMap {
date: snapshot.date,
symbol: snapshot.symbol,
field: BACKWARD_ADJUSTMENT_FACTOR_FIELD,
});
}
Ok(snapshot)
})
.collect()
@@ -6349,6 +6359,21 @@ mod tests {
normalize_factor_snapshots(vec![snapshot(Some(0.0), BTreeMap::new())]),
Err(DataSetError::InvalidBackwardAdjustmentFactor { .. })
));
for field in [
" ADJUSTMENT_FACTOR_BACKWARD1 ",
"\"adjustment_factor_backward1\"",
"'adjustment_factor_backward1'",
] {
for typed_value in [None, Some(1.0)] {
assert!(matches!(
normalize_factor_snapshots(vec![snapshot(
typed_value,
BTreeMap::from([(Cow::Borrowed(field), 2.0)]),
)]),
Err(DataSetError::ReservedTypedFactorInExtraMap { .. })
), "reserved alias accepted: {field}");
}
}
}
#[test]