use serde::{Deserialize, Serialize};
#[serde_with::skip_serializing_none]
#[derive(Default, Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
pub struct CauseCode {
pub cause: u8,
pub subcause: Option<u8>,
}
#[cfg(test)]
mod tests {
use crate::exchange::etsi::cause_code::CauseCode;
#[test]
fn test_deserialize_cause_code() {
let data = r#"{
"cause": 100,
"subcause": 255
}"#;
match serde_json::from_str::<CauseCode>(data) {
Ok(object) => {
assert_eq!(object.cause, 100);
assert_eq!(object.subcause, Some(255));
}
Err(e) => panic!("Failed to deserialize a CauseCode: '{e}'"),
}
}
}