def METHOD_NAME():
    """Test that the MultiplexForecaster magic "|" dunder methodbahves as expected.
    A MultiplexForecaster can be created by using the "|" dunder method on either
    forecaster or MultiplexForecaster objects. Here we test that it performs as expected
    on all the use cases, and raises the expected error in some others.
    """
    # test a simple | example with two forecasters:
    multiplex_two_forecaster = AutoETS() | NaiveForecaster()
    assert isinstance(multiplex_two_forecaster, MultiplexForecaster)
    assert len(multiplex_two_forecaster.forecasters) == 2
    # now test that | also works on two MultiplexForecasters:
    multiplex_one = MultiplexForecaster([("arima", AutoARIMA()), ("ets", AutoETS())])
    multiplex_two = MultiplexForecaster(
        [("theta", ThetaForecaster()), ("naive", NaiveForecaster())]
    )
    multiplex_two_multiplex = multiplex_one | multiplex_two
    assert isinstance(multiplex_two_multiplex, MultiplexForecaster)
    assert len(multiplex_two_multiplex.forecasters) == 4
    # last we will check 3 forecaster with the same name - should check both that
    # MultiplexForecaster | forecaster works, and that ensure_unique_names works
    multiplex_same_name_three_test = (
        NaiveForecaster(strategy="last")
        | NaiveForecaster(strategy="mean")
        | NaiveForecaster(strategy="drift")
    )
    assert isinstance(multiplex_same_name_three_test, MultiplexForecaster)
    assert len(multiplex_same_name_three_test.forecasters) == 3
    forecaster_param_names = multiplex_same_name_three_test._get_estimator_names(
        multiplex_same_name_three_test._forecasters
    )
    assert len(set(forecaster_param_names)) == 3
    # test we get a ValueError if we try to | with anything else:
    with pytest.raises(TypeError):
        multiplex_one | "this shouldn't work"