dstar_gateway_core/slowdata/
error.rs1#[derive(Debug, Clone, thiserror::Error, PartialEq, Eq)]
5#[non_exhaustive]
6pub enum SlowDataError {
7 #[error("slow data block has zero length")]
9 ZeroLength,
10
11 #[error("slow data block length {got} exceeds max 18")]
13 LengthOverflow {
14 got: usize,
16 },
17
18 #[error("slow data assembler internal buffer overflow")]
21 BufferOverflow,
22}
23
24#[cfg(test)]
25mod tests {
26 use super::*;
27
28 #[test]
29 fn zero_length_display() {
30 let err = SlowDataError::ZeroLength;
31 assert!(err.to_string().contains("zero length"));
32 }
33
34 #[test]
35 fn length_overflow_display() {
36 let err = SlowDataError::LengthOverflow { got: 25 };
37 assert!(err.to_string().contains("25"));
38 }
39
40 #[test]
41 fn buffer_overflow_display() {
42 let err = SlowDataError::BufferOverflow;
43 assert_eq!(
44 err.to_string(),
45 "slow data assembler internal buffer overflow"
46 );
47 }
48}