def test_mixed_inheritance_mro():
 class A:
  pass
 class B(A, ):
  pass
 class C(A, ):
  pass
 class D(B, C, ):
  pass
 class E(D, object, ):
  pass
 AreEqual(E.__mro__, (E, D, B, A, C, object))
 class F(B, C, object, ):
  pass
 AreEqual(F.__mro__, (F, B, C, A, object))
 class G(B, object, C, ):
  pass
 AreEqual(G.__mro__, (G, B, object, C, A))
 class H(E, ):
  pass
 AreEqual(H.__mro__, (H, E, D, B, A, C, object))
 try:
  class H(A, B, E, ):
   pass
  AssertUnreachable()
 except TypeError:
  pass
 class H(E, B, A, ):
  pass
 AreEqual(H.__mro__, (H, E, D, B, A, C, object))

def test_mixed_inheritance_mro ( ) : class A : pass class B ( A , ) : pass class C ( A , ) : pass class D ( B , C , ) : pass class E ( D , object , ) : pass AreEqual ( E . __mro__ , ( E , D , B , A , C , object ) ) class F ( B , C , object , ) : pass AreEqual ( F . __mro__ , ( F , B , C , A , object ) ) class G ( B , object , C , ) : pass AreEqual ( G . __mro__ , ( G , B , object , C , A ) ) class H ( E , ) : pass AreEqual ( H . __mro__ , ( H , E , D , B , A , C , object ) ) try : class H ( A , B , E , ) : pass AssertUnreachable ( ) except TypeError : pass class H ( E , B , A , ) : pass AreEqual ( H . __mro__ , ( H , E , D , B , A , C , object ) )
mixed inheritance from old-style & new-style classes .