Ejemplo n.º 1
0
def test_process_makefile__shared_subtrees_with_defaults__defaults_disabled():
    subtree = {"A": IsInt(default=1234), "B": IsInt(default=5678)}
    specs = {"A": subtree, "B": WithoutDefaults(subtree)}
    current = {"A": {"B": 17}, "B": {"A": 71}}
    expected = {"A": {"A": 1234, "B": 17}, "B": {"A": 71}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 2
0
def test_process_makefile__mixed_keys():
    current = {"A": 1}
    specs = {IsStr: IsInt,
             "B": IsInt(default=-1),
             "C": IsInt(default=-2)}
    expected = {"A": 1, "B": -1, "C": -2}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 3
0
def test_process_makefile__sets_missing_recursive__with_missing_substructure():
    current = {"A": 1}
    specs = {"A": IsInt(default=0),
             "B": {"C": IsInt(default=-1),
                   "D": IsInt(default=-2)}}
    expected = {"A": 1, "B": {"C": -1, "D": -2}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 4
0
def test_process_makefile__sets_missing_keys():
    current = {"A": 1}
    specs = {
        "A": IsInt(default=0),
        "B": IsInt(default=-1),
        "C": IsInt(default=-2)
    }
    expected = {"A": 1, "B": -1, "C": -2}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 5
0
def test_process_makefile__shared_subtrees_with_defaults__defaults_disabled():
    subtree = {"A": IsInt(default=1234),
               "B": IsInt(default=5678)}
    specs = {"A": subtree,
             "B": WithoutDefaults(subtree)}
    current = {"A": {"B": 17},
               "B": {"A": 71}}
    expected = {"A": {"A": 1234, "B": 17},
                "B": {"A": 71}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 6
0
def test_process_makefile__sets_missing_recursive__with_missing_substructure():
    current = {"A": 1}
    specs = {
        "A": IsInt(default=0),
        "B": {
            "C": IsInt(default=-1),
            "D": IsInt(default=-2)
        }
    }
    expected = {"A": 1, "B": {"C": -1, "D": -2}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 7
0
def test_process_makefile__accept_when_required_value_is_set():
    current = {"A": 1, "B": {"C": 3}}
    expected = {"A": 1, "B": {"C": 3}}
    specs = {"A": IsInt, "B": {"C": IsInt(default=REQUIRED_VALUE)}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 8
0
def test_process_makefile__missing_list_default_value():
    current = {"A": 1}
    expected = {"A": 1, "B": [1, 2, 3]}
    specs = {"A": IsInt, "B": IsListOf(IsInt, default=[1, 2, 3])}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 9
0
def test_process_makefile__list_types_accepted():
    current = {"A": 1, "B": [17, "Foo"]}
    expected = {"A": 1, "B": [17, "Foo"]}
    specs = {"A": IsInt, "B": [IsInt, IsStr]}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 10
0
def test_process_makefile__missing_list_defaults_to_empty():
    current = {"A": 1}
    expected = {"A": 1, "B": {"C": []}}
    specs = {"A": IsInt, "B": {"C": [IsInt]}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 11
0
def test_process_makefile__list_types_accepted():
    current = {"A": 1, "B": [17, "Foo"]}
    expected = {"A": 1, "B": [17, "Foo"]}
    specs = {"A": IsInt, "B": [IsInt, IsStr]}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 12
0
def test_process_makefile__implicit_subdict_is_allowed():
    current = {"A": 1, "B": None}
    expected = {"A": 1, "B": {"C": 3}}
    specs = {"A": IsInt, "B": {"C": IsInt(default=3)}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 13
0
def test_process_makefile__accept_missing_value_if_in_implicit_subtree():
    current = {"A": 1}
    expected = {"A": 1}
    specs = {"A": IsInt, IsStr: {"C": IsInt(default=REQUIRED_VALUE)}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 14
0
def test_process_makefile__accept_when_required_value_is_set():
    current = {"A": 1, "B": {"C": 3}}
    expected = {"A": 1, "B": {"C": 3}}
    specs = {"A": IsInt, "B": {"C": IsInt(default=REQUIRED_VALUE)}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 15
0
def test_process_makefile__accept_missing_value_if_in_implicit_subtree():
    current = {"A": 1}
    expected = {"A": 1}
    specs = {"A": IsInt, IsStr: {"C": IsInt(default=REQUIRED_VALUE)}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 16
0
def test_process_makefile__missing_list_default_value():
    current = {"A": 1}
    expected = {"A": 1, "B": [1, 2, 3]}
    specs = {"A": IsInt, "B": IsListOf(IsInt, default=[1, 2, 3])}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 17
0
def test_process_makefile__implicit_subdict_is_allowed():
    current = {"A": 1, "B": None}
    expected = {"A": 1, "B": {"C": 3}}
    specs = {"A": IsInt, "B": {"C": IsInt(default=3)}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 18
0
def test_process_makefile__key_specified_but_no_entries():
    current = {"A": 1, "B": None}
    expected = {"A": 1, "B": []}
    specs = {"A": IsInt, "B": [IsInt]}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 19
0
def test_process_makefile__missing_list_defaults_to_empty():
    current = {"A": 1}
    expected = {"A": 1, "B": {"C": []}}
    specs = {"A": IsInt, "B": {"C": [IsInt]}}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 20
0
 def _dict_keys_found(current, specs):
     process_makefile(current, specs)
Ejemplo n.º 21
0
def test_process_makefile__key_specified_but_no_entries():
    current = {"A": 1, "B": None}
    expected = {"A": 1, "B": []}
    specs = {"A": IsInt, "B": [IsInt]}
    result = process_makefile(current, specs)
    assert_equal(result, expected)
Ejemplo n.º 22
0
 def _dict_keys_found(current, specs):
     process_makefile(current, specs)