use crate::events::{AgentEvent, AgentObserver};
use std::sync::{Arc, Mutex};
#[derive(Default)]
pub struct FakeAgentObserver {
events: Arc<Mutex<Vec<AgentEvent>>>,
}
impl FakeAgentObserver {
pub fn new() -> Self {
Self::default()
}
pub fn events(&self) -> Arc<Mutex<Vec<AgentEvent>>> {
Arc::clone(&self.events)
}
}
impl AgentObserver for FakeAgentObserver {
fn on_event(&mut self, message: &AgentEvent) {
self.events.lock().unwrap().push(message.clone());
}
}