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)