Example #1
0
    def test_nested_weaved(self):
        def plusone(self, what):
            return super(_class, self).ident(what) + 1

        def plustwo(self, what):
            return super(_class2, self).ident(what) + 2

        sobj = self.SimpleObject()
        prev = sobj.ident(99)
        with weaved(sobj, ident=plusone) as sobj:
            _class = sobj.__class__
            with weaved(sobj, ident=plustwo) as sobj:
                _class2 = sobj.__class__
                self.assertEqual(prev + 3, sobj.ident(99))
            self.assertEqual(prev + 1, sobj.ident(99))
        self.assertEqual(prev, sobj.ident(99))
Example #2
0
    def test_simple_substitution(self):
        def plusone(self, what):
            return super(_class, self).ident(what) + 1

        sobj = self.SimpleObject()
        prev = sobj.ident(99)
        with weaved(sobj, ident=plusone) as sobj:
            _class = sobj.__class__
            self.assertEqual(prev + 1, sobj.ident(99))