Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_update_delete_root_object():
d1 = {"__type__": "layer", "name": "Unrated", "styles": [{"__type__": "style", "color": "#888888"}]}
d2 = {"__delete__": True}
d = mappyfile.update(d1, d2)
output = mappyfile.dumps(d)
assert output == ""
def test_update_add_item():
d1 = {"__type__": "layer", "name": "Unrated", "styles": [{"__type__": "style", "color": "#888888"}]}
d2 = {"name": "Unrated", "styles": [None, {"__type__": "style", "color": [0, 0, 255]}]}
d = mappyfile.update(d1, d2)
output = mappyfile.dumps(d)
print(output)
assert d["styles"][1]["color"] == [0, 0, 255]
NAME "LayerNew"
TYPE POINT
CLASS
NAME "Class1"
COLOR 0 0 255
END
CLASS
NAME "Class2"
COLOR 0 0 0
END
END
END
"""
d2 = mappyfile.loads(s2)
d = mappyfile.update(d1, d2)
output = mappyfile.dumps(d)
print(output)
def test_update_delete_dict():
d1 = {"__type__": "layer", "name": "Unrated", "metadata": {"__type__": "metadata", "key1": "val1"}}
print(mappyfile.dumps(d1))
d2 = {"metadata": {"__delete__": True}}
d = mappyfile.update(d1, d2)
output = mappyfile.dumps(d)
print(output)
assert "metadata" not in d.keys()
def test_update_list():
d1 = {"__type__": "layer", "name": "Unrated", "styles": [{"__type__": "style", "color": "#888888"}]}
d2 = {"name": "Unrated", "styles": [{"color": [255, 255, 0]}]}
d = mappyfile.update(d1, d2)
output = mappyfile.dumps(d)
print(output)
assert d["styles"][0]["color"] == [255, 255, 0]
def test_update_list_second_item():
# test that a None type can be passed
d1 = {"__type__": "layer", "name": "Unrated", "styles": [{"__type__": "style", "color": "#888888"}, {"__type__": "style", "color": "#888888"}]}
d2 = {"name": "Unrated", "styles": [None, {"color": [255, 255, 0]}]}
d = mappyfile.update(d1, d2)
output = mappyfile.dumps(d)
print(output)
assert d["styles"][1]["color"] == [255, 255, 0]
def test_update_delete():
d1 = {"__type__": "layer", "name": "Unrated", "styles": [{"__type__": "style", "color": "#888888"}]}
d2 = {"name": "Unrated", "styles": [{"__delete__": True}]}
d = mappyfile.update(d1, d2)
output = mappyfile.dumps(d)
print(output)
assert len(d["styles"]) == 0