objects: tests and solutions

everything is an object: tests

The code in objects/tests/test_objects.py from everything is an object

objects/tests/test_objects.py
1class WPass: pass
2
3
4class WParentheses(): pass
5
6
7class WObject(object): pass
objects/tests/test_objects.py
10def test_making_an_object_w_pass():
11    assert isinstance(WPass(), object)
12    assert issubclass(WPass, object)
13
14
15def test_making_an_object_w_parentheses():
16    assert isinstance(WParentheses(), object)
17    assert issubclass(WParentheses, object)
18
19
20def test_making_an_object_w_object():
21    assert isinstance(WObject(), object)
22    assert issubclass(WObject, object)
objects/tests/test_objects.py
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)
objects/tests/test_objects.py
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)
objects/tests/test_objects.py
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)
objects/tests/test_objects.py
71def test_dir_object():
72    reality = dir(object)
73    my_expectation = [
74        '__class__', '__delattr__', '__dir__',
75        '__doc__', '__eq__', '__format__',
76        '__ge__', '__getattribute__',
77        '__getstate__', '__gt__', '__hash__',
78        '__init__', '__init_subclass__', '__le__',
79        '__lt__', '__ne__', '__new__', '__reduce__',
80        '__reduce_ex__', '__repr__', '__setattr__',
81        '__sizeof__', '__str__', '__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 objects/tests/test_objects.py from test objects with unittest

objects/tests/test_objects.py
 1import unittest
 2
 3
 4class WPass: pass
 5
 6
 7class WParentheses(): pass
 8
 9
10class WObject(object): pass
objects/tests/test_objects.py
13class TestObjects(unittest.TestCase):
14
15    def test_making_an_object_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_an_object_w_parentheses(self):
23        assert isinstance(WParentheses(), object)
24        self.assertIsInstance(WParentheses(), object)
25
26        assert issubclass(WParentheses, object)
27        self.assertIsSubclass(WParentheses, object)
objects/tests/test_objects.py
29    def test_making_an_object_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)
objects/tests/test_objects.py
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)
objects/tests/test_objects.py
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)
objects/tests/test_objects.py
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)
objects/tests/test_objects.py
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)
objects/tests/test_objects.py
100    def test_dir_object(self):
101        reality = dir(object)
102        my_expectation = [
103            '__class__', '__delattr__', '__dir__',
104            '__doc__', '__eq__', '__format__',
105            '__ge__', '__getattribute__',
106            '__getstate__', '__gt__', '__hash__',
107            '__init__', '__init_subclass__', '__le__',
108            '__lt__', '__ne__', '__new__', '__reduce__',
109            '__reduce_ex__', '__repr__', '__setattr__',
110            '__sizeof__', '__str__', '__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

test objects with loops: tests

The code in objects/tests/test_objects.py from test objects with loops

objects/tests/test_objects.py
 1import unittest
 2
 3
 4class WPass: pass
 5
 6
 7class WParentheses(): pass
 8
 9
10class WObject(object): pass
objects/tests/test_objects.py
13class TestObjects(unittest.TestCase):
14
15    def test_what_is_an_object(self):
16        for an_object in (
17            WPass, WParentheses, WObject,
18            bool, int, float, str,
19            tuple, list, set, dict
20        ):
21            with self.subTest(an_object):
22                assert isinstance(an_object(), object)
23                self.assertIsInstance(an_object(), object)
24                assert issubclass(an_object, object)
25                self.assertIsSubclass(an_object, object)
objects/tests/test_objects.py
27    def test_is_none_an_object(self):
28        assert isinstance(None, object)
29        self.assertIsInstance(None, object)
30
31        # fails because None is not a class
32        # assert issubclass(None, object)
33        # self.assertIsSubclass(None, object)
objects/tests/test_objects.py
35    def test_dir_object(self):
36        reality = dir(object)
37        my_expectation = [
38            '__class__', '__delattr__', '__dir__',
39            '__doc__', '__eq__', '__format__',
40            '__ge__', '__getattribute__',
41            '__getstate__', '__gt__', '__hash__',
42            '__init__', '__init_subclass__', '__le__',
43            '__lt__', '__ne__', '__new__', '__reduce__',
44            '__reduce_ex__', '__repr__', '__setattr__',
45            '__sizeof__', '__str__', '__subclasshook__'
46        ]
47        assert reality == my_expectation
48        self.assertEqual(reality, my_expectation)
49
50
51# Exceptions seen
52# AssertionError
53# NameError
54# TypeError
55# AttributeError