from manipulator import set # bad idea, overriding set constructor! def test_complex_set(): x = [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}] after = [{"k": "v"}, {"k": {"a": [{"k": 100}, {"k": 100}]}}] assert set(x, ".k #1 #a .k", 100) == after assert x == after def test_complex_update_copy(): x = [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}] after = [{"k": "v"}, {"k": {"a": [{"k": 100}, {"k": 100}]}}] assert set(x, ".k #1 #a .k", 100, in_place=False) == after assert x == [{"k": "v"}, {"k": {"a": [{"k": 10}, {"k": 11}]}}]