# Copyright David Abrahams 2004. Distributed under 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 register_ptr import * class RegisterPtrTest(unittest.TestCase): def testIt(self): class B(A): def f(self): return 10 a = New() # this must work b = B() self.assertEqual(Call(a), 0) self.assertEqual(Call(b), 10) def fails(): Fail(A()) self.assertRaises(TypeError, fails) self.assertEqual(Fail(a), 0) # ok, since a is held by shared_ptr if __name__ == '__main__': unittest.main()