Пример #1
0
 class Test3(Test2):
     # test overwriting defaults
     parameters_default = [Parameter("a", 3), Parameter("c", 4)]
Пример #2
0
def test_parameters():
    """ test mixing Parameterized """

    param = Parameter("a", 1, int, "help", extra={"b": 3})
    assert isinstance(str(param), str)

    p_string = pickle.dumps(param)
    param_new = pickle.loads(p_string)
    assert param.__dict__ == param_new.__dict__
    assert param is not param_new
    assert param_new.extra["b"] == 3

    class Test1(Parameterized):
        parameters_default = [param]

    t = Test1()
    assert t.parameters["a"] == 1
    assert t.get_parameter_default("a") == 1

    t = Test1(parameters={"a": 2})
    assert t.parameters["a"] == 2
    assert t.get_parameter_default("a") == 1

    with pytest.raises(ValueError):
        t = Test1(parameters={"b": 3})
    t = Test1()
    ps = t._parse_parameters({"b": 3}, check_validity=False)
    assert ps["a"] == 1
    assert ps["b"] == 3

    class Test2(Test1):
        # also test conversion of default parameters
        parameters_default = [Parameter("b", "2", int, "help")]

    t = Test2()
    assert t.parameters["a"] == 1
    assert t.parameters["b"] == 2

    t = Test2(parameters={"a": 10, "b": 20})
    assert t.parameters["a"] == 10
    assert t.parameters["b"] == 20
    assert t.get_parameter_default("a") == 1
    assert t.get_parameter_default("b") == "2"
    with pytest.raises(KeyError):
        t.get_parameter_default("c")

    class Test3(Test2):
        # test overwriting defaults
        parameters_default = [Parameter("a", 3), Parameter("c", 4)]

    t = Test3()
    assert t.parameters["a"] == 3
    assert t.get_parameter_default("a") == 3
    assert set(t.parameters.keys()) == {"a", "b", "c"}

    # test get_all_parameters function after having used Parameters
    p1 = get_all_parameters()
    for key in ["value", "description"]:
        p2 = get_all_parameters(key)
        assert set(p1) == p2.keys()

    # test whether sphinx_display_parameters runs
    lines = [":param parameters:"]
    sphinx_display_parameters(None, "class", "Test1", Test1, None, lines)
    assert len(lines) > 1
Пример #3
0
 class Test2(Test1):
     # also test conversion of default parameters
     parameters_default = [Parameter("b", "2", int, "help")]
Пример #4
0
 class Test3(Parameterized):
     parameters_default = [Parameter("a", [0, 1, 2], np.array)]
Пример #5
0
 class Test4(Parameterized):
     parameters_default = [Parameter("a", 1, str)]
Пример #6
0
 class Test1(Parameterized):
     parameters_default = [Parameter("a", 1, float)]
Пример #7
0
 class Test2(Parameterized):
     parameters_default = [Parameter("a", np.arange(3), np.array)]
Пример #8
0
 class Test3(Test1):
     parameters_default = [Parameter("b", 3)]
Пример #9
0
 class Test2a(Parameterized):
     parameters_default = [
         Parameter("a", 1),
         Parameter("b", 2, hidden=True)
     ]
Пример #10
0
 class Test1(Parameterized):
     parameters_default = [Parameter("a", 1), Parameter("b", 2)]
Пример #11
0
 class Test2(Test1):
     parameters_default = [Parameter("b", 2, int, "another word")]
Пример #12
0
 class Test5(Parameterized):
     parameters_default = [Parameter("a", math.nan, float)]