From 15e45fff71c6f67c4463886e2c0ed8a8447147bd Mon Sep 17 00:00:00 2001 From: Valmo Trindade <70849974+valmojr@users.noreply.github.com> Date: Fri, 7 Aug 2026 14:22:10 -0300 Subject: [PATCH] Add unit coverage for CoT forced delete payloads --- src/cot/delete.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/cot/delete.rs b/src/cot/delete.rs index de175ee..c304255 100644 --- a/src/cot/delete.rs +++ b/src/cot/delete.rs @@ -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("")); + 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("")); + assert!(xml.contains("<__forcedelete />")); + assert!(xml.ends_with("")); + } +}