Skip to content

check_composite_combination_validation

yohou.testing.check_composite_combination_validation(compositor, descriptor, operate)

Check an unknown combination raises.

Parameters

Name Type Description Default
compositor BaseEstimator

A {multiply, mean} compositor instance (for its type).

required
descriptor dict

Carries "attr" and "components".

required
operate callable

Invoked with a freshly-built compositor to trigger validation.

required

Raises

Type Description
AssertionError

If the invalid combination is accepted.

Source Code

Source code in src/yohou/testing/composite.py
def check_composite_combination_validation(compositor, descriptor: dict, operate: Callable) -> None:
    """Check an unknown ``combination`` raises.

    Parameters
    ----------
    compositor : BaseEstimator
        A ``{multiply, mean}`` compositor instance (for its type).
    descriptor : dict
        Carries ``"attr"`` and ``"components"``.
    operate : callable
        Invoked with a freshly-built compositor to trigger validation.

    Raises
    ------
    AssertionError
        If the invalid combination is accepted.

    """
    name = type(compositor).__name__
    attr = descriptor["attr"]
    bad = type(compositor)(**{attr: descriptor["components"], "combination": "__invalid__"})
    try:
        operate(bad)
    except ValueError:
        return
    raise AssertionError(f"{name}: unknown combination was accepted; expected ValueError")