test: use canonical local timestamps in signal consumption cases

This commit is contained in:
boris
2026-09-11 05:25:18 +08:00
parent cb6f57be6f
commit adbfadcc07
+5 -5
View File
@@ -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");
}); });
} }