Example #1
0
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())
        })
Example #2
0
def get_algorithm(name, *args, d={}, **kwargs):
    return get_from_list(get_algorithm_options(), name, args, {**d, **kwargs})
Example #3
0
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)