本文整理匯總了Python中cards.Deck.__exit__方法的典型用法代碼示例。如果您正苦於以下問題:Python Deck.__exit__方法的具體用法?Python Deck.__exit__怎麽用?Python Deck.__exit__使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類cards.Deck
的用法示例。
在下文中一共展示了Deck.__exit__方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: Test_context_manager
# 需要導入模塊: from cards import Deck [as 別名]
# 或者: from cards.Deck import __exit__ [as 別名]
class Test_context_manager(unittest.TestCase):
"""
Unit tests for Deck.__enter__() and __exit__()
"""
def setUp(self):
self.acquire_func = MockFunction()
self.release_func = MockFunction()
self.deck = Deck()
self.deck.lock.acquire = self.acquire_func
self.deck.lock.release = self.release_func
def test(self):
with self.deck as cm:
self.assertIs(cm, self.deck)
self.assertListEqual(self.acquire_func.invocations, [((), {})])
self.assertListEqual(self.release_func.invocations, [])
self.assertListEqual(self.acquire_func.invocations, [((), {})])
self.assertListEqual(self.release_func.invocations, [((), {})])
def test_enter(self):
result = self.deck.__enter__()
self.assertIs(result, self.deck)
self.assertListEqual(self.acquire_func.invocations, [((), {})])
def test_exit_noexception(self):
result = self.deck.__exit__(None, None, None)
self.assertIsNone(result)
self.assertListEqual(self.release_func.invocations, [((), {})])
def test_exit_exception(self):
try:
raise Exception()
except:
(exc_type, exc_value, traceback) = sys.exc_info()
result = self.deck.__exit__(exc_type, exc_value, traceback)
self.assertIsNone(result)
self.assertListEqual(self.release_func.invocations, [((), {})])