def METHOD_NAME(self):
    max_csm = 8
    alpha = 1
    csm_finite_ratio = CSMFiniteRatioFunction(
        function="power2_decreasing_exp",
        options_dict={"max_csm": max_csm, "alpha": alpha},
    )
    assert csm_finite_ratio.evaluate(0) == 1
    assert csm_finite_ratio.evaluate(2) == approx(0.4380754)
    assert csm_finite_ratio.evaluate(4) == approx(0.1516326)
    assert csm_finite_ratio.evaluate(8) == 0
    assert csm_finite_ratio.evaluate(9) == 0
    max_csm = 8
    alpha = 2
    csm_finite_ratio = CSMFiniteRatioFunction(
        function="power2_decreasing_exp",
        options_dict={"max_csm": max_csm, "alpha": alpha},
    )
    assert csm_finite_ratio.evaluate(0) == 1
    assert csm_finite_ratio.evaluate(4) == approx(0.09196986)
    assert csm_finite_ratio.evaluate(8) == 0
    assert csm_finite_ratio.evaluate(9) == 0
    max_csm = 4
    alpha = 1
    csm_finite_ratio = CSMFiniteRatioFunction(
        function="power2_decreasing_exp",
        options_dict={"max_csm": max_csm, "alpha": alpha},
    )
    assert csm_finite_ratio.evaluate(0) == 1
    assert csm_finite_ratio.evaluate(1) == approx(0.4380754)
    assert csm_finite_ratio.evaluate(2) == approx(0.1516326)
    assert csm_finite_ratio.evaluate(4) == 0
    assert csm_finite_ratio.evaluate(4.5) == 0
    with pytest.raises(
        ValueError,
        match="function='powern_decreasing' is not allowed in RatioFunction of type CSMFiniteRatioFunction",
    ):
        CSMFiniteRatioFunction(
            function="powern_decreasing",
            options_dict={"max_csm": max_csm, "nn": 2},
        )