Skip to content

Commit

Permalink
test: no-stream
Browse files Browse the repository at this point in the history
  • Loading branch information
Autoparallel committed Feb 16, 2024
1 parent a764c0a commit 2eae205
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 2 deletions.
10 changes: 8 additions & 2 deletions engine/tests/common.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ use arbiter_engine::{
};
use serde::{Deserialize, Serialize};

#[allow(unused)]
fn trace() {
std::env::set_var("RUST_LOG", "trace");
tracing_subscriber::fmt::init();
}

fn default_max_count() -> Option<u64> {
Some(3)
}
Expand Down Expand Up @@ -53,12 +59,12 @@ impl Behavior<Message> for TimedMessage {
&mut self,
_client: Arc<ArbiterMiddleware>,
messager: Messager,
) -> Result<EventStream<Message>> {
) -> Result<Option<EventStream<Message>>> {
if let Some(startup_message) = &self.startup_message {
messager.send(To::All, startup_message).await?;
}
self.messager = Some(messager.clone());
Ok(messager.stream()?)
Ok(Some(messager.stream()?))
}

async fn process(&mut self, event: Message) -> Result<ControlFlow> {
Expand Down
28 changes: 28 additions & 0 deletions engine/tests/machine_integration.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
use arbiter_engine::{agent::Agent, world::World};

include!("common.rs");

#[derive(Debug, Deserialize, Serialize)]
struct MockBehavior;

#[async_trait::async_trait]
impl Behavior<()> for MockBehavior {
async fn startup(
&mut self,
_client: Arc<ArbiterMiddleware>,
_messager: Messager,
) -> Result<Option<EventStream<()>>> {
Ok(None)
}
}

#[tokio::test]
async fn behavior_no_stream() {
trace();
let mut world = World::new("test");
let behavior = MockBehavior;
let agent = Agent::builder("agent").with_behavior(behavior);
world.add_agent(agent);

world.run().await.unwrap();
}

0 comments on commit 2eae205

Please sign in to comment.