@@ -75,15 +75,21 @@ class B(object):
7575 pass
7676 b = B ()
7777 self .assertEqual (issubclass (B , A ), False )
78+ self .assertEqual (issubclass (B , (A ,)), False )
7879 self .assertEqual (isinstance (b , A ), False )
80+ self .assertEqual (isinstance (b , (A ,)), False )
7981 A .register (B )
8082 self .assertEqual (issubclass (B , A ), True )
83+ self .assertEqual (issubclass (B , (A ,)), True )
8184 self .assertEqual (isinstance (b , A ), True )
85+ self .assertEqual (isinstance (b , (A ,)), True )
8286 class C (B ):
8387 pass
8488 c = C ()
8589 self .assertEqual (issubclass (C , A ), True )
90+ self .assertEqual (issubclass (C , (A ,)), True )
8691 self .assertEqual (isinstance (c , A ), True )
92+ self .assertEqual (isinstance (c , (A ,)), True )
8793
8894 def test_isinstance_invalidation (self ):
8995 class A (metaclass = abc .ABCMeta ):
@@ -92,22 +98,29 @@ class B:
9298 pass
9399 b = B ()
94100 self .assertEqual (isinstance (b , A ), False )
101+ self .assertEqual (isinstance (b , (A ,)), False )
95102 A .register (B )
96103 self .assertEqual (isinstance (b , A ), True )
104+ self .assertEqual (isinstance (b , (A ,)), True )
97105
98106 def test_registration_builtins (self ):
99107 class A (metaclass = abc .ABCMeta ):
100108 pass
101109 A .register (int )
102110 self .assertEqual (isinstance (42 , A ), True )
111+ self .assertEqual (isinstance (42 , (A ,)), True )
103112 self .assertEqual (issubclass (int , A ), True )
113+ self .assertEqual (issubclass (int , (A ,)), True )
104114 class B (A ):
105115 pass
106116 B .register (str )
107117 class C (str ): pass
108118 self .assertEqual (isinstance ("" , A ), True )
119+ self .assertEqual (isinstance ("" , (A ,)), True )
109120 self .assertEqual (issubclass (str , A ), True )
121+ self .assertEqual (issubclass (str , (A ,)), True )
110122 self .assertEqual (issubclass (C , A ), True )
123+ self .assertEqual (issubclass (C , (A ,)), True )
111124
112125 def test_registration_edge_cases (self ):
113126 class A (metaclass = abc .ABCMeta ):
@@ -130,29 +143,40 @@ def test_registration_transitiveness(self):
130143 class A (metaclass = abc .ABCMeta ):
131144 pass
132145 self .failUnless (issubclass (A , A ))
146+ self .failUnless (issubclass (A , (A ,)))
133147 class B (metaclass = abc .ABCMeta ):
134148 pass
135149 self .failIf (issubclass (A , B ))
150+ self .failIf (issubclass (A , (B ,)))
136151 self .failIf (issubclass (B , A ))
152+ self .failIf (issubclass (B , (A ,)))
137153 class C (metaclass = abc .ABCMeta ):
138154 pass
139155 A .register (B )
140156 class B1 (B ):
141157 pass
142158 self .failUnless (issubclass (B1 , A ))
159+ self .failUnless (issubclass (B1 , (A ,)))
143160 class C1 (C ):
144161 pass
145162 B1 .register (C1 )
146163 self .failIf (issubclass (C , B ))
164+ self .failIf (issubclass (C , (B ,)))
147165 self .failIf (issubclass (C , B1 ))
166+ self .failIf (issubclass (C , (B1 ,)))
148167 self .failUnless (issubclass (C1 , A ))
168+ self .failUnless (issubclass (C1 , (A ,)))
149169 self .failUnless (issubclass (C1 , B ))
170+ self .failUnless (issubclass (C1 , (B ,)))
150171 self .failUnless (issubclass (C1 , B1 ))
172+ self .failUnless (issubclass (C1 , (B1 ,)))
151173 C1 .register (int )
152174 class MyInt (int ):
153175 pass
154176 self .failUnless (issubclass (MyInt , A ))
177+ self .failUnless (issubclass (MyInt , (A ,)))
155178 self .failUnless (isinstance (42 , A ))
179+ self .failUnless (isinstance (42 , (A ,)))
156180
157181 def test_all_new_methods_are_called (self ):
158182 class A (metaclass = abc .ABCMeta ):
0 commit comments