aether_core/testing/
fake_agent_observer.rs1use crate::events::{AgentEvent, AgentObserver};
2use std::sync::{Arc, Mutex};
3
4#[derive(Default)]
7pub struct FakeAgentObserver {
8 events: Arc<Mutex<Vec<AgentEvent>>>,
9}
10
11impl FakeAgentObserver {
12 pub fn new() -> Self {
13 Self::default()
14 }
15
16 pub fn events(&self) -> Arc<Mutex<Vec<AgentEvent>>> {
18 Arc::clone(&self.events)
19 }
20}
21
22impl AgentObserver for FakeAgentObserver {
23 fn on_event(&mut self, message: &AgentEvent) {
24 self.events.lock().unwrap().push(message.clone());
25 }
26}