Skip to content

Correctly mark objects as deleted or added #290

@Martin25699

Description

@Martin25699

How to correctly mark objects as deleted or added?

def iterable_compare_func(x, y, level=None): try: return x["id"] == y["id"] except Exception: raise CannotCompare() from None old_data = [ { "id": 4, "name": "boo" }, { "id": 2, "name": "foo" }, ] new_data = [ { "id": 2, "name": "foo" }, { "id": 3, "name": "bar" }, ] result = DeepDiff(old_data, new_data, ignore_order=True, iterable_compare_func=iterable_compare_func).to_json() print(result)

Actual result:

{ "values_changed": { "root[1]['id']": {"new_value": 3, "old_value": 4}, "root[1]['name']": {"new_value": "bar", "old_value": "boo"} } }

Expected Result:

{ "iterable_item_removed": {"root[1]": {"id": 4, "name": "boo"}}, "iterable_item_added": {"root[1]": {"id": 3, "name": "bar"}} }

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions