fix(data): reject normalized reserved adjustment keys
This commit is contained in:
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user