def test_dict_diffs_not_equal(self): d1 = {1: 'a', 2: 'b', 3: 'c'} d2 = {1: 'a', 2: 'b', 3: 'd'} d3 = {1: 'a', 2: 'b', 3: 'e'} diff_a = diff(d1, d2) diff_b = diff(d1, d3) self.assertFalse(diffs_are_equal(diff_a, diff_b))
def test_dict_diffs_are_equal(self): # these should get seeded differently, fairly regularly in python 3 # the diffs will be equivalent, but ordering of DiffItems will differ d1 = {-1: 'y', 0: 'z', 1: 'a', 2: 'b', 3: 'c', 4: 'e'} d2 = {1: 'a', 2: 'b', 3: 'd', 4: 'f'} diff_a = diff(d1, d2) diff_b = diff(d1, d2) self.assertTrue(diffs_are_equal(diff_a, diff_b))
def test_ordered_dicts_are_out_of_order(self): d = {1: 'a', 2: 'b', 7: 'c', 3: 'd'} diff_a = diff( OrderedDict(sorted(d.items(), key=lambda k: k[0])), OrderedDict(sorted(d.items(), key=lambda k: k[0]))) diff_b = diff( OrderedDict(sorted(d.items(), key=lambda k: k[1])), OrderedDict(sorted(d.items(), key=lambda k: k[1]))) self.assertFalse(diffs_are_equal(diff_a, diff_b))
def test_sequence_diffs_are_equal(self): diff_a = diff([1, 2, 3], [2, 3, 4]) diff_b = diff([1, 2, 3], [2, 3, 4]) self.assertTrue(diffs_are_equal(diff_a, diff_b))