use std::cell::RefCell; use archlens_domain::{DomainError, RenderOutput, ports::OutputWriter}; pub struct FakeOutputWriter { written: RefCell>, } impl FakeOutputWriter { pub fn new() -> Self { Self { written: RefCell::new(Vec::new()), } } pub fn written_outputs(&self) -> Vec { self.written.borrow().clone() } } impl OutputWriter for FakeOutputWriter { fn write(&self, output: &RenderOutput) -> Result<(), DomainError> { self.written.borrow_mut().push(output.clone()); Ok(()) } }