rmv_bevy_testing_tools/traits/
write_messages.rs1use bevy_ecs::message::{Message, WriteBatchIds};
2
3use crate::prelude::TestApp;
4
5#[doc = include_str!("./write_messages.md")]
6pub trait WriteMessages {
7 fn write_message_default<E: Message + Default>(&mut self);
8 fn write_message<E: Message>(&mut self, message: E);
9 fn write_message_batch<E: Message>(
10 &mut self,
11 messages: impl IntoIterator<Item = E>,
12 ) -> Option<WriteBatchIds<E>>;
13}
14
15impl WriteMessages for TestApp {
16 fn write_message_default<E: Message + Default>(&mut self) {
17 self.world_mut().write_message_default::<E>();
18 }
19 fn write_message<E: Message>(&mut self, message: E) {
20 self.world_mut().write_message::<E>(message);
21 }
22 fn write_message_batch<E: Message>(
23 &mut self,
24 messages: impl IntoIterator<Item = E>,
25 ) -> Option<WriteBatchIds<E>> {
26 self.world_mut().write_message_batch(messages)
27 }
28}