2185
2194
(l_d_key, [(('ddd',), 'change')]),
2186
2195
], [left, right], [basis])
2197
def test_multiple_maps_similar(self):
2198
# We want to have a depth=2 tree, with multiple entries in each leaf
2200
basis = self.get_map_key({
2201
('aaa',): 'unchanged',
2202
('abb',): 'will change left',
2203
('caa',): 'unchanged',
2204
('cbb',): 'will change right',
2206
left = self.get_map_key({
2207
('aaa',): 'unchanged',
2208
('abb',): 'changed left',
2209
('caa',): 'unchanged',
2210
('cbb',): 'will change right',
2212
right = self.get_map_key({
2213
('aaa',): 'unchanged',
2214
('abb',): 'will change left',
2215
('caa',): 'unchanged',
2216
('cbb',): 'changed right',
2218
basis_map = CHKMap(self.get_chk_bytes(), basis)
2219
self.assertEqualDiff(
2222
" ('aaa',) 'unchanged'\n"
2223
" ('abb',) 'will change left'\n"
2225
" ('caa',) 'unchanged'\n"
2226
" ('cbb',) 'will change right'\n",
2227
basis_map._dump_tree())
2228
# Get left expected data
2229
left_map = CHKMap(self.get_chk_bytes(), left)
2230
self.assertEqualDiff(
2233
" ('aaa',) 'unchanged'\n"
2234
" ('abb',) 'changed left'\n"
2236
" ('caa',) 'unchanged'\n"
2237
" ('cbb',) 'will change right'\n",
2238
left_map._dump_tree())
2239
# Keys from left side target
2240
l_a_key = left_map._root_node._items['a'].key()
2241
l_c_key = left_map._root_node._items['c'].key()
2242
# Get right expected data
2243
right_map = CHKMap(self.get_chk_bytes(), right)
2244
self.assertEqualDiff(
2247
" ('aaa',) 'unchanged'\n"
2248
" ('abb',) 'will change left'\n"
2250
" ('caa',) 'unchanged'\n"
2251
" ('cbb',) 'changed right'\n",
2252
right_map._dump_tree())
2253
r_a_key = right_map._root_node._items['a'].key()
2254
r_c_key = right_map._root_node._items['c'].key()
2255
self.assertIterInteresting(
2258
(l_a_key, [(('abb',), 'changed left')]),
2259
(r_c_key, [(('cbb',), 'changed right')]),
2260
], [left, right], [basis])