def get_diff(self, ignore=()): """Get the diff to the last time the state of objects was measured. keyword arguments ignore -- list of objects to ignore """ # ignore this and the caller frame self.o1 = self._get_objects(ignore+(inspect.currentframe(),)) diff = muppy.get_diff(self.o0, self.o1) self.o0 = self.o1 # manual cleanup, see comment above return diff
def test_diff(self): """Test if the diff of to object lists is correct. The diff has to work in both directions, that is it has to show newly created objects, as well as removed objects. The sorting is irrelevant. """ (o1, o2, o3, o4, o5, o6) = (1, 'a', 'b', 4, 5, (1, )) list1 = [o1, o2, o3, o4] list2 = [o1, o2, o3, o4, o5] list3 = [o5, o3, o1, o4, o2] list4 = [o1, o2, o3, o4, o6] # empty lists expected = {'+': [], '-': []} self.assertEqual(muppy.get_diff([], []), expected) # one more entry expected = {'+': [o5], '-': []} self.assertEqual(muppy.get_diff(list1, list2), expected) # one more entry, but different order self.assertEqual(muppy.get_diff(list1, list3), expected) # one entry removed expected = {'+': [], '-': [5]} self.assertEqual(muppy.get_diff(list2, list1), expected) # one entry removed, but different order self.assertEqual(muppy.get_diff(list3, list1), expected) # one more entry of different type expected = {'+': [o6], '-': []} self.assertEqual(muppy.get_diff(list1, list4), expected)
def test_diff(self): """Test if the diff of to object lists is correct. The diff has to work in both directions, that is it has to show newly created objects, as well as removed objects. The sorting is irrelevant. """ (o1, o2, o3, o4, o5, o6) = (1, "a", "b", 4, 5, (1,)) list1 = [o1, o2, o3, o4] list2 = [o1, o2, o3, o4, o5] list3 = [o5, o3, o1, o4, o2] list4 = [o1, o2, o3, o4, o6] # empty lists expected = {"+": [], "-": []} self.assertEqual(muppy.get_diff([], []), expected) # one more entry expected = {"+": [o5], "-": []} self.assertEqual(muppy.get_diff(list1, list2), expected) # one more entry, but different order self.assertEqual(muppy.get_diff(list1, list3), expected) # one entry removed expected = {"+": [], "-": [5]} self.assertEqual(muppy.get_diff(list2, list1), expected) # one entry removed, but different order self.assertEqual(muppy.get_diff(list3, list1), expected) # one more entry of different type expected = {"+": [o6], "-": []} self.assertEqual(muppy.get_diff(list1, list4), expected)
def get_diff(self, ignore=[]): """Get the diff to the last time the state of objects was measured. keyword arguments ignore -- list of objects to ignore """ # ignore this and the caller frame ignore.append(inspect.currentframe()) #PYCHOK change ignore self.o1 = self._get_objects(ignore) diff = muppy.get_diff(self.o0, self.o1) self.o0 = self.o1 # manual cleanup, see comment above del ignore[:] #PYCHOK change ignore return diff