示例#1
0
def test_copy():
    d1 = MinyDict({"a": 1, "b": 2, "r": {"t": 5}})
    d2 = d1.copy()
    d3 = d1.deepcopy()

    assert d1 == d2
    assert d1 == d3

    d2.a = 2
    assert d1.a == 1
    d3.b = 4
    assert d1.b == 2
示例#2
0
def test_update():
    d1 = MinyDict({"a": 1, "b": 2, "r": {"t": 5}})
    d2 = d1.copy()
    u1 = MinyDict({"a": 3, "r": {"t": 4, "z": 7}})
    u2 = MinyDict({"a": 3, "r": {"t": 4}})
    t1 = MinyDict({"a": 3, "b": 2, "r": {"t": 4, "z": 7}})
    t2 = MinyDict({"a": 3, "b": 2, "r": {"t": 4}})

    assert d1.update(u1) == t1
    with pytest.raises(KeyError):
        d2.update(u1, strict=True)

    assert d2.update(u2, strict=False) == t2

    with pytest.raises(TypeError):
        d1.update({1: 2}, {3: 4})