def test_class__deep_hierarchy(self): chain = self._create_inheritance_chain(8) superclasses, class_ = init(chain), last(chain) self.assertItemsEqual( [object] + superclasses, __unit__.iter_superclasses(class_))
def test_class__one_custom_superclass(self): superclass, class_ = self._create_inheritance_chain(2) self.assertItemsEqual( [object, superclass], __unit__.iter_superclasses(class_))
def test_class__just_object_superclass(self): class_ = self._create_class("Class0") self.assertItemsEqual([object], __unit__.iter_superclasses(class_))
def test_class__no_superclasses(self): self.assertEmpty(__unit__.iter_superclasses(object))
def test_some_object(self): with self.assertRaises(TypeError): __unit__.iter_superclasses(object())
def test_none(self): with self.assertRaises(TypeError): __unit__.iter_superclasses(None)