def METHOD_NAME(self):
    events = []
    class Test(unittest.IsolatedAsyncioTestCase):
        def setUp(self):
            self.assertEqual(events, [])
            events.append('setUp')
        async def asyncSetUp(self):
            self.assertEqual(events, ['setUp'])
            events.append('asyncSetUp')
        async def test_func(self):
            self.assertEqual(events, ['setUp',
                                      'asyncSetUp'])
            events.append('test')
            self.addAsyncCleanup(self.on_cleanup)
        async def asyncTearDown(self):
            self.assertEqual(events, ['setUp',
                                      'asyncSetUp',
                                      'test'])
            events.append('asyncTearDown')
        def tearDown(self):
            self.assertEqual(events, ['setUp',
                                      'asyncSetUp',
                                      'test',
                                      'asyncTearDown'])
            events.append('tearDown')
        async def on_cleanup(self):
            self.assertEqual(events, ['setUp',
                                      'asyncSetUp',
                                      'test',
                                      'asyncTearDown',
                                      'tearDown'])
            events.append('cleanup')
    test = Test("test_func")
    test.run()
    self.assertEqual(events, ['setUp',
                              'asyncSetUp',
                              'test',
                              'asyncTearDown',
                              'tearDown',
                              'cleanup'])