code: def test_mro_entry_metaclass(self):
      meta_args = []
  
      class Meta(type):
          def __new__(mcls, name, bases, ns):
              meta_args.extend([mcls, name, bases, ns])
              return super().__new__(mcls, name, bases, ns)
  
      class A:
          ...
  
      class C:
          def __mro_entries__(self, bases):
              return (A,)
  
      c = C()
  
      class D(c, metaclass=Meta):
          x = 1
  
      self.assertEqual(meta_args[0], Meta)
      self.assertEqual(meta_args[1], "D")
      self.assertEqual(meta_args[2], (A,))
      self.assertEqual(meta_args[3]["x"], 1)
      self.assertEqual(D.__bases__, (A,))
      self.assertEqual(D.__orig_bases__, (c,))
      self.assertEqual(D.__mro__, (D, A, object))
      self.assertEqual(D.__class__, Meta)
  
imports: import unittest
  from test import support
label_desc: Use image node_id 8 for calling the TestMROEntry obj's underlying member method code with example usage: obj.test_mro_entry_metaclass() and returns: super, A