spectator/writer/memory_writer.py (20 lines of code) (raw):

from spectator.writer import Writer from typing import List class MemoryWriter(Writer): """Writer that stores lines in a list, to support unit testing.""" def __init__(self) -> None: super().__init__() self._logger.debug("initialize MemoryWriter") self._messages = [] def write(self, line: str) -> None: self._logger.debug("write line=%s", line) self._messages.append(line) def close(self) -> None: self._messages.clear() def get(self) -> List[str]: return self._messages def clear(self) -> None: self._messages.clear() def is_empty(self) -> bool: return len(self._messages) == 0 def last_line(self) -> str: return self._messages[-1]