booleans: tests


what are booleans?: tests

The code in booleans/tests/test_booleans.py from booleans

  1import unittest
  2
  3
  4class TestBooleans(unittest.TestCase):
  5
  6    def test_what_is_false(self):
  7        self.assertIsInstance(False, (bool, int))
  8        self.assertNotIsInstance(
  9            False,
 10            (
 11                float, tuple, str,
 12                list, set, dict
 13            )
 14        )
 15        self.assertIs(False, False)
 16        self.assertIs(bool(False), False)
 17        self.assertFalse(bool(False))
 18        self.assertFalse(False)
 19
 20    def test_what_is_true(self):
 21        self.assertIsInstance(True, (bool, int))
 22        self.assertNotIsInstance(
 23            True,
 24            (
 25                float, tuple, str,
 26                list, set, dict
 27            )
 28        )
 29        self.assertIs(True, True)
 30        self.assertIs(bool(True), True)
 31        self.assertTrue(bool(True))
 32        self.assertTrue(True)
 33
 34    def test_is_none_falsy_or_truthy(self):
 35        self.assertFalse(bool(None))
 36        self.assertFalse(None)
 37        self.assertIsNot(None, False)
 38
 39    def test_is_an_integer_falsy_or_truthy(self):
 40        a_negative_integer = -1
 41        self.assertTrue(bool(a_negative_integer))
 42        self.assertTrue(a_negative_integer)
 43        self.assertIsNot(a_negative_integer, True)
 44
 45        self.assertFalse(bool(0))
 46        self.assertFalse(0)
 47        self.assertIsNot(0, False)
 48
 49        a_positive_integer = 1
 50        self.assertTrue(bool(a_positive_integer))
 51        self.assertTrue(a_positive_integer)
 52        self.assertIsNot(a_positive_integer, True)
 53
 54    def test_is_a_float_falsy_or_truthy(self):
 55        a_negative_float = -0.1
 56        self.assertTrue(bool(a_negative_float))
 57        self.assertTrue(a_negative_float)
 58        self.assertIsNot(a_negative_float, True)
 59
 60        self.assertFalse(bool(0.0))
 61        self.assertFalse(0.0)
 62        self.assertIsNot(0.0, False)
 63
 64        a_positive_float = 0.1
 65        self.assertTrue(bool(a_positive_float))
 66        self.assertTrue(a_positive_float)
 67        self.assertIsNot(a_positive_float, True)
 68
 69    def test_is_a_string_falsy_or_truthy(self):
 70        self.assertFalse(bool(str()))
 71        self.assertFalse(str())
 72        self.assertIsNot(str(), False)
 73
 74        a_string = "string with things"
 75        self.assertTrue(bool(a_string))
 76        self.assertTrue(a_string)
 77        self.assertIsNot(a_string, True)
 78
 79    def test_is_a_tuple_falsy_or_truthy(self):
 80        self.assertFalse(bool(tuple()))
 81        self.assertFalse(tuple())
 82        self.assertIsNot(tuple(), False)
 83
 84        a_tuple = (0, 1, 2, 'n')
 85        self.assertTrue(bool(a_tuple))
 86        self.assertTrue(a_tuple)
 87        self.assertIsNot(a_tuple, True)
 88
 89    def test_is_a_list_falsy_or_truthy(self):
 90        self.assertFalse(bool(list()))
 91        self.assertFalse(list())
 92        self.assertIsNot(list(), False)
 93
 94        a_list = [0, 1, 2, 'n']
 95        self.assertTrue(bool(a_list))
 96        self.assertTrue(a_list)
 97        self.assertIsNot(a_list, True)
 98
 99    def test_is_a_set_falsy_or_truthy(self):
100        self.assertFalse(bool(set()))
101        self.assertFalse(set())
102        self.assertIsNot(set(), False)
103
104        a_set = {0, 1, 2, 'n'}
105        self.assertTrue(bool(a_set))
106        self.assertTrue(a_set)
107        self.assertIsNot(a_set, True)
108
109    def test_is_a_dictionary_falsy_or_truthy(self):
110        self.assertFalse(bool(dict()))
111        self.assertFalse(dict())
112        self.assertIsNot(dict(), False)
113
114        a_dictionary = {'key': 'value'}
115        self.assertTrue(bool(a_dictionary))
116        self.assertTrue(a_dictionary)
117        self.assertIsNot(a_dictionary, True)
118
119    def test_the_value_of_false(self):
120        self.assertEqual(False+1, 1)
121        self.assertEqual(False-1, -1)
122        self.assertEqual(False*1, 0)
123
124        # raises ZeroDivisionError
125        # 1 / False
126
127    def test_the_value_of_true(self):
128        self.assertEqual(True+1, 2)
129        self.assertEqual(True-1, 0)
130        self.assertEqual(True*1, 1)
131        self.assertEqual(True/1, 1)
132
133
134# NOTES
135# bool(a dictionary with things) is True
136# bool(a set with things) is True
137# bool(a list with things) is True
138# bool(a tuple with things) is True
139# bool(a string with things) is True
140# bool(a positive number) is True
141# bool(a negative number) is True
142# True is True
143# True is an integer
144# the value of True is 1
145# True is a boolean
146# True is NOT False
147# bool(the empty dictionary) is False
148# bool(the empty set) is False
149# bool(the empty list) is False
150# bool(the empty tuple) is False
151# bool(the empty string) is False
152# bool(zero) is False
153# bool(None) is False
154# False is False
155# False is an integer
156# the value of False is 0
157# False is a boolean
158# False is NOT True
159
160
161# Exceptions seen
162# AssertionError
163# ZeroDivisionError