File: infosUT.py

package info (click to toggle)
boost1.42 1.42.0-4
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 277,864 kB
  • ctags: 401,076
  • sloc: cpp: 1,235,659; xml: 74,142; ansic: 41,313; python: 26,756; sh: 11,840; cs: 2,118; makefile: 655; perl: 494; yacc: 456; asm: 353; csh: 6
file content (55 lines) | stat: -rw-r--r-- 2,016 bytes parent folder | download | duplicates (5)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Copyright Bruno da Silva de Oliveira 2003. Use, modification and 
# distribution is subject to the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at 
# http://www.boost.org/LICENSE_1_0.txt)
import sys
from Pyste.infos import *
from Pyste.policies import *
from Pyste.exporterutils import *
import unittest

#================================================================================
# InfosTest
#================================================================================
class InfosTest(unittest.TestCase):

    def testFunctionInfo(self):
        info = FunctionInfo('test::foo', 'foo.h')
        rename(info, 'hello')
        set_policy(info, return_internal_reference())
        set_wrapper(info, FunctionWrapper('foo_wrapper'))

        info = InfoWrapper(info)
        
        self.assertEqual(info.rename, 'hello')
        self.assertEqual(info.policy.Code(), 'return_internal_reference< 1 >')
        self.assertEqual(info.wrapper.name, 'foo_wrapper')


    def testClassInfo(self):
        info = ClassInfo('test::IFoo', 'foo.h')
        rename(info.name, 'Name')
        rename(info.exclude, 'Exclude')
        rename(info, 'Foo')
        rename(info.Bar, 'bar')
        set_policy(info.Baz, return_internal_reference())
        rename(info.operator['>>'], 'from_string')
        exclude(info.Bar)
        set_wrapper(info.Baz, FunctionWrapper('baz_wrapper'))
        
        info = InfoWrapper(info)
        
        self.assertEqual(info.rename, 'Foo')
        self.assertEqual(info['Bar'].rename, 'bar')
        self.assertEqual(info['name'].rename, 'Name')
        self.assertEqual(info['exclude'].rename, 'Exclude')
        self.assertEqual(info['Bar'].exclude, True)
        self.assertEqual(info['Baz'].policy.Code(), 'return_internal_reference< 1 >')
        self.assertEqual(info['Baz'].wrapper.name, 'baz_wrapper')
        self.assertEqual(info['operator']['>>'].rename, 'from_string')

     


if __name__ == '__main__':
    unittest.main()