#[derive(Debug, Default, Clone)]
pub struct ScratchpadStepState {
pub readonly_tool_successes: usize,
pub scratchpad_writes_this_step: usize,
}
impl ScratchpadStepState {
pub fn reset(&mut self) {
*self = Self::default();
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn default_state_has_zero_counters() {
let state = ScratchpadStepState::default();
assert_eq!(state.readonly_tool_successes, 0);
assert_eq!(state.scratchpad_writes_this_step, 0);
}
#[test]
fn reset_zeros_all_fields() {
let mut state = ScratchpadStepState {
readonly_tool_successes: 7,
scratchpad_writes_this_step: 3,
};
state.reset();
assert_eq!(state.readonly_tool_successes, 0);
assert_eq!(state.scratchpad_writes_this_step, 0);
}
}