test: use canonical local timestamps in signal consumption cases
This commit is contained in:
@@ -422,13 +422,13 @@ mod tests {
|
|||||||
raw.snapshots[0].generated_at="2025-01-07T08:45:00+08:00".parse().unwrap();
|
raw.snapshots[0].generated_at="2025-01-07T08:45:00+08:00".parse().unwrap();
|
||||||
raw.snapshots[0].published_at="2025-01-07T08:46:00+08:00".parse().unwrap();
|
raw.snapshots[0].published_at="2025-01-07T08:46:00+08:00".parse().unwrap();
|
||||||
let value=seal(raw).validate().unwrap();
|
let value=seal(raw).validate().unwrap();
|
||||||
for clock in ["2025-01-06 15:00:00", "2025-01-07 08:45:00"] {
|
for clock in ["2025-01-06T15:00:00", "2025-01-07T08:45:00"] {
|
||||||
at_context(Some(clock.parse().unwrap()), |ctx| {
|
at_context(Some(clock.parse().unwrap()), |ctx| {
|
||||||
assert_eq!(value.intents(ctx).unwrap_err(),"observed_signal_published_after_consumption_clock");
|
assert_eq!(value.intents(ctx).unwrap_err(),"observed_signal_published_after_consumption_clock");
|
||||||
assert!(ctx.portfolio.positions().is_empty());
|
assert!(ctx.portfolio.positions().is_empty());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
at_context(Some("2025-01-07 09:30:00".parse().unwrap()), |ctx| {
|
at_context(Some("2025-01-07T09:30:00".parse().unwrap()), |ctx| {
|
||||||
assert_eq!(value.intents(ctx).unwrap().len(),1);
|
assert_eq!(value.intents(ctx).unwrap().len(),1);
|
||||||
assert!(ctx.portfolio.positions().is_empty());
|
assert!(ctx.portfolio.positions().is_empty());
|
||||||
});
|
});
|
||||||
@@ -438,8 +438,8 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn reconstruction_ignores_research_wall_clock_but_never_early_input_availability() {
|
fn reconstruction_ignores_research_wall_clock_but_never_early_input_availability() {
|
||||||
let value=book().validate().unwrap();
|
let value=book().validate().unwrap();
|
||||||
at_context(Some("2025-01-06 15:00:00".parse().unwrap()), |ctx| assert!(value.intents(ctx).is_ok()));
|
at_context(Some("2025-01-06T15:00:00".parse().unwrap()), |ctx| assert!(value.intents(ctx).is_ok()));
|
||||||
at_context(Some("2025-01-06 14:59:59".parse().unwrap()), |ctx| {
|
at_context(Some("2025-01-06T14:59:59".parse().unwrap()), |ctx| {
|
||||||
assert_eq!(value.intents(ctx).unwrap_err(),"signal_not_available_at_consumption_clock");
|
assert_eq!(value.intents(ctx).unwrap_err(),"signal_not_available_at_consumption_clock");
|
||||||
});
|
});
|
||||||
let mut raw=book();
|
let mut raw=book();
|
||||||
@@ -447,7 +447,7 @@ mod tests {
|
|||||||
raw.snapshots[0].input_available_at=raw.snapshots[0].input_as_of;
|
raw.snapshots[0].input_available_at=raw.snapshots[0].input_as_of;
|
||||||
raw.snapshots[0].signal_at=raw.snapshots[0].input_as_of;
|
raw.snapshots[0].signal_at=raw.snapshots[0].input_as_of;
|
||||||
let value=seal(raw).validate().unwrap();
|
let value=seal(raw).validate().unwrap();
|
||||||
at_context(Some("2025-01-07 09:30:00".parse().unwrap()), |ctx| {
|
at_context(Some("2025-01-07T09:30:00".parse().unwrap()), |ctx| {
|
||||||
assert_eq!(value.intents(ctx).unwrap_err(),"next_open_signal_contains_execution_session_inputs");
|
assert_eq!(value.intents(ctx).unwrap_err(),"next_open_signal_contains_execution_session_inputs");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user