Source code for rtm_wrapper.engines.dummy

"""
Mock RTM engines. Useful for development.
"""

from __future__ import annotations

import logging

from typing_extensions import Never

from rtm_wrapper.engines.base import EngineOutputs, RTMEngine
from rtm_wrapper.simulation import Inputs


# TODO: update to new ouptut api
[docs] class DummyEngine(RTMEngine): """Dummy engine that logs its inputs and produces no outputs."""
[docs] def run_simulation(self, inputs: Inputs) -> EngineOutputs: logger = logging.getLogger(__name__) logger.info("%r", inputs) return {}
[docs] class NotImplementedEngine(RTMEngine): """Dummy engine that raises ``NotImplementedError`` when run."""
[docs] def run_simulation(self, inputs: Inputs) -> Never: raise NotImplementedError