File: basicUT.py

package info (click to toggle)
boost1.35 1.35.0-5
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 203,856 kB
  • ctags: 337,867
  • sloc: cpp: 938,683; xml: 56,847; ansic: 41,589; python: 18,999; sh: 11,566; makefile: 664; perl: 494; yacc: 456; asm: 353; csh: 6
file content (73 lines) | stat: -rw-r--r-- 2,367 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# 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 unittest
from _basic import *

class BasicExampleTest(unittest.TestCase):

    def testIt(self):

        # test virtual functions
        class D(C):
            def f(self, x=10):
                return x+1

        d = D()
        c = C()

        self.assertEqual(c.f(), 20)
        self.assertEqual(c.f(3), 6)
        self.assertEqual(d.f(), 11)
        self.assertEqual(d.f(3), 4)
        self.assertEqual(call_f(c), 20)
        self.assertEqual(call_f(c, 4), 8)
        self.assertEqual(call_f(d), 11)
        self.assertEqual(call_f(d, 3), 4)
        
        # test data members
        def testValue(value):
            self.assertEqual(c.value, value)
            self.assertEqual(d.value, value) 
            self.assertEqual(get_value(c), value)
            self.assertEqual(get_value(d), value)
        testValue(1)
        c.value = 30
        d.value = 30
        testValue(30)
        self.assertEqual(c.const_value, 0)
        self.assertEqual(d.const_value, 0)
        def set_const_value():
            c.const_value = 12
        self.assertRaises(AttributeError, set_const_value)
        
        # test static data-members
        def testStatic(value):
            self.assertEqual(C.static_value, value)
            self.assertEqual(c.static_value, value)
            self.assertEqual(D.static_value, value)
            self.assertEqual(d.static_value, value)
            self.assertEqual(get_static(), value)
        testStatic(3)
        C.static_value = 10
        testStatic(10)
        self.assertEqual(C.const_static_value, 100)
        def set_const_static():
            C.const_static_value = 1
        self.assertRaises(AttributeError, set_const_static)

        # test static function
        def test_mul(result, *args):
            self.assertEqual(C.mul(*args), result)
            self.assertEqual(c.mul(*args), result)
        test_mul(16, 8, 2)
        test_mul(6.0, 2.0, 3.0)
        self.assertEqual(C.square(), 4)
        self.assertEqual(c.square(), 4)
        self.assertEqual(C.square(3), 9)
        self.assertEqual(c.square(3), 9)


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