def METHOD_NAME(self):
    # this bug was never in reversed, it was in
    # PyObject_CallMethod, and reversed_new calls that sometimes.
    def f():
        pass
    r = f.__reversed__ = object()
    rc = sys.getrefcount(r)
    for i in range(10):
        try:
            reversed(f)
        except TypeError:
            pass
        else:
            self.fail("non-callable __reversed__ didn't raise!")
    self.assertEqual(rc, sys.getrefcount(r))