code: def test_cleanups_interleave_order(self):
      events = []
  
      class Test(unittest.IsolatedAsyncioTestCase):
          async def test_func(self):
              self.addAsyncCleanup(self.on_sync_cleanup, 1)
              self.addAsyncCleanup(self.on_async_cleanup, 2)
              self.addAsyncCleanup(self.on_sync_cleanup, 3)
              self.addAsyncCleanup(self.on_async_cleanup, 4)
  
          async def on_sync_cleanup(self, val):
              events.append(f"sync_cleanup {val}")
  
          async def on_async_cleanup(self, val):
              events.append(f"async_cleanup {val}")
  
      test = Test("test_func")
      test.run()
      self.assertEqual(
          events,
          [
              "async_cleanup 4",
              "sync_cleanup 3",
              "async_cleanup 2",
              "sync_cleanup 1",
          ],
      )
  
imports: import asyncio
  import contextvars
  import unittest
  from test import support
label_desc: Use image node_id 8 for calling the TestAsyncCase obj's underlying member method code with example usage: obj.test_cleanups_interleave_order() without return types