use super::ToolStatus;
use serde_json::json;
#[test]
fn round4_10_interrupted_is_a_declared_terminal_wire_status() -> anyhow::Result<()> {
let status: ToolStatus = serde_json::from_value(json!("interrupted"))?;
assert!(status.terminal());
assert_eq!(serde_json::to_value(status)?, "interrupted");
for word in ["pending", "in_progress", "completed", "failed"] {
let status: ToolStatus = serde_json::from_value(json!(word))?;
assert_eq!(status.terminal(), matches!(word, "completed" | "failed"));
}
assert!(serde_json::from_value::<ToolStatus>(json!("imaginary")).is_err());
Ok(())
}