From e435e06559d174f36415056bf5d9f3286c3e111e Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Mon, 5 Feb 2024 15:53:11 +0100 Subject: [PATCH] added additional test --- satrs-core/src/pus/scheduler.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/satrs-core/src/pus/scheduler.rs b/satrs-core/src/pus/scheduler.rs index 699a439..549c8cd 100644 --- a/satrs-core/src/pus/scheduler.rs +++ b/satrs-core/src/pus/scheduler.rs @@ -1932,6 +1932,35 @@ mod tests { assert_eq!(pus_tc_reader, ping_tc); } + #[test] + fn test_generic_insert_app_data_test_byte_conv_error() { + let time_writer = cds::TimeProvider::new_with_u16_days(1, 1); + let mut sph = SpHeader::new( + PacketId::const_new(PacketType::Tc, true, 0x002), + PacketSequenceCtrl::const_new(SequenceFlags::Unsegmented, 5), + 0, + ); + let sec_header = PusTcSecondaryHeader::new_simple(17, 1); + let ping_tc = PusTcCreator::new_no_app_data(&mut sph, sec_header, true); + let mut buf: [u8; 16] = [0; 16]; + let result = generate_insert_telecommand_app_data(&mut buf, &time_writer, &ping_tc); + assert!(result.is_err()); + let error = result.unwrap_err(); + if let ScheduleError::ByteConversionError(ByteConversionError::ToSliceTooSmall { + found, + expected, + }) = error + { + assert_eq!(found, 16); + assert_eq!( + expected, + 2 + time_writer.len_written() + ping_tc.len_written() + ); + } else { + panic!("unexpected error {error}") + } + } + #[test] fn test_generic_insert_app_data_test_as_vec() { let time_writer = cds::TimeProvider::new_with_u16_days(1, 1);