classes: tests and solutions

everything is an object: tests

The code in classes/tests/test_classes.py from everything is an object

 1class WPass: pass
 2
 3
 4class WParentheses(): pass
 5
 6
 7class WObject(object): pass
 8
 9
10def test_making_a_class_w_pass():
11    assert isinstance(WPass(), object)
12    assert issubclass(WPass, object)
13
14
15def test_making_a_class_w_parentheses():
16    assert isinstance(WParentheses(), object)
17    assert issubclass(WParentheses, object)
18
19
20def test_making_a_class_w_object():
21    assert isinstance(WObject(), object)
22    assert issubclass(WObject, object)
23
24
25def test_is_none_an_object():
26    assert isinstance(None, object)
27    # fails because None is not a class
28    # assert issubclass(None, object)
29
30
31def test_is_a_boolean_an_object():
32    assert isinstance(bool, object)
33    assert issubclass(bool, object)
34
35
36def test_is_an_integer_an_object():
37    assert isinstance(int, object)
38    assert issubclass(int, object)
39
40
41def test_is_a_float_an_object():
42    assert isinstance(float, object)
43    assert issubclass(float, object)
44
45
46def test_is_a_string_an_object():
47    assert isinstance(str, object)
48    assert issubclass(str, object)
49
50
51def test_is_a_tuple_an_object():
52    assert isinstance(tuple, object)
53    assert issubclass(tuple, object)
54
55
56def test_is_a_list_an_object():
57    assert isinstance(list, object)
58    assert issubclass(list, object)
59
60
61def test_is_a_set_an_object():
62    assert isinstance(set, object)
63    assert issubclass(set, object)
64
65
66def test_is_a_dictionary_an_object():
67    assert isinstance(dict, object)
68    assert issubclass(dict, object)
69
70
71def test_dir_object():
72    reality = dir(object)
73    my_expectation = [
74        '__class__', '__delattr__', '__dir__',
75        '__doc__', '__eq__', '__format__', '__ge__',
76        '__getattribute__', '__getstate__', '__gt__',
77        '__hash__', '__init__', '__init_subclass__',
78        '__le__', '__lt__', '__ne__', '__new__',
79        '__reduce__', '__reduce_ex__', '__repr__',
80        '__setattr__', '__sizeof__', '__str__',
81        '__subclasshook__'
82    ]
83    assert reality == my_expectation
84
85
86# Exceptions seen
87# AssertionError
88# NameError
89# TypeError

test objects with unittest: tests

The code in classes/tests/test_classes.py from test objects with unittest

  1import unittest
  2
  3
  4class WPass: pass
  5
  6
  7class WParentheses(): pass
  8
  9
 10class WObject(object): pass
 11
 12
 13class TestClasses(unittest.TestCase):
 14
 15    def test_making_a_class_w_pass(self):
 16        assert isinstance(WPass(), object)
 17        self.assertIsInstance(WPass(), object)
 18
 19        assert issubclass(WPass, object)
 20        self.assertIsSubclass(WPass, object)
 21
 22    def test_making_a_class_w_parentheses(self):
 23        assert isinstance(WParentheses(), object)
 24        self.assertIsInstance(WParentheses(), object)
 25
 26        assert issubclass(WParentheses, object)
 27        self.assertIsSubclass(WParentheses, object)
 28
 29    def test_making_a_class_w_object(self):
 30        assert isinstance(WObject(), object)
 31        self.assertIsInstance(WObject(), object)
 32
 33        assert issubclass(WObject, object)
 34        self.assertIsSubclass(WObject, object)
 35
 36    def test_is_none_an_object(self):
 37        assert isinstance(None, object)
 38        self.assertIsInstance(None, object)
 39
 40        # fails because None is not a class
 41        # assert issubclass(None, object)
 42        # self.assertIsSubclass(None, object)
 43
 44    def test_is_a_boolean_an_object(self):
 45        assert isinstance(bool, object)
 46        self.assertIsInstance(bool, object)
 47
 48        assert issubclass(bool, object)
 49        self.assertIsSubclass(bool, object)
 50
 51    def test_is_an_integer_an_object(self):
 52        assert isinstance(int, object)
 53        self.assertIsInstance(int, object)
 54
 55        assert issubclass(int, object)
 56        self.assertIsSubclass(int, object)
 57
 58    def test_is_a_float_an_object(self):
 59        assert isinstance(float, object)
 60        self.assertIsInstance(float, object)
 61
 62        assert issubclass(float, object)
 63        self.assertIsSubclass(float, object)
 64
 65    def test_is_a_string_an_object(self):
 66        assert isinstance(str, object)
 67        self.assertIsInstance(str, object)
 68
 69        assert issubclass(str, object)
 70        self.assertIsSubclass(str, object)
 71
 72    def test_is_a_tuple_an_object(self):
 73        assert isinstance(tuple, object)
 74        self.assertIsInstance(tuple, object)
 75
 76        assert issubclass(tuple, object)
 77        self.assertIsSubclass(tuple, object)
 78
 79    def test_is_a_list_an_object(self):
 80        assert isinstance(list, object)
 81        self.assertIsInstance(list, object)
 82
 83        assert issubclass(list, object)
 84        self.assertIsSubclass(list, object)
 85
 86    def test_is_a_set_an_object(self):
 87        assert isinstance(set, object)
 88        self.assertIsInstance(set, object)
 89
 90        assert issubclass(set, object)
 91        self.assertIsSubclass(set, object)
 92
 93    def test_is_a_dictionary_an_object(self):
 94        assert isinstance(dict, object)
 95        self.assertIsInstance(dict, object)
 96
 97        assert issubclass(dict, object)
 98        self.assertIsSubclass(dict, object)
 99
100    def test_dir_object(self):
101        reality = dir(object)
102        my_expectation = [
103            '__class__', '__delattr__', '__dir__',
104            '__doc__', '__eq__', '__format__', '__ge__',
105            '__getattribute__', '__getstate__', '__gt__',
106            '__hash__', '__init__', '__init_subclass__',
107            '__le__', '__lt__', '__ne__', '__new__',
108            '__reduce__', '__reduce_ex__', '__repr__',
109            '__setattr__', '__sizeof__', '__str__',
110            '__subclasshook__'
111        ]
112        assert reality == my_expectation
113        self.assertEqual(reality, my_expectation)
114
115
116# Exceptions seen
117# AssertionError
118# NameError
119# TypeError
120# AttributeError