'This test makes sure that AsyncTestCase calls super methods for
setUp and tearDown.
InheritBoth is a subclass of both AsyncTestCase and
SetUpTearDown, with the ordering so that the super of
AsyncTestCase will be SetUpTearDown.'

def test_set_up_tear_down(self):

    events = []
    result = unittest.TestResult()
    class SetUpTearDown(unittest.TestCase, ):
        def setUp(self):
            events.append('setUp')
        def tearDown(self):
            events.append('tearDown')
    class InheritBoth(AsyncTestCase, SetUpTearDown, ):
        def test(self):
            events.append('test')
    InheritBoth('test').run(result)
    expected = ['setUp', 'test', 'tearDown']
    self.assertEqual(expected, events)
