virtualut.py

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

PY
56
字号
# 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 _virtual import *class VirtualTest(unittest.TestCase):    def testIt(self):                              class E(C):            def f_abs(self):                return 3            def dummy(self):                # override should not work                return 100                    class F(C):            def f(self):                return 10            def name(self):                return 'F'          class G(D):            def dummy(self):                # override should not work                return 100        e = E()        f = F()        self.assertEqual(e.f(), 3)        self.assertEqual(call_f(e), 3)        self.assertEqual(f.f(), 10)        self.assertEqual(call_f(f), 10)        self.assertEqual(e.get_name(), 'C')        #self.assertEqual(e.get_name(), 'E') check this later        c = C()        c.bar(1)      # ok        c.bar('a')    # ok        self.assertRaises(TypeError, c.bar, 1.0)                # test no_overrides        d = G()                self.assertEqual(e.dummy(), 100)        self.assertEqual(call_dummy(e), 0)        self.assertEqual(d.dummy(), 100)        self.assertEqual(call_dummy(d), 0)             if __name__ == '__main__':    unittest.main()  

⌨️ 快捷键说明

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