memfault_ssf/
service_mock.rs1use std::sync::mpsc::Receiver;
5
6use crate::{Message, MsgMailbox};
7
8pub struct ServiceMock<M: Message> {
10 pub mbox: MsgMailbox<M>,
11 receiver: Receiver<M>,
12}
13
14impl<M: Message> ServiceMock<M> {
15 pub fn new() -> Self {
16 let (mbox, receiver) = MsgMailbox::mock();
17 Self { mbox, receiver }
18 }
19
20 pub fn new_bounded(channel_size: usize) -> Self {
21 let (mbox, receiver) = MsgMailbox::bounded_mock(channel_size);
22 Self { mbox, receiver }
23 }
24
25 pub fn take_messages(&mut self) -> Vec<M> {
26 self.receiver.try_iter().collect()
27 }
28}
29
30impl<M: Message> Default for ServiceMock<M> {
31 fn default() -> Self {
32 Self::new()
33 }
34}