def test_no_execution(self): real_foo = Foo('foo') foo = Postponed(real_foo) foo.create_bar() self.assertFalse(hasattr(real_foo, 'bar')) foo.name self.assertFalse(real_foo.name_accessed) real_foo.name self.assertTrue(real_foo.name_accessed)
def AsyncUser(self): return Postponed(User)
def test_module_pickling_renamed(self): from logging import handlers as hh chain = Postponed(hh).SocketHandler self.assertRepickled(chain, hh.SocketHandler)
def test_module_pickling_dotted(self): import logging.handlers chain = Postponed(logging.handlers).SocketHandler self.assertRepickled(chain, logging.handlers.SocketHandler)
def test_module_pickling_simple(self): import string chain = Postponed(string).ascii_letters self.assertRepickled(chain, string.ascii_letters)
def test_modules(self): import string chain = Postponed(string).ascii_letters self.assertEqual(chain._proceed(), string.ascii_letters)
def test_top_level_callables(self): chain = Postponed(Foo)('bar') self.assertEqual(chain._proceed().name, 'bar')