diff --git a/tests/connection_actor.rs b/tests/connection_actor.rs index 2ed5ab16..bc2f8359 100644 --- a/tests/connection_actor.rs +++ b/tests/connection_actor.rs @@ -119,11 +119,25 @@ async fn queue_frames( highs.into_iter().chain(lows.into_iter()).collect() } +// Ensure the helper correctly handles edge cases without queued frames. #[rstest] -#[case(vec![Priority::High, Priority::High, Priority::High, Priority::Low, Priority::Low])] -#[case(vec![Priority::Low, Priority::Low, Priority::High, Priority::High, Priority::High])] +#[tokio::test] +async fn queue_frames_empty_input(queues: (PushQueues, wireframe::push::PushHandle)) { + let (_, handle) = queues; + let priorities: &[Priority] = &[]; + let result = queue_frames(priorities, &handle, 0).await; + assert!(result.is_empty(), "Expected empty output for empty input"); +} + +#[rstest] +#[case(Vec::new())] +#[case(vec![Priority::High])] +#[case(vec![Priority::Low])] +#[case(vec![Priority::High, Priority::Low])] #[case(vec![Priority::High; 3])] #[case(vec![Priority::Low; 3])] +#[case(vec![Priority::High, Priority::High, Priority::High, Priority::Low, Priority::Low])] +#[case(vec![Priority::Low, Priority::Low, Priority::High, Priority::High, Priority::High])] #[case(vec![ Priority::High, Priority::Low,