コード例 #1
0
def test_conflict():
    with pytest.raises(DictConflictException):
        merge({"deeper": {}}, {"deeper": {
            "foo": "DOH"
        }}, {"deeper": {
            "foo": "NEH"
        }})
コード例 #2
0
def test_added_once():
    assert {
        "ref": PR("foo")
    } == merge(
        {},
        {"ref": PR("foo")},
        {},
    )

    assert {
        "ref": PR("foo")
    } == merge(
        {},
        {},
        {"ref": PR("foo")},
    )
コード例 #3
0
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")},
    )
コード例 #4
0
def test_not_empty_apply_diff_right():
    assert {
        "foo": "bar",
        "boo": "far"
    } == merge({"boo": "far"}, {"boo": "far"}, {
        "boo": "far",
        "foo": "bar"
    })
コード例 #5
0
def test_nested_apply_diff_right():
    assert {
        "deeper": {
            "foo": "bar"
        }
    } == merge({"deeper": {}}, {"deeper": {}}, {"deeper": {
        "foo": "bar"
    }})
コード例 #6
0
def test_nested_apply_diff_both_same():
    assert {
        "deeper": {
            "foo": "bar"
        }
    } == merge({"deeper": {}}, {"deeper": {
        "foo": "bar"
    }}, {"deeper": {
        "foo": "bar"
    }})
コード例 #7
0
def test_nested_apply_diff_both_different():
    assert {
        "deeper": {
            "foo": "bar",
            "boo": "far"
        }
    } == merge({"deeper": {}}, {"deeper": {
        "boo": "far"
    }}, {"deeper": {
        "foo": "bar"
    }})
コード例 #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"
    })
コード例 #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"
        },
    )
コード例 #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"},
        },
    )
コード例 #11
0
def test_edited_twice():
    with pytest.raises(DictConflictException):
        merge({"foo": PR("ZBRLA")}, {"foo": PR("DOH")}, {"foo": PR("NEH")})
コード例 #12
0
def test_deleted_twice():
    assert {} == merge(
        {"ref": PR("foo")},
        {},
        {},
    )
コード例 #13
0
def test_added_twice():
    with pytest.raises(DictConflictException):
        merge({}, {"foo": PR("DOH")}, {"foo": PR("NEH")})
コード例 #14
0
def test_empty():
    assert {} == merge({}, {}, {})
コード例 #15
0
def test_nested():
    assert {
        "deeper": {}
    } == merge({"deeper": {}}, {"deeper": {}}, {"deeper": {}})
コード例 #16
0
def test_empty_apply_diff_right():
    assert {"foo": "bar"} == merge({}, {}, {"foo": "bar"})
コード例 #17
0
def test_not_empty_deletion():
    assert {} == merge({"boo": "far"}, {}, {})
コード例 #18
0
def test_empty_apply_diff_both_same():
    assert {"foo": "bar"} == merge({}, {"foo": "bar"}, {"foo": "bar"})
コード例 #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"},
    )
コード例 #20
0
def test_empty_apply_diff_both_different():
    assert {
        "foo": "bar",
        "boo": "far"
    } == merge({}, {"boo": "far"}, {"foo": "bar"})