This commit is contained in:
Mateusz Gruszczyński committed 2026-10-20 23:04:43 +02:00
1 parent 8059e16d12
commit 05185a94f7
1 file changed
+87 -13
+87 -13
View File
@@ -253,15 +253,39 @@ mod tests {
..Default::default()
};
assert!(flow_zone_action_already_satisfied(
&zone, false, 0, 0, Some("custom"), &on, None, None
&zone,
false,
0,
0,
Some("custom"),
&on,
None,
None,
None
));
assert!(!flow_zone_action_already_satisfied(
&zone, false, 0, 0, Some("custom"), &on, Some(1.1), Some(5.0)
&zone,
false,
0,
0,
Some("custom"),
&on,
Some(1.1),
Some(5.0),
None
));
zone.heat_anticipation_c = 1.1;
zone.standby_offset_c = 5.0;
assert!(flow_zone_action_already_satisfied(
&zone, false, 0, 0, Some("custom"), &on, Some(1.1), Some(5.0)
&zone,
false,
0,
0,
Some("custom"),
&on,
Some(1.1),
Some(5.0),
None
));
zone.manual_preset = None;
@@ -276,10 +300,26 @@ mod tests {
..Default::default()
};
assert!(flow_zone_action_already_satisfied(
&zone, false, 0, 0, Some("auto"), &off, None, None
&zone,
false,
0,
0,
Some("auto"),
&off,
None,
None,
None
));
assert!(!flow_zone_action_already_satisfied(
&zone, true, 0, 0, Some("auto"), &off, None, None
&zone,
true,
0,
0,
Some("auto"),
&off,
None,
None,
None
));
}
@@ -298,10 +338,26 @@ mod tests {
..Default::default()
};
assert!(!flow_zone_action_already_satisfied(
&zone, true, 0, 0, Some("custom"), &action, None, None
&zone,
true,
0,
0,
Some("custom"),
&action,
None,
None,
None
));
assert!(flow_zone_action_already_satisfied(
&zone, true, 1, 0, Some("custom"), &action, None, None
&zone,
true,
1,
0,
Some("custom"),
&action,
None,
None,
None
));
}
@@ -429,13 +485,28 @@ mod tests {
#[test]
fn flow_change_gate_latches_until_action_ack_or_input_reset() {
let mut state = crate::models::FlowRuntimeNodeState::default();
assert_eq!(flow_change_gate_update(&mut state, json!(false), false), (false, false));
assert_eq!(flow_change_gate_update(&mut state, json!(true), true), (true, true));
assert_eq!(flow_change_gate_update(&mut state, json!(true), true), (false, true));
assert_eq!(
flow_change_gate_update(&mut state, json!(false), false),
(false, false)
);
assert_eq!(
flow_change_gate_update(&mut state, json!(true), true),
(true, true)
);
assert_eq!(
flow_change_gate_update(&mut state, json!(true), true),
(false, true)
);
state.pending = false;
assert_eq!(flow_change_gate_update(&mut state, json!(true), true), (false, false));
assert_eq!(
flow_change_gate_update(&mut state, json!(true), true),
(false, false)
);
state.pending = true;
assert_eq!(flow_change_gate_update(&mut state, json!(false), false), (true, false));
assert_eq!(
flow_change_gate_update(&mut state, json!(false), false),
(true, false)
);
}
#[test]
@@ -464,7 +535,10 @@ mod tests {
fn flow_rolling_statistics_require_a_full_window_and_prune_samples() {
let mut state = crate::models::FlowRuntimeNodeState::default();
let start = Utc.with_ymd_and_hms(2026, 9, 2, 12, 0, 0).unwrap();
assert_eq!(flow_rolling_stat_update(&mut state, 10.0, 60, "mean", start), None);
assert_eq!(
flow_rolling_stat_update(&mut state, 10.0, 60, "mean", start),
None
);
assert_eq!(
flow_rolling_stat_update(
&mut state,