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