Add unit coverage for CoT forced delete payloads

This commit is contained in:
Valmo Trindade
2026-08-07 14:22:10 -03:00
parent 3724a85c9f
commit 15e45fff71
+29
View File
@@ -43,3 +43,32 @@ impl DeleteCoTPayload {
)
}
}
#[cfg(test)]
mod tests {
use super::DeleteCoTPayload;
use arma_rs::FromArma;
#[test]
fn parses_and_serializes_forced_delete_cot() {
let payload = DeleteCoTPayload::from_arma(
r#"["target-1","a-f-G-U-C",-30.1,-51.2,123.5]"#.to_string(),
)
.expect("delete CoT payload should parse");
assert_eq!(payload.target_uid, "target-1");
assert_eq!(payload.target_type, "a-f-G-U-C");
assert_eq!(payload.point_lat, -30.1);
assert_eq!(payload.point_lon, -51.2);
assert_eq!(payload.point_hae, 123.5);
let xml = payload.to_xml();
assert!(xml.starts_with("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"));
assert!(xml.contains("type=\"t-x-d-d\""));
assert!(xml.contains("uid=\"target-1.delete\""));
assert!(xml.contains("hae=\"123.5\" lat=\"-30.1\" lon=\"-51.2\""));
assert!(xml.contains("<link uid=\"target-1\" type=\"a-f-G-U-C\" relation=\"none\" />"));
assert!(xml.contains("<__forcedelete />"));
assert!(xml.ends_with("</detail></event>"));
}
}