MCPcopy Index your code
hub / github.com/python/cpython / test_math

Method test_math

Lib/test/test_bool.py:49–170  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

47 self.assertEqual(complex(True), True)
48
49 def test_math(self):
50 self.assertEqual(+False, 0)
51 self.assertIsNot(+False, False)
52 self.assertEqual(-False, 0)
53 self.assertIsNot(-False, False)
54 self.assertEqual(abs(False), 0)
55 self.assertIsNot(abs(False), False)
56 self.assertEqual(+True, 1)
57 self.assertIsNot(+True, True)
58 self.assertEqual(-True, -1)
59 self.assertEqual(abs(True), 1)
60 self.assertIsNot(abs(True), True)
61 with self.assertWarns(DeprecationWarning):
62 # We need to put the bool in a variable, because the constant
63 # ~False is evaluated at compile time due to constant folding;
64 # consequently the DeprecationWarning would be issued during
65 # module loading and not during test execution.
66 false = False
67 self.assertEqual(~false, -1)
68 with self.assertWarns(DeprecationWarning):
69 # also check that the warning is issued in case of constant
70 # folding at compile time
71 self.assertEqual(eval("~False"), -1)
72 with self.assertWarns(DeprecationWarning):
73 true = True
74 self.assertEqual(~true, -2)
75 with self.assertWarns(DeprecationWarning):
76 self.assertEqual(eval("~True"), -2)
77
78 self.assertEqual(False+2, 2)
79 self.assertEqual(True+2, 3)
80 self.assertEqual(2+False, 2)
81 self.assertEqual(2+True, 3)
82
83 self.assertEqual(False+False, 0)
84 self.assertIsNot(False+False, False)
85 self.assertEqual(False+True, 1)
86 self.assertIsNot(False+True, True)
87 self.assertEqual(True+False, 1)
88 self.assertIsNot(True+False, True)
89 self.assertEqual(True+True, 2)
90
91 self.assertEqual(True-True, 0)
92 self.assertIsNot(True-True, False)
93 self.assertEqual(False-False, 0)
94 self.assertIsNot(False-False, False)
95 self.assertEqual(True-False, 1)
96 self.assertIsNot(True-False, True)
97 self.assertEqual(False-True, -1)
98
99 self.assertEqual(True*1, 1)
100 self.assertEqual(False*1, 0)
101 self.assertIsNot(False*1, False)
102
103 self.assertEqual(True/1, 1)
104 self.assertIsNot(True/1, True)
105 self.assertEqual(False/1, 0)
106 self.assertIsNot(False/1, False)

Callers

nothing calls this directly

Calls 5

absFunction · 0.85
assertIsNotMethod · 0.80
assertWarnsMethod · 0.80
assertEqualMethod · 0.45
assertIsMethod · 0.45

Tested by

no test coverage detected