/Lib/test/test_exception_variations.py
http://unladen-swallow.googlecode.com/ · Python · 180 lines · 143 code · 37 blank · 0 comment · 28 complexity · 084c871ffd224d4b73e337edfd7bc70c MD5 · raw file
- from test.test_support import run_unittest
- import unittest
- class ExceptionTestCase(unittest.TestCase):
- def test_try_except_else_finally(self):
- hit_except = False
- hit_else = False
- hit_finally = False
- try:
- raise Exception, 'nyaa!'
- except:
- hit_except = True
- else:
- hit_else = True
- finally:
- hit_finally = True
- self.assertTrue(hit_except)
- self.assertTrue(hit_finally)
- self.assertFalse(hit_else)
- def test_try_except_else_finally_no_exception(self):
- hit_except = False
- hit_else = False
- hit_finally = False
- try:
- pass
- except:
- hit_except = True
- else:
- hit_else = True
- finally:
- hit_finally = True
- self.assertFalse(hit_except)
- self.assertTrue(hit_finally)
- self.assertTrue(hit_else)
- def test_try_except_finally(self):
- hit_except = False
- hit_finally = False
- try:
- raise Exception, 'yarr!'
- except:
- hit_except = True
- finally:
- hit_finally = True
- self.assertTrue(hit_except)
- self.assertTrue(hit_finally)
- def test_try_except_finally_no_exception(self):
- hit_except = False
- hit_finally = False
- try:
- pass
- except:
- hit_except = True
- finally:
- hit_finally = True
- self.assertFalse(hit_except)
- self.assertTrue(hit_finally)
- def test_try_except(self):
- hit_except = False
- try:
- raise Exception, 'ahoy!'
- except:
- hit_except = True
- self.assertTrue(hit_except)
- def test_try_except_no_exception(self):
- hit_except = False
- try:
- pass
- except:
- hit_except = True
- self.assertFalse(hit_except)
- def test_try_except_else(self):
- hit_except = False
- hit_else = False
- try:
- raise Exception, 'foo!'
- except:
- hit_except = True
- else:
- hit_else = True
- self.assertFalse(hit_else)
- self.assertTrue(hit_except)
- def test_try_except_else_no_exception(self):
- hit_except = False
- hit_else = False
- try:
- pass
- except:
- hit_except = True
- else:
- hit_else = True
- self.assertFalse(hit_except)
- self.assertTrue(hit_else)
- def test_try_finally_no_exception(self):
- hit_finally = False
- try:
- pass
- finally:
- hit_finally = True
- self.assertTrue(hit_finally)
- def test_nested(self):
- hit_finally = False
- hit_inner_except = False
- hit_inner_finally = False
- try:
- try:
- raise Exception, 'inner exception'
- except:
- hit_inner_except = True
- finally:
- hit_inner_finally = True
- finally:
- hit_finally = True
- self.assertTrue(hit_inner_except)
- self.assertTrue(hit_inner_finally)
- self.assertTrue(hit_finally)
- def test_nested_else(self):
- hit_else = False
- hit_finally = False
- hit_except = False
- hit_inner_except = False
- hit_inner_else = False
- try:
- try:
- pass
- except:
- hit_inner_except = True
- else:
- hit_inner_else = True
- raise Exception, 'outer exception'
- except:
- hit_except = True
- else:
- hit_else = True
- finally:
- hit_finally = True
- self.assertFalse(hit_inner_except)
- self.assertTrue(hit_inner_else)
- self.assertFalse(hit_else)
- self.assertTrue(hit_finally)
- self.assertTrue(hit_except)
- def test_main():
- run_unittest(ExceptionTestCase)
- if __name__ == '__main__':
- test_main()