コード例 #1
0
def test_param_limits():
    lower, upper = -4., 3.
    param1 = Parameter('param1', 1., lower_limit=lower, upper_limit=upper)
    param2 = Parameter('param2', 2.)

    assert param1.has_limits
    assert not param2.has_limits

    param1.set_value(upper + 0.5)
    assert upper == param1.value().numpy()
    assert param1.at_limit
    param1.set_value(lower - 1.1)
    assert lower == param1.value().numpy()
    assert param1.at_limit
    param1.set_value(upper - 0.1)
    assert not param1.at_limit

    param2.lower = lower
    param2.set_value(lower - 1.1)
    assert lower == param2.value().numpy()
コード例 #2
0
def test_param_limits():
    lower, upper = -4.0, 3.0
    param1 = Parameter("param1", 1.0, lower=lower, upper=upper)
    param2 = Parameter("param2", 2.0)

    assert param1.has_limits
    assert not param2.has_limits

    with pytest.raises(ValueError):
        param1.set_value(upper + 0.5)
    param1.assign(upper + 0.5)
    assert upper == param1.value().numpy()
    assert param1.at_limit
    with pytest.raises(ValueError):
        param1.set_value(lower - 1.1)
    param1.assign(lower - 1.1)
    assert lower == param1.value().numpy()
    assert param1.at_limit
    param1.set_value(upper - 0.1)
    assert not param1.at_limit

    param2.lower = lower
    param2.assign(lower - 1.1)
    assert lower == param2.value().numpy()