@@ -65,34 +65,6 @@ def foo(): return 4
6565 self .assertEqual (D .foo (), 4 )
6666 self .assertEqual (D ().foo (), 4 )
6767
68- def test_abstractmethod_integration (self ):
69- for abstractthing in [abc .abstractmethod , abc .abstractproperty ,
70- abc .abstractclassmethod ,
71- abc .abstractstaticmethod ]:
72- class C (metaclass = abc .ABCMeta ):
73- @abstractthing
74- def foo (self ): pass # abstract
75- def bar (self ): pass # concrete
76- self .assertEqual (C .__abstractmethods__ , {"foo" })
77- self .assertRaises (TypeError , C ) # because foo is abstract
78- self .assertTrue (isabstract (C ))
79- class D (C ):
80- def bar (self ): pass # concrete override of concrete
81- self .assertEqual (D .__abstractmethods__ , {"foo" })
82- self .assertRaises (TypeError , D ) # because foo is still abstract
83- self .assertTrue (isabstract (D ))
84- class E (D ):
85- def foo (self ): pass
86- self .assertEqual (E .__abstractmethods__ , set ())
87- E () # now foo is concrete, too
88- self .assertFalse (isabstract (E ))
89- class F (E ):
90- @abstractthing
91- def bar (self ): pass # abstract override of concrete
92- self .assertEqual (F .__abstractmethods__ , {"bar" })
93- self .assertRaises (TypeError , F ) # because bar is abstract now
94- self .assertTrue (isabstract (F ))
95-
9668
9769class TestABC (unittest .TestCase ):
9870
@@ -432,9 +404,5 @@ class C(A, B):
432404 self .assertEqual (B .counter , 1 )
433405
434406
435- def test_main ():
436- support .run_unittest (TestABC )
437-
438-
439407if __name__ == "__main__" :
440408 unittest .main ()
0 commit comments