another way to write tests: tests

the code from unittest/tests/test_unittest.py from another way to write tests

  1import unittest
  2
  3
  4class TestUnittest(unittest.TestCase):
  5
  6    def test_attributes_and_methods_of_unittest(self):
  7        reality = dir(unittest)
  8        my_expectation = [
  9            'BaseTestSuite', 'FunctionTestCase',
 10            'IsolatedAsyncioTestCase', 'SkipTest',
 11            'TestCase', 'TestLoader', 'TestProgram',
 12            'TestResult', 'TestSuite', 'TextTestResult',
 13            'TextTestRunner', '__all__', '__builtins__',
 14            '__cached__', '__dir__', '__doc__',
 15            '__file__', '__getattr__', '__loader__',
 16            '__name__', '__package__', '__path__',
 17            '__spec__', '__unittest', 'addModuleCleanup',
 18            'case', 'defaultTestLoader', 'doModuleCleanups',
 19            'enterModuleContext', 'expectedFailure',
 20            'installHandler', 'loader', 'main',
 21            'registerResult', 'removeHandler', 'removeResult',
 22            'result', 'runner', 'signals', 'skip', 'skipIf',
 23            'skipUnless', 'suite', 'util'
 24        ]
 25        assert reality == my_expectation
 26        self.assertEqual(reality, my_expectation)
 27
 28    def test_attributes_and_methods_of_unittest_testcase(self):
 29        reality = dir(unittest.TestCase)
 30        my_expectation = [
 31            '__call__', '__class__', '__delattr__',
 32            '__dict__', '__dir__', '__doc__', '__eq__',
 33            '__firstlineno__', '__format__', '__ge__',
 34            '__getattribute__', '__getstate__', '__gt__',
 35            '__hash__', '__init__', '__init_subclass__',
 36            '__le__', '__lt__', '__module__', '__ne__',
 37            '__new__', '__reduce__', '__reduce_ex__',
 38            '__repr__', '__setattr__', '__sizeof__',
 39            '__static_attributes__', '__str__',
 40            '__subclasshook__', '__weakref__',
 41            '_addDuration', '_addExpectedFailure',
 42            '_addUnexpectedSuccess', '_assertNotWarns',
 43            '_baseAssertEqual', '_callCleanup',
 44            '_callSetUp', '_callTearDown', '_callTestMethod',
 45            '_diffThreshold', '_formatMessage',
 46            '_getAssertEqualityFunc', '_tail_type_check',
 47            '_truncateMessage', 'addClassCleanup',
 48            'addCleanup', 'addTypeEqualityFunc',
 49            'assertAlmostEqual', 'assertCountEqual',
 50            'assertDictEqual', 'assertEndsWith',
 51            'assertEqual', 'assertFalse', 'assertGreater',
 52            'assertGreaterEqual', 'assertHasAttr',
 53            'assertIn', 'assertIs', 'assertIsInstance',
 54            'assertIsNone', 'assertIsNot',
 55            'assertIsNotNone', 'assertIsSubclass',
 56            'assertLess', 'assertLessEqual',
 57            'assertListEqual', 'assertLogs',
 58            'assertMultiLineEqual', 'assertNoLogs',
 59            'assertNotAlmostEqual', 'assertNotEndsWith',
 60            'assertNotEqual', 'assertNotHasAttr',
 61            'assertNotIn', 'assertNotIsInstance',
 62            'assertNotIsSubclass', 'assertNotRegex',
 63            'assertNotStartsWith', 'assertRaises',
 64            'assertRaisesRegex', 'assertRegex',
 65            'assertSequenceEqual', 'assertSetEqual',
 66            'assertStartsWith', 'assertTrue',
 67            'assertTupleEqual', 'assertWarns',
 68            'assertWarnsRegex', 'countTestCases',
 69            'debug', 'defaultTestResult',
 70            'doClassCleanups', 'doCleanups',
 71            'enterClassContext', 'enterContext', 'fail',
 72            'failureException', 'id', 'longMessage',
 73            'maxDiff', 'run', 'setUp', 'setUpClass',
 74            'shortDescription', 'skipTest', 'subTest',
 75            'tearDown', 'tearDownClass'
 76        ]
 77        assert reality == my_expectation
 78        self.assertEqual(reality, my_expectation)
 79
 80    def test_assert_is_not(self):
 81        assert None is not False
 82        self.assertIsNot(None, False)
 83
 84    def test_assert_is(self):
 85        assert False is False
 86        self.assertIs(False, False)
 87
 88    def test_assert_not_equal(self):
 89        assert True != 0
 90        self.assertNotEqual(True, 0)
 91
 92    def test_assert_equal(self):
 93        assert 0.0 == 0.0
 94        self.assertEqual(0.0, 0.0)
 95
 96    def test_assert_not_is_instance(self):
 97        assert not isinstance(
 98            unittest.TestCase, unittest.TestCase
 99        )
100        self.assertNotIsInstance(
101            unittest.TestCase, unittest.TestCase
102        )
103
104    def test_assert_is_instance(self):
105        a_class = unittest.TestCase
106        an_instance = a_class()
107
108        assert isinstance(an_instance, a_class)
109        self.assertIsInstance(
110            an_instance, a_class
111        )
112        self.assertIsInstance(
113            self, unittest.TestCase
114        )
115
116    def test_assert_not_is_subclass(self):
117        assert not issubclass(
118            unittest.TestCase, list
119        )
120        self.assertNotIsSubclass(
121            unittest.TestCase, dict
122        )
123
124    def test_assert_is_subclass(self):
125        assert issubclass(unittest.TestCase, object)
126        self.assertIsSubclass(
127            unittest.TestCase, object
128        )
129        self.assertIsSubclass(
130            TestUnittest, unittest.TestCase
131        )
132
133
134# Exceptions seen
135# AssertionError
136# NameError
137# TypeError
138# AttributeError