/tests/functional/configuration/conftest.py
Python | 39 lines | 20 code | 13 blank | 6 comment | 2 complexity | 425790adddc7f96db4b0942263761a51 MD5 | raw file
- """Common fixtures and utils for configuration tests."""
- from orion.algo.base import BaseAlgorithm
- from orion.core.worker.strategy import ParallelStrategy, strategy_factory
- def __init__(self, *args, **params):
- """Initialize the parent class"""
- self.params = params
- super(type(self), self).__init__(*args, **params)
- def stub(self, *args, **kwargs):
- """Just a stub..."""
- pass
- def configuration(self):
- """Configuration based on self.params"""
- return {self.__class__.__name__.lower(): self.params}
- # Keep pointers to classes so that they are not garbage collected.
- algo_classes = []
- for char in "ABCDE":
- algo_class = type(f"A{char}", (BaseAlgorithm,), {"suggest": stub, "observe": stub})
- algo_classes.append(algo_class)
- # Keep pointers to classes so that they are not garbage collected.
- strategy_classes = []
- for char in "ABCDE":
- strategy_class = type(
- f"S{char}", (ParallelStrategy,), {"observe": stub, "__init__": __init__}
- )
- strategy_class.configuration = property(configuration)
- strategy_classes.append(strategy_class)