register_ptr_test.py 758 B

12345678910111213141516171819202122232425
  1. # Copyright David Abrahams 2004. Distributed under the Boost
  2. # Software License, Version 1.0. (See accompanying
  3. # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4. import unittest
  5. from register_ptr import *
  6. class RegisterPtrTest(unittest.TestCase):
  7. def testIt(self):
  8. class B(A):
  9. def f(self):
  10. return 10
  11. a = New() # this must work
  12. b = B()
  13. self.assertEqual(Call(a), 0)
  14. self.assertEqual(Call(b), 10)
  15. def fails():
  16. Fail(A())
  17. self.assertRaises(TypeError, fails)
  18. self.assertEqual(Fail(a), 0) # ok, since a is held by shared_ptr
  19. if __name__ == '__main__':
  20. unittest.main()