# AUTOGENERATED! DO NOT EDIT! File to edit: nbs/4.0_benchmark.i.ipynb (unless otherwise specified).

__all__ = ['Testbed', 'Procedure', 'Benchmark']

# Cell
# Imports
from abc import ABC, abstractmethod

# Cell
class Testbed(ABC):
    def __init__(self, data):
        self.data = data
        super().__init__()

    @abstractmethod
    def evaluate(self, inpt):
        pass

# Cell
class Procedure(ABC):
    def __init__(self, metrics):
        self.metrics = metrics
        super().__init__()

    @abstractmethod
    def evaluate(self, inpt):
        pass

# Cell
class Benchmark(ABC):
    def __init__(self, testbed, procedure):
        self.testbed = testbed
        self.procedure = procedure
        super().__init__()

    @abstractmethod
    def evaluate(self, inpt):
        pass