Add unit coverage for digital pointer CoT payloads

This commit is contained in:
Valmo Trindade
2026-08-07 14:23:29 -03:00
parent 2c6ca81669
commit 7374b7222d
+31
View File
@@ -45,3 +45,34 @@ impl DigitalPointerPayload {
}
}
}
#[cfg(test)]
mod tests {
use super::DigitalPointerPayload;
use arma_rs::FromArma;
#[test]
fn parses_digital_pointer_and_maps_spi_contract() {
let payload = DigitalPointerPayload::from_arma(
r#"["operator-1","Falcon SPI",-30.1,-51.2,20.0]"#.to_string(),
)
.expect("digital pointer should parse");
assert_eq!(payload.link_uid, "operator-1");
assert_eq!(payload.contact_callsign, "Falcon SPI");
let cot = payload.to_cot();
assert_eq!(cot.uuid.as_deref(), Some("operator-1.SPI1"));
assert_eq!(cot.r#type.as_deref(), Some("b-m-p-s-p-i"));
assert_eq!(cot.point_lat, -30.1);
assert_eq!(cot.point_lon, -51.2);
assert_eq!(cot.point_hae, 20.0);
assert_eq!(cot.contact_callsign, "Falcon SPI");
assert_eq!(cot.link_uid.as_deref(), Some("operator-1"));
assert_eq!(cot.stale_seconds, Some(7));
assert!(cot.group_name.is_none());
assert!(cot.track_course.is_none());
assert!(cot.remarker.is_none());
assert!(cot.video_url.is_none());
}
}