Test multiple inheritance in _utils get_all_subclasses (#85396)

Should bring code coverage in _utils.py to 100%.
Ensures get_all_subclasses won't enter infinite recursion.
pull/85049/merge
Patrick Kingston 5 months ago committed by GitHub
parent 73369f53af
commit fcffd707c6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -33,6 +33,18 @@ class TestGetAllSubclasses:
class BranchIIB(BranchII):
pass
class MultipleInheritanceBase:
pass
class MultipleInheritanceBranchI(MultipleInheritanceBase):
pass
class MultipleInheritanceBranchII(MultipleInheritanceBase):
pass
class MultipleInheritanceChild(MultipleInheritanceBranchI, MultipleInheritanceBranchII):
pass
def test_bottom_level(self):
assert get_all_subclasses(self.BranchIIB) == set()
@ -43,3 +55,8 @@ class TestGetAllSubclasses:
assert set(get_all_subclasses(self.Base)) == set([self.BranchI, self.BranchII,
self.BranchIA, self.BranchIB,
self.BranchIIA, self.BranchIIB])
def test_multiple_inheritance(self) -> None:
assert get_all_subclasses(self.MultipleInheritanceBase) == {self.MultipleInheritanceBranchI,
self.MultipleInheritanceBranchII,
self.MultipleInheritanceChild}

Loading…
Cancel
Save