the destination. * Added most basic test harnesses for that routine.master
parent
17b9ed5585
commit
6c8c2d8381
2 changed files with 154 additions and 0 deletions
@ -0,0 +1,135 @@ |
||||
|
||||
from copy import copy, deepcopy |
||||
from pprint import pprint |
||||
import wpylib.sugar |
||||
|
||||
def def_dict_data1(): |
||||
"""[20140605] |
||||
""" |
||||
global DN1, DN2 |
||||
global DN1_orig, DN2_orig |
||||
DN1 = { |
||||
'A': 'executive', |
||||
'B': { |
||||
'member': 1, |
||||
'properties': dict( |
||||
names = ['Abe'], |
||||
keys = ['0xfc133'], |
||||
), |
||||
}, |
||||
'C': { |
||||
'member': 3, |
||||
'properties': dict( |
||||
names = ['Connor', 'Dewey', 'Elaine'], |
||||
keys = ['0x91', 42, -3.241], |
||||
nest1 = { |
||||
0: 91, 1: 32, 2: 41, |
||||
}, |
||||
), |
||||
}, |
||||
} |
||||
DN1_orig = deepcopy(DN1) |
||||
|
||||
DN2 = { |
||||
'A': 'slave', |
||||
'B': { |
||||
'member': -1, |
||||
'properties': dict( |
||||
bother = 'pooh', |
||||
), |
||||
}, |
||||
'C': { |
||||
}, |
||||
} |
||||
DN2_orig = deepcopy(DN2) |
||||
|
||||
|
||||
|
||||
def test_dict_update_nested1(): |
||||
"""[20140605] |
||||
""" |
||||
from wpylib.sugar import dict_update_nested |
||||
def_dict_data1() |
||||
DN1 = deepcopy(DN1_orig) |
||||
DN2 = deepcopy(DN2_orig) |
||||
|
||||
print "test_dict_update_nested1():" |
||||
print "DN1:" |
||||
pprint(DN1) |
||||
|
||||
print |
||||
print "DN2:" |
||||
pprint(DN2) |
||||
|
||||
print |
||||
print "Update DN1 with DN2, nested:..." |
||||
dict_update_nested(DN1, DN2) |
||||
pprint(DN1) |
||||
|
||||
print |
||||
print "# bother DN2:" |
||||
DN2['B']['properties']['roo'] = 'kanga' |
||||
pprint(DN1) |
||||
|
||||
print |
||||
print "Update DN1 with DN2, nested: max nest = 0..." |
||||
DN1 = deepcopy(DN1_orig) |
||||
DN2 = deepcopy(DN2_orig) |
||||
dict_update_nested(DN1, DN2, max_nest=0) |
||||
print "DN1:" |
||||
pprint(DN1) |
||||
|
||||
print |
||||
print "# bother DN2: properties should now have 'roo = kanga' mapping" |
||||
DN2['B']['properties']['roo'] = 'kanga' |
||||
print "DN1:" |
||||
pprint(DN1) |
||||
|
||||
print |
||||
print "Update DN1 with DN2, nested: max nest = 1..." |
||||
DN1 = deepcopy(DN1_orig) |
||||
DN2 = deepcopy(DN2_orig) |
||||
dict_update_nested(DN1, DN2, max_nest=1) |
||||
print "DN1:" |
||||
pprint(DN1) |
||||
|
||||
print |
||||
print "# bother DN2: (clear B dict) -- DN1['B'] should not be affected" |
||||
DN2['B'].clear() |
||||
print "DN1:" |
||||
pprint(DN1) |
||||
|
||||
|
||||
|
||||
def test_dict_update_nested2(): |
||||
"""[20140605] |
||||
""" |
||||
from wpylib.sugar import dict_update_nested |
||||
def_dict_data1() |
||||
DN1 = deepcopy(DN1_orig) |
||||
DN2 = deepcopy(DN2_orig) |
||||
|
||||
print "test_dict_update_nested2():" |
||||
print "DN1:" |
||||
pprint(DN1) |
||||
|
||||
print |
||||
print "DN2:" |
||||
pprint(DN2) |
||||
|
||||
print |
||||
print "Update DN2 with DN1, nested:..." |
||||
dict_update_nested(DN2, DN1) |
||||
pprint(DN2) |
||||
|
||||
print |
||||
print "Update DN2 with DN1, nested: max nest = 0..." |
||||
DN1 = deepcopy(DN1_orig) |
||||
DN2 = deepcopy(DN2_orig) |
||||
dict_update_nested(DN2, DN1, max_nest=0) |
||||
pprint(DN2) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
test_dict_update_nested1() |
||||
|
Loading…
Reference in new issue