1from cStringIO import StringIO 2 3import unittest 4import unittest2 5 6from unittest2.test.support import resultFactory 7 8 9class TestUnittest(unittest2.TestCase): 10 11 def assertIsSubclass(self, actual, klass): 12 self.assertTrue(issubclass(actual, klass), "Not a subclass.") 13 14 def testInheritance(self): 15 self.assertIsSubclass(unittest2.TestCase, unittest.TestCase) 16 self.assertIsSubclass(unittest2.TestResult, unittest.TestResult) 17 self.assertIsSubclass(unittest2.TestSuite, unittest.TestSuite) 18 self.assertIsSubclass(unittest2.TextTestRunner, unittest.TextTestRunner) 19 self.assertIsSubclass(unittest2.TestLoader, unittest.TestLoader) 20 self.assertIsSubclass(unittest2.TextTestResult, unittest.TestResult) 21 22 def test_new_runner_old_case(self): 23 runner = unittest2.TextTestRunner(resultclass=resultFactory, 24 stream=StringIO()) 25 class Test(unittest.TestCase): 26 def testOne(self): 27 pass 28 suite = unittest2.TestSuite((Test('testOne'),)) 29 result = runner.run(suite) 30 self.assertEqual(result.testsRun, 1) 31 self.assertEqual(len(result.errors), 0) 32 33 def test_old_runner_new_case(self): 34 runner = unittest.TextTestRunner(stream=StringIO()) 35 class Test(unittest2.TestCase): 36 def testOne(self): 37 self.assertDictEqual({}, {}) 38 39 suite = unittest.TestSuite((Test('testOne'),)) 40 result = runner.run(suite) 41 self.assertEqual(result.testsRun, 1) 42 self.assertEqual(len(result.errors), 0) 43 44 45if __name__ == '__main__': 46 unittest2.main()