Пример #1
0
def test_merge():
    section0 = Section()
    section0["a"] = 10
    section0["b"] = 20
    section0["sub0"] = {"x0": 10, "y0": 20}
    section0["sub0"]["subsub"] = {"wa": 100, "wb": 200}
    section0["sub1"] = {"x1": 11, "y1": 21}
    section1 = Section()
    section1["a"] = 1010
    section1["c"] = 1030
    section1["sub0"] = {"x0": 1010, "z0": 1030}
    section1["sub0"]["subsub"] = {"wa": 1100, "wc": 1300}
    section1["sub2"] = {"x2": 1012, "y2": 1022, "z2": 1032}
    # print(section0['sub0']['subsub'])
    section0.merge(section1)
    # print(section0['sub0']['subsub'])
    dct = section0.as_dict(dict_class=dict)
    # print(dct['sub0']['subsub'])
    expected = {
        "a": 1010,
        "b": 20,
        "c": 1030,
        "sub0": {"x0": 1010, "y0": 20, "z0": 1030, "subsub": {"wa": 1100, "wb": 200, "wc": 1300}},
        "sub1": {"x1": 11, "y1": 21},
        "sub2": {"x2": 1012, "y2": 1022, "z2": 1032},
    }
    # assert dct['sub0'] == expected['sub0']
    # assert dct['sub0']['subsub'] == expected['sub0']['subsub']
    assert dct == expected