1use agent_base::{AgentResult, RuntimeEvent};
2
3use crate::render::EventRenderer;
4
5pub struct NullRenderer;
8
9impl EventRenderer for NullRenderer {
10 fn render(&mut self, _event: RuntimeEvent) -> AgentResult<()> {
11 Ok(())
12 }
13
14 fn finish_turn(&mut self) -> AgentResult<()> {
15 Ok(())
16 }
17}
18
19#[cfg(test)]
20mod tests {
21 use super::*;
22 use agent_base::SessionId;
23
24 #[test]
25 fn test_null_renderer_always_ok() {
26 let mut r = NullRenderer;
27 assert!(r.render(RuntimeEvent::RunFinished { session_id: SessionId { id: 1, external_id: None } }).is_ok());
28 assert!(r.render(RuntimeEvent::RunCancelled { session_id: SessionId { id: 1, external_id: None } }).is_ok());
29 assert!(r.finish_turn().is_ok());
30 assert!(r.finish_session().is_ok());
31 }
32}