def test_build_diffs_unsorted(): b = MergeDecisionBuilder() b.onesided((), [op_remove('a')], None) b.onesided(('b',), [op_remove('j')], None) b.onesided(('c',), [op_remove('k')], None) b.onesided(('d',), [op_remove('l')], None) base = dict(a=1, b=dict(i=2), c=dict(j=3), d=dict(k=4)) diff = build_diffs(base, b.decisions, 'local') assert len(diff) == 4 assert diff[0] == op_remove('a') assert diff[1] == op_patch('b', [op_remove('j')]) assert diff[2] == op_patch('c', [op_remove('k')]) assert diff[3] == op_patch('d', [op_remove('l')])