mirror of
https://github.com/boostorg/python.git
synced 2026-01-19 16:32:16 +00:00
https://svn.boost.org/svn/boost/trunk ........ r43417 | danieljames | 2008-02-26 22:04:55 +0000 (Tue, 26 Feb 2008) | 2 lines Fix a link to Boost.Bimap. ........ r43418 | danieljames | 2008-02-26 22:07:25 +0000 (Tue, 26 Feb 2008) | 2 lines Change another link that's no longer in the repository to link to the website. ........ r43422 | danieljames | 2008-02-27 18:51:14 +0000 (Wed, 27 Feb 2008) | 1 line Fix broken copyright urls. Fixes #1573. ........ r43423 | danieljames | 2008-02-27 19:22:01 +0000 (Wed, 27 Feb 2008) | 1 line Fix incorrect links to copyright of the form 'http:#www.boost.org ........ [SVN r43425]
74 lines
2.3 KiB
Python
74 lines
2.3 KiB
Python
# 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()
|