()
| 18 | |
| 19 | |
| 20 | def test_diff_and_patch(): |
| 21 | # Note: check_symmetric_diff_and_patch handles (a,b) and (b,a) for both |
| 22 | # shallow and deep diffs, simplifying the number of cases to cover in here. |
| 23 | |
| 24 | # Empty |
| 25 | mda = {} |
| 26 | mdb = {} |
| 27 | check_symmetric_diff_and_patch(mda, mdb) |
| 28 | |
| 29 | # One-sided content/empty |
| 30 | mda = {"a": 1} |
| 31 | mdb = {} |
| 32 | check_symmetric_diff_and_patch(mda, mdb) |
| 33 | |
| 34 | # One-sided content/empty multilevel |
| 35 | mda = {"a": 1, "b": {"ba": 21}} |
| 36 | mdb = {} |
| 37 | check_symmetric_diff_and_patch(mda, mdb) |
| 38 | |
| 39 | # One-sided content/empty multilevel |
| 40 | mda = {"a": 1, "b": {"ba": 21}, "c": {"ca": 31, "cb": 32}} |
| 41 | mdb = {} |
| 42 | check_symmetric_diff_and_patch(mda, mdb) |
| 43 | |
| 44 | # Partial delete |
| 45 | mda = {"a": 1, "b": {"ba": 21}, "c": {"ca": 31, "cb": 32}} |
| 46 | mdb = {"a": 1, "b": {"ba": 21}, "c": {"ca": 31}} |
| 47 | check_symmetric_diff_and_patch(mda, mdb) |
| 48 | mda = {"a": 1, "b": {"ba": 21}, "c": {"ca": 31, "cb": 32}} |
| 49 | mdb = {"b": {"ba": 21}, "c": {"ca": 31, "cb": 32}} |
| 50 | check_symmetric_diff_and_patch(mda, mdb) |
| 51 | mda = {"a": 1, "b": {"ba": 21}, "c": {"ca": 31, "cb": 32}} |
| 52 | mdb = {"b": {"ba": 21}, "c": {"cb": 32}} |
| 53 | check_symmetric_diff_and_patch(mda, mdb) |
| 54 | |
| 55 | # One-level modification |
| 56 | mda = {"a": 1} |
| 57 | mdb = {"a": 10} |
| 58 | check_symmetric_diff_and_patch(mda, mdb) |
| 59 | |
| 60 | # Two-level modification |
| 61 | mda = {"a": 1, "b": {"ba": 21}} |
| 62 | mdb = {"a": 10, "b": {"ba": 210}} |
| 63 | check_symmetric_diff_and_patch(mda, mdb) |
| 64 | mda = {"a": 1, "b": {"ba": 21}} |
| 65 | mdb = {"a": 1, "b": {"ba": 210}} |
| 66 | check_symmetric_diff_and_patch(mda, mdb) |
| 67 | |
| 68 | # Multilevel modification |
| 69 | mda = {"a": 1, "b": {"ba": 21}, "c": {"ca": 31, "cb": 32}} |
| 70 | mdb = {"a": 10, "b": {"ba": 210}, "c": {"ca": 310, "cb": 320}} |
| 71 | check_symmetric_diff_and_patch(mda, mdb) |
| 72 | mda = {"a": 1, "b": {"ba": 21}, "c": {"ca": 31, "cb": 32}} |
| 73 | mdb = {"a": 1, "b": {"ba": 210}, "c": {"ca": 310, "cb": 32}} |
| 74 | check_symmetric_diff_and_patch(mda, mdb) |
| 75 | |
| 76 | # Multilevel mix of delete, add, modify |
| 77 | mda = {"deleted": 1, "modparent": {"mod": 21}, "mix": {"del": 31, "mod": 32, "unchanged": 123}} |
nothing calls this directly
no test coverage detected