1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
import dpath
def test_set_existing_separator():
dict = {
"a": {
"b": 0,
},
}
dpath.set(dict, ';a;b', 1, separator=";")
assert dict['a']['b'] == 1
dict['a']['b'] = 0
dpath.set(dict, ['a', 'b'], 1, separator=";")
assert dict['a']['b'] == 1
def test_set_existing_dict():
dict = {
"a": {
"b": 0,
},
}
dpath.set(dict, '/a/b', 1)
assert dict['a']['b'] == 1
dict['a']['b'] = 0
dpath.set(dict, ['a', 'b'], 1)
assert dict['a']['b'] == 1
def test_set_existing_list():
dict = {
"a": [
0,
],
}
dpath.set(dict, '/a/0', 1)
assert dict['a'][0] == 1
dict['a'][0] = 0
dpath.set(dict, ['a', '0'], 1)
assert dict['a'][0] == 1
def test_set_filter():
def afilter(x):
if int(x) == 31:
return True
return False
dict = {
"a": {
"b": 0,
"c": 1,
"d": 31,
}
}
dpath.set(dict, '/a/*', 31337, afilter=afilter)
assert dict['a']['b'] == 0
assert dict['a']['c'] == 1
assert dict['a']['d'] == 31337
dict = {
"a": {
"b": 0,
"c": 1,
"d": 31,
}
}
dpath.set(dict, ['a', '*'], 31337, afilter=afilter)
assert dict['a']['b'] == 0
assert dict['a']['c'] == 1
assert dict['a']['d'] == 31337
def test_set_existing_path_with_separator():
dict = {
"a": {
'b/c/d': 0,
},
}
dpath.set(dict, ['a', 'b/c/d'], 1)
assert len(dict['a']) == 1
assert dict['a']['b/c/d'] == 1
|