def options_to_string(l): return ", ".join(["'%s'" % k[0] for k in l]) if Configuration.parse_custom_docs: from pymoo.docs import parse_doc_string from pymoo.factory import get_algorithm_options, get_selection_options, get_crossover_options, \ get_mutation_options, get_termination_options, get_algorithm, get_selection, get_crossover, get_mutation, \ get_termination, get_sampling, get_sampling_options parse_doc_string( dummy, get_algorithm, { "type": "algorithm", "clazz": ":class:`~pymoo.model.algorithm.Algorithm`", "options": options_to_string(get_algorithm_options()) }) parse_doc_string( dummy, get_sampling, { "type": "sampling", "clazz": ":class:`~pymoo.model.sampling.Sampling`", "options": options_to_string(get_sampling_options()) }) parse_doc_string( dummy, get_selection, { "type": "selection", "clazz": ":class:`~pymoo.model.selection.Selection`", "options": options_to_string(get_selection_options()) })
def get_algorithm(name, *args, d={}, **kwargs): return get_from_list(get_algorithm_options(), name, args, {**d, **kwargs})
import pytest from hebo.models.model_factory import model_dict from pymoo.factory import get_algorithm_options from orion.algo.hebo.hebo_algo import ( HEBO, EvolutionStrategyName, ModelName, properly_seeded_models, ) from orion.testing.algo import BaseAlgoTests, TestPhase, first_phase_only if typing.TYPE_CHECKING: from _pytest.fixtures import SubRequest _model_names = sorted(model_dict.keys()) _es_names = sorted(dict(get_algorithm_options()).keys()) RUN_QUICK = True # NOTE: Can set this to either `skip_param` or `xfail_param` to make the tests shorter or stricter. def skip_or_xfail_mark(*args, reason: str, raises: type[Exception] | tuple[type[Exception], ...] = ()): if raises and not RUN_QUICK: return pytest.mark.xfail(*args, reason=reason, raises=raises) return pytest.mark.skip(reason=reason) @pytest.fixture(params=_model_names)