use crate::utils::errors::BraheError;
pub(crate) fn ccsds_parse_error(msg_type: &str, detail: &str) -> BraheError {
BraheError::ParseError(format!("CCSDS {}: {}", msg_type, detail))
}
pub(crate) fn ccsds_missing_field(msg_type: &str, field: &str) -> BraheError {
BraheError::ParseError(format!(
"CCSDS {}: missing required field '{}'",
msg_type, field
))
}
#[cfg(test)]
#[cfg_attr(coverage_nightly, coverage(off))]
mod tests {
use super::*;
#[test]
fn test_ccsds_parse_error() {
let err = ccsds_parse_error("OEM", "invalid format version");
match err {
BraheError::ParseError(msg) => {
assert_eq!(msg, "CCSDS OEM: invalid format version");
}
_ => panic!("Expected ParseError"),
}
}
#[test]
fn test_ccsds_missing_field() {
let err = ccsds_missing_field("OPM", "OBJECT_NAME");
match err {
BraheError::ParseError(msg) => {
assert_eq!(msg, "CCSDS OPM: missing required field 'OBJECT_NAME'");
}
_ => panic!("Expected ParseError"),
}
}
}