Exemple #1
0
def test_merge_dicts_raise_when_both_adding_same_key(base):
    left = deepcopy(base)
    right = deepcopy(base)
    left["foobar"] = "blah"
    right["foobar"] = "crap"
    try:
        merge_dicts(base, left, right)
    except ValueError as e:
        assert "left and right are both changing 'foobar'" in e.message
    else:
        assert False, "ValueError not raised"
Exemple #2
0
def test_merge_dicts_raise_when_both_adding_same_key(base):
    left = deepcopy(base)
    right = deepcopy(base)
    left["foobar"] = "blah"
    right["foobar"] = "crap"
    try:
        merge_dicts(base, left, right)
    except ValueError as e:
        assert "left and right are both changing 'foobar'" in e.message
    else:
        assert False, "ValueError not raised"
Exemple #3
0
def test_merge_dicts_raise_when_both_modifying_same_key(base):
    left = deepcopy(base)
    right = deepcopy(base)
    base["foobar"] = "foo"
    left["foobar"] = "blah"
    right["foobar"] = "crap"
    try:
        merge_dicts(base, left, right)
    except ValueError as e:
        assert "left and right are both changing" in str(e)
    else:
        assert False, "ValueError not raised"
Exemple #4
0
def test_merge_dicts_raise_when_both_modifying_same_key(base):
    left = deepcopy(base)
    right = deepcopy(base)
    base["foobar"] = "foo"
    left["foobar"] = "blah"
    right["foobar"] = "crap"
    try:
        merge_dicts(base, left, right)
    except ValueError as e:
        assert "left and right are both changing" in str(e)
    else:
        assert False, "ValueError not raised"
Exemple #5
0
def test_merge_dicts_mismatched_types(base):
    assume(len(base) > 0)

    left = deepcopy(base)
    right = deepcopy(base)
    to_modify = base.keys()[0]
    left[to_modify] = "foo"
    right[to_modify] = [1, 2, 3]
    try:
        merge_dicts(base, left, right)
    except ValueError as e:
        assert "type mismatch" in e.message
    else:
        assert False, "ValueError not raised"
Exemple #6
0
def test_merge_dicts_mismatched_types(base):
    assume(len(base) > 0)

    left = deepcopy(base)
    right = deepcopy(base)
    to_modify = base.keys()[0]
    left[to_modify] = "foo"
    right[to_modify] = [1, 2, 3]
    try:
        merge_dicts(base, left, right)
    except ValueError as e:
        assert "type mismatch" in e.message
    else:
        assert False, "ValueError not raised"
Exemple #7
0
def test_merge_dicts_unicode_and_str_are_equal():
    base = {"foo": "bar"}
    left = {"foo": "bar", "blah": "crap", "abc": "def"}
    right = {u"foo": u"bar", u"blah": u"crap", u"ghi": u"jkl"}
    expected = {"foo": "bar", "blah": "crap", "abc": "def", "ghi": "jkl"}
    got = merge_dicts(base, left, right)
    assert got == expected
Exemple #8
0
def test_merge_dicts_unicode_and_str_are_equal():
    base = {"foo": "bar"}
    left = {"foo": "bar", "blah": "crap", "abc": "def"}
    right = {u"foo": u"bar", u"blah": u"crap", u"ghi": u"jkl"}
    expected = {"foo": "bar", "blah": "crap", "abc": "def", "ghi": "jkl"}
    got = merge_dicts(base, left, right)
    assert got == expected
Exemple #9
0
def test_merge_dicts_simple_changes():
    base = {"foo": "oof", "bar": "rab", "nothing": "nothing"}
    left = deepcopy(base)
    right = deepcopy(base)
    expected = deepcopy(base)
    left["foo"] = "foo"
    right["bar"] = "bar"
    got = merge_dicts(base, left, right)
    expected = {"foo": "foo", "bar": "bar", "nothing": "nothing"}
    assert got == expected
Exemple #10
0
def test_merge_dicts_simple_changes():
    base = {"foo": "oof", "bar": "rab", "nothing": "nothing"}
    left = deepcopy(base)
    right = deepcopy(base)
    expected = deepcopy(base)
    left["foo"] = "foo"
    right["bar"] = "bar"
    got = merge_dicts(base, left, right)
    expected = {"foo": "foo", "bar": "bar", "nothing": "nothing"}
    assert got == expected
Exemple #11
0
def test_merge_dicts_join_lists(base):
    to_modify = None
    for key in base:
        if isinstance(base[key], list):
            to_modify = key
            break
    assume(to_modify is not None)

    left = deepcopy(base)
    right = deepcopy(base)
    expected = deepcopy(base)
    left[to_modify].extend(range(1, 4))
    right[to_modify].extend(range(4, 7))
    expected[to_modify].extend(range(1, 7))
    got = merge_dicts(base, left, right)
    assert got == expected
Exemple #12
0
def test_merge_dicts_simple_additions():
    base = {
        "nothing": "nothing",
    }
    left = deepcopy(base)
    right = deepcopy(base)
    expected = deepcopy(base)
    left["foo"] = "foo"
    right["bar"] = "bar"
    got = merge_dicts(base, left, right)
    expected = {
        "foo": "foo",
        "bar": "bar",
        "nothing": "nothing",
    }
    assert got == expected
Exemple #13
0
def test_merge_dicts_join_lists(base):
    to_modify = None
    for key in base:
        if isinstance(base[key], list):
            to_modify = key
            break
    assume(to_modify is not None)

    left = deepcopy(base)
    right = deepcopy(base)
    expected = deepcopy(base)
    left[to_modify].extend(range(1, 4))
    right[to_modify].extend(range(4, 7))
    expected[to_modify].extend(range(1, 7))
    got = merge_dicts(base, left, right)
    assert got == expected
Exemple #14
0
def test_merge_dicts_simple_additions():
    base = {
        "nothing": "nothing",
    }
    left = deepcopy(base)
    right = deepcopy(base)
    expected = deepcopy(base)
    left["foo"] = "foo"
    right["bar"] = "bar"
    got = merge_dicts(base, left, right)
    expected = {
        "foo": "foo",
        "bar": "bar",
        "nothing": "nothing",
    }
    assert got == expected