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