def testNested(self): a = [{'first': [{'second': [{'third': [{'forth': 0}]}]}]}] b = [{'first': [{'second': [{'third': [{'forth': 1}]}]}]}] result = get_compound_diff(a, b) self.assertBreadcrumb( [0, 'first', 0, 'second', 0, 'third', 0, 'forth', '0 != 1'], result)
def testDict(self): a = {'type': 'Tr2Vector4Parameter', 'value': [0, 0]} b = {'type': 'Tr2Vector4Parameter', 'value': [0, 1]} result = get_compound_diff(a, b) self.assertBreadcrumb(['value', 1, '0 != 1'], result)
def testData1(self): a = {'frames': [{'objects': [{'a': 1, 'b': 2}]}]} b = {'frames': [{'objects': [{'a': 1, 'b': 3}]}]} self.assertBreadcrumb( ['frames', 0, 'objects', 0, 'b', '2 != 3'], get_compound_diff(a, b))
def testObjectReturnsNonemptyList(self): a = sphere() b = sphere(radius=0.0) result = get_compound_diff(a, b) self.assertBreadcrumb(['%r != %r' % (a, b)], result)
def testMixed(self): a = sphere() b = {'foo': 'bar'} self.assertBreadcrumb(['%r != %r' % (a, b)], get_compound_diff(a, b)) self.assertBreadcrumb(['sphere is not a dict'], get_compound_diff(b, a))
def testDictLen(self): self.assertBreadcrumb( [0, "len neq (1 != 2). Diff: [], ['b']"], get_compound_diff([{'a': 1}], [{'a': 1, 'b': 2}]))
def testListLen(self): self.assertBreadcrumb( [0, 'len neq (4 != 5). Diff: [4], [3, 3]'], get_compound_diff([[1, 2, 4, 3]], [[1, 2, 3, 3, 3]]))
def testSeqType(self): result = get_compound_diff([{}], [[]]) self.assertBreadcrumb([0, 'list is not a dict'], result)
def testItemType(self): a = [{'value': [0, '1']}] b = [{'value': [0, 1]}] result = get_compound_diff(a, b) self.assertBreadcrumb([0, 'value', 1, "'1' != 1"], result)
def testList2(self): self.assertBreadcrumb( [0, 2, '3 != 4'], get_compound_diff([[1, 2, 3]], [[1, 2, 4]]))
def testList(self): a = [{'value': [0, 0]}, {'foo': 'bar'}] b = [{'value': [0, 1]}, {'foo': 'bar'}] result = get_compound_diff(a, b) self.assertBreadcrumb([0, 'value', 1, '0 != 1'], result)
def testEmptyWhenEqual(self): a = {'value': 0} b = {'value': 0} result = get_compound_diff(a, b) self.assertBreadcrumb([], result)