def test_deep_replace(): nested = Object({'key': [{'abc': 123}, {'def': 456}], 'other': 0}) insert = Object({'xyz': 789}) assert ( deep_replace(nested, ['key', 0], insert) == {'key': [{'xyz': 789}, {'def': 456}], 'other': 0} ) assert ( deep_replace(nested, ['key'], insert) == {'key': {'xyz': 789}, 'other': 0} ) assert deep_replace(nested, [], insert) == {'xyz': 789}
def test_deep_replace_type_error(): node = {'key': 'value'} with pytest.raises(TypeError): deep_replace(node, ['key'], 123)