コード例 #1
0
 def test_ancestors_conditions(self):
     """tests get_ancestors_conditions()"""
     pre, post, inv = get_ancestors_conditions(SillySubclass, 'silly_func')
     self.assertEquals(pre, [['value < 10']])
     self.assertEquals(post, [
         ["type(__return__) == type('') and int(__return__) < 15",
          "__old__.value != __old__.self.invariant"]
         ])
     self.assertEquals(inv, [[], ['self.invariant == 12'], []])
コード例 #2
0
 def test_invariant_with_several_modules(self):
     """tests invariant list when classes are defined in several modules"""
     class FakeModule:
         """inv:
         a is None
         """
     class AnotherFakeModule:
         """inv:
         b is None
         """
     class BaseClass:
         def foo(self): pass
     class ExtendedClass(BaseClass):
         def foo(self): pass
     BaseClass.__module__ = FakeModule
     ExtendedClass.__module__ = AnotherFakeModule
     # print ".................. ", ExtendedClass.__module__
     pre, post, inv = get_ancestors_conditions(ExtendedClass, 'foo')
     self.assertEquals(inv, [['b is None'], ['a is None'], [], []])