def test_return_type_narrowing(self): obj = foo.SomeObject("zbr") obj.set_foo_ptr(foo.Foo()) foo1 = obj.get_foo_ptr() self.assertEqual(type(foo1), foo.Foo) bar2 = foo.Bar() self.assertEqual(type(bar2), foo.Bar) obj.set_foo_ptr(bar2) foo2 = obj.get_foo_ptr() self.assertEqual(type(foo2), foo.Bar)
def testImportedNamespace(self): b = foo.Bar() self.assertEqual(b.X, 1) # declared instance works self.assertEqual(foo.Bar.X, 1) # XXX due to __Bar, this fails. hmmm... self.assertEqual(foo.bar.X, 1)
def test(): # we should be able to store a vector of Foo objects (but shared_ptr<Foo> objects actually) v = foo.vector_Foo([ foo.Bar(), ]) foo.Foo.printCount() # expecting 1 Foo object to exist
def test_instance_creation_function(self): f = foo.Foo() self.assertTrue(f.is_initialized()) b = foo.Bar() self.assertTrue(b.is_initialized())
import logging # 提前进行logger的创建,模块的日志按照原始root的配置 import foo logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) logger.info('Start reading database') # read database here records = {'john': 55, 'tom': 66} logger.debug('Records: %s', records) logger.info('Updating records ...') # 经过上面的渲染,更改了foo里面的logger的配置,所以调用函数可以输出info的basic格式 foo.foo() bar = foo.Bar() bar.bar()