Exemplo n.º 1
0
def test_conflict():
    with pytest.raises(DictConflictException):
        merge({"deeper": {}}, {"deeper": {
            "foo": "DOH"
        }}, {"deeper": {
            "foo": "NEH"
        }})
def test_added_once():
    assert {
        "ref": PR("foo")
    } == merge(
        {},
        {"ref": PR("foo")},
        {},
    )

    assert {
        "ref": PR("foo")
    } == merge(
        {},
        {},
        {"ref": PR("foo")},
    )
def test_edited_once():
    assert {
        "ref": PR("bar")
    } == merge(
        {"ref": PR("foo")},
        {"ref": PR("foo")},
        {"ref": PR("bar")},
    )

    assert {
        "ref": PR("bar")
    } == merge(
        {"ref": PR("foo")},
        {"ref": PR("bar")},
        {"ref": PR("foo")},
    )
Exemplo n.º 4
0
def test_not_empty_apply_diff_right():
    assert {
        "foo": "bar",
        "boo": "far"
    } == merge({"boo": "far"}, {"boo": "far"}, {
        "boo": "far",
        "foo": "bar"
    })
Exemplo n.º 5
0
def test_nested_apply_diff_right():
    assert {
        "deeper": {
            "foo": "bar"
        }
    } == merge({"deeper": {}}, {"deeper": {}}, {"deeper": {
        "foo": "bar"
    }})
Exemplo n.º 6
0
def test_nested_apply_diff_both_same():
    assert {
        "deeper": {
            "foo": "bar"
        }
    } == merge({"deeper": {}}, {"deeper": {
        "foo": "bar"
    }}, {"deeper": {
        "foo": "bar"
    }})
Exemplo n.º 7
0
def test_nested_apply_diff_both_different():
    assert {
        "deeper": {
            "foo": "bar",
            "boo": "far"
        }
    } == merge({"deeper": {}}, {"deeper": {
        "boo": "far"
    }}, {"deeper": {
        "foo": "bar"
    }})
Exemplo n.º 8
0
def test_not_empty_apply_diff_both_same():
    assert {
        "foo": "bar",
        "boo": "far"
    } == merge({"boo": "far"}, {
        "boo": "far",
        "foo": "bar"
    }, {
        "boo": "far",
        "foo": "bar"
    })
Exemplo n.º 9
0
def test_edit_both_different():
    assert {
        "foo": "after",
        "bar": "after"
    } == merge(
        {
            "foo": "before",
            "bar": "before"
        },
        {
            "foo": "after",
            "bar": "before"
        },
        {
            "foo": "before",
            "bar": "after"
        },
    )
Exemplo n.º 10
0
def test_edit_nested_both_different_with_nested_pr_plus():
    assert {
        "ref": PR("ref"),
        "deeper": {"ref2": PR("ref2"), "foo": "after", "bar": "after"},
    } == merge(
        {
            "ref": PR("ref"),
            "deeper": {"ref2": PR("ref2"), "foo": "before", "bar": "before"},
        },
        {
            "ref": PR("ref"),
            "deeper": {"ref2": PR("ref2"), "foo": "after", "bar": "before"},
        },
        {
            "ref": PR("ref"),
            "deeper": {"ref2": PR("ref2"), "foo": "before", "bar": "after"},
        },
    )
def test_edited_twice():
    with pytest.raises(DictConflictException):
        merge({"foo": PR("ZBRLA")}, {"foo": PR("DOH")}, {"foo": PR("NEH")})
def test_deleted_twice():
    assert {} == merge(
        {"ref": PR("foo")},
        {},
        {},
    )
def test_added_twice():
    with pytest.raises(DictConflictException):
        merge({}, {"foo": PR("DOH")}, {"foo": PR("NEH")})
Exemplo n.º 14
0
def test_empty():
    assert {} == merge({}, {}, {})
Exemplo n.º 15
0
def test_nested():
    assert {
        "deeper": {}
    } == merge({"deeper": {}}, {"deeper": {}}, {"deeper": {}})
Exemplo n.º 16
0
def test_empty_apply_diff_right():
    assert {"foo": "bar"} == merge({}, {}, {"foo": "bar"})
Exemplo n.º 17
0
def test_not_empty_deletion():
    assert {} == merge({"boo": "far"}, {}, {})
Exemplo n.º 18
0
def test_empty_apply_diff_both_same():
    assert {"foo": "bar"} == merge({}, {"foo": "bar"}, {"foo": "bar"})
Exemplo n.º 19
0
def test_edit_both_different_with_pr():
    assert {"ref": PR("ref"), "foo": "after", "bar": "after"} == merge(
        {"ref": PR("ref"), "foo": "before", "bar": "before"},
        {"ref": PR("ref"), "foo": "after", "bar": "before"},
        {"ref": PR("ref"), "foo": "before", "bar": "after"},
    )
Exemplo n.º 20
0
def test_empty_apply_diff_both_different():
    assert {
        "foo": "bar",
        "boo": "far"
    } == merge({}, {"boo": "far"}, {"foo": "bar"})