14710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm"""
24710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmPython unit testing framework, based on Erich Gamma's JUnit and Kent Beck's
34710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmSmalltalk testing framework.
44710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
54710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmThis module contains the core framework classes that form the basis of
64710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmspecific test cases and suites (TestCase, TestSuite etc.), and also a
74710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtext-based utility class for running the tests and reporting the results
84710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm (TextTestRunner).
94710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmSimple usage:
114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm    import unittest
134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm    class IntegerArithmenticTestCase(unittest.TestCase):
154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        def testAdd(self):  ## test method names begin 'test*'
164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm            self.assertEqual((1 + 2), 3)
174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm            self.assertEqual(0 + 1, 1)
184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        def testMultiply(self):
194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm            self.assertEqual((0 * 10), 0)
204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm            self.assertEqual((5 * 8), 40)
214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm    if __name__ == '__main__':
234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        unittest.main()
244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmFurther information is available in the bundled documentation, and from
264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm  http://docs.python.org/library/unittest.html
284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmCopyright (c) 1999-2003 Steve Purcell
304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmCopyright (c) 2003-2010 Python Software Foundation
314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmThis module is free software, and you may redistribute it and/or modify
324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmit under the same terms as Python itself, so long as this copyright message
334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmand disclaimer are retained in their original form.
344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmIN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmSPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmTHIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmDAMAGE.
394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmTHE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmPARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmAND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmSUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm"""
464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm__all__ = ['TestResult', 'TestCase', 'TestSuite',
484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm           'TextTestRunner', 'TestLoader', 'FunctionTestCase', 'main',
494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm           'defaultTestLoader', 'SkipTest', 'skip', 'skipIf', 'skipUnless',
504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm           'expectedFailure', 'TextTestResult', 'installHandler',
514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm           'registerResult', 'removeResult', 'removeHandler']
524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm# Expose obsolete functions for backwards compatibility
544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm__all__.extend(['getTestCaseNames', 'makeSuite', 'findTestCases'])
554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm__unittest = True
574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom .result import TestResult
594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf,
604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   skipUnless, expectedFailure)
614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom .suite import BaseTestSuite, TestSuite
624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                     findTestCases)
644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom .main import TestProgram, main
654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom .runner import TextTestRunner, TextTestResult
664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom .signals import installHandler, registerResult, removeResult, removeHandler
674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm# deprecated
694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm_TextTestResult = TextTestResult
70