fred-dev/comfy_ui_ali
0
1from utils.json_util import merge_json_recursive2 3 4def test_merge_simple_dicts():5 base = {"a": 1, "b": 2}6 update = {"b": 3, "c": 4}7 expected = {"a": 1, "b": 3, "c": 4}8 assert merge_json_recursive(base, update) == expected9 10 11def test_merge_nested_dicts():12 base = {"a": {"x": 1, "y": 2}, "b": 3}13 update = {"a": {"y": 4, "z": 5}}14 expected = {"a": {"x": 1, "y": 4, "z": 5}, "b": 3}15 assert merge_json_recursive(base, update) == expected16 17 18def test_merge_lists():19 base = {"a": [1, 2], "b": 3}20 update = {"a": [3, 4]}21 expected = {"a": [1, 2, 3, 4], "b": 3}22 assert merge_json_recursive(base, update) == expected23 24 25def test_merge_nested_lists():26 base = {"a": {"x": [1, 2]}}27 update = {"a": {"x": [3, 4]}}28 expected = {"a": {"x": [1, 2, 3, 4]}}29 assert merge_json_recursive(base, update) == expected30 31 32def test_merge_mixed_types():33 base = {"a": [1, 2], "b": {"x": 1}}34 update = {"a": [3], "b": {"y": 2}}35 expected = {"a": [1, 2, 3], "b": {"x": 1, "y": 2}}36 assert merge_json_recursive(base, update) == expected37 38 39def test_merge_overwrite_non_dict():40 base = {"a": 1}41 update = {"a": {"x": 2}}42 expected = {"a": {"x": 2}}43 assert merge_json_recursive(base, update) == expected44 45 46def test_merge_empty_dicts():47 base = {}48 update = {"a": 1}49 expected = {"a": 1}50 assert merge_json_recursive(base, update) == expected51 52 53def test_merge_none_values():54 base = {"a": None}55 update = {"a": {"x": 1}}56 expected = {"a": {"x": 1}}57 assert merge_json_recursive(base, update) == expected58 59 60def test_merge_different_types():61 base = {"a": [1, 2]}62 update = {"a": "string"}63 expected = {"a": "string"}64 assert merge_json_recursive(base, update) == expected65 66 67def test_merge_complex_nested():68 base = {"a": [1, 2], "b": {"x": [3, 4], "y": {"p": 1}}}69 update = {"a": [5], "b": {"x": [6], "y": {"q": 2}}}70 expected = {"a": [1, 2, 5], "b": {"x": [3, 4, 6], "y": {"p": 1, "q": 2}}}71 assert merge_json_recursive(base, update) == expected72 