code: def test_mro_entry(self):
      tested = []
  
      class A:
          ...
  
      class B:
          ...
  
      class C:
          def __mro_entries__(self, bases):
              tested.append(bases)
              return (self.__class__,)
  
      c = C()
      self.assertEqual(tested, [])
  
      class D(A, c, B):
          ...
  
      self.assertEqual(tested[-1], (A, c, B))
      self.assertEqual(D.__bases__, (A, C, B))
      self.assertEqual(D.__orig_bases__, (A, c, B))
      self.assertEqual(D.__mro__, (D, A, C, B, object))
      d = D()
  
      class E(d):
          ...
  
      self.assertEqual(tested[-1], (d,))
      self.assertEqual(E.__bases__, (D,))
  
imports: import unittest
  from test import support
label_desc: Use image node_id 2 for calling the TestMROEntry obj's underlying member method code with example usage: obj.test_mro_entry() and returns: self