basicut.py

来自「Boost provides free peer-reviewed portab」· Python 代码 · 共 74 行

PY
74
字号
# 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 unittestfrom _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()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?