from delta.runners.run import DeltaRun


class AbstractDeltaRunnerTest(DeltaRun):
    def __init__(self, parameters: dict, value: str):
        super().__init__(parameters)
        self.__value = value

    def configure(self, **kwargs):
        pass

    def start(self, **kwargs):
        pass

    def stop(self, **kwargs):
        pass

    def resume(self, **kwargs):
        pass

    def monitor(self, **kwargs):
        pass

    @property
    def value(self) -> str:
        return self.__value

    @property
    def get_parameters(self) -> dict:
        return self._parameters


class RunnerA(AbstractDeltaRunnerTest):
    def __init__(self, parameters: dict):
        super().__init__(parameters, 'A')


class RunnerB(AbstractDeltaRunnerTest):
    def __init__(self, parameters: dict):
        super().__init__(parameters, 'B')
