MCPcopy Index your code
hub / github.com/python/cpython / test_multiple_inheritance

Method test_multiple_inheritance

Lib/test/test_descr.py:860–899  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

858 self.assertEqual(A.__subclasses__(), subclasses)
859
860 def test_multiple_inheritance(self):
861 # Testing multiple inheritance...
862 class C(object):
863 def __init__(self):
864 self.__state = 0
865 def getstate(self):
866 return self.__state
867 def setstate(self, state):
868 self.__state = state
869 a = C()
870 self.assertEqual(a.getstate(), 0)
871 a.setstate(10)
872 self.assertEqual(a.getstate(), 10)
873 class D(dict, C):
874 def __init__(self):
875 dict.__init__(self)
876 C.__init__(self)
877 d = D()
878 self.assertEqual(list(d.keys()), [])
879 d["hello"] = "world"
880 self.assertEqual(list(d.items()), [("hello", "world")])
881 self.assertEqual(d["hello"], "world")
882 self.assertEqual(d.getstate(), 0)
883 d.setstate(10)
884 self.assertEqual(d.getstate(), 10)
885 self.assertEqual(D.__mro__, (D, dict, C, object))
886
887 # SF bug #442833
888 class Node(object):
889 def __int__(self):
890 return int(self.foo())
891 def foo(self):
892 return "23"
893 class Frag(Node, list):
894 def foo(self):
895 return "42"
896 self.assertEqual(Node().__int__(), 23)
897 self.assertEqual(int(Node()), 23)
898 self.assertEqual(Frag().__int__(), 42)
899 self.assertEqual(int(Frag()), 42)
900
901 def test_diamond_inheritance(self):
902 # Testing multiple inheritance special cases...

Callers

nothing calls this directly

Calls 11

getstateMethod · 0.95
setstateMethod · 0.95
keysMethod · 0.95
listClass · 0.85
FragClass · 0.85
CClass · 0.70
DClass · 0.70
NodeClass · 0.70
assertEqualMethod · 0.45
itemsMethod · 0.45
__int__Method · 0.45

Tested by

no test coverage detected