pydynamicestimator.tests.test_inverter_init_composition

The strategy-composed sequential init: each strategy owns its stage, the host orchestrates by name. The byte-identity that this reproduces the old monolithic init is covered by the recur/selector/init-method gates; here we lock the two new guarantees of the composition:

  1. Compatibility warning – if the inner controller needs a plant capability the filter doesn’t provide, the host warns (but continues).

  2. Init guard – a strategy that provides no finit_sequential raises a clear error instead of silently mis-initializing.

Functions

test_default_combo_no_warning(caplog)

The default LCL + Cascaded combo is compatible (capacitor provided).

test_capability_mismatch_warns(caplog, monkeypatch)

An inner controller requiring a plant feature the filter lacks warns.

test_sequential_init_guard(monkeypatch)

A strategy with no sequential init raises a clear error (rather than

Module Contents

pydynamicestimator.tests.test_inverter_init_composition.test_default_combo_no_warning(caplog)[source]

The default LCL + Cascaded combo is compatible (capacitor provided).

pydynamicestimator.tests.test_inverter_init_composition.test_capability_mismatch_warns(caplog, monkeypatch)[source]

An inner controller requiring a plant feature the filter lacks warns.

pydynamicestimator.tests.test_inverter_init_composition.test_sequential_init_guard(monkeypatch)[source]

A strategy with no sequential init raises a clear error (rather than silently solving the wrong equations).