fix(data): reject normalized reserved adjustment keys
This commit is contained in:
@@ -4403,6 +4403,16 @@ fn normalize_factor_snapshots(
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.collect();
|
.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)
|
Ok(snapshot)
|
||||||
})
|
})
|
||||||
.collect()
|
.collect()
|
||||||
@@ -6349,6 +6359,21 @@ mod tests {
|
|||||||
normalize_factor_snapshots(vec![snapshot(Some(0.0), BTreeMap::new())]),
|
normalize_factor_snapshots(vec![snapshot(Some(0.0), BTreeMap::new())]),
|
||||||
Err(DataSetError::InvalidBackwardAdjustmentFactor { .. })
|
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]
|
#[test]
|
||||||
|
|||||||
Reference in New Issue
Block a user