blob: b2fd8b5b85395fceb49a2327950e52041afd0d6e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
"""unit tests for the decorators module
"""
from logilab.common.testlib import TestCase, unittest_main
from logilab.common.decorators import monkeypatch
class DecoratorsTC(TestCase):
def test_monkeypatch_with_same_name(self):
class MyClass: pass
@monkeypatch(MyClass)
def meth1(self):
return 12
self.assertEquals([attr for attr in dir(MyClass) if attr[:2] != '__'],
['meth1'])
inst = MyClass()
self.assertEquals(inst.meth1(), 12)
def test_monkeypatch_with_custom_name(self):
class MyClass: pass
@monkeypatch(MyClass, 'foo')
def meth2(self, param):
return param + 12
self.assertEquals([attr for attr in dir(MyClass) if attr[:2] != '__'],
['foo'])
inst = MyClass()
self.assertEquals(inst.foo(4), 16)
if __name__ == '__main__':
unittest_main()
|