code: def test_done_callback_already_successful(self):
      callback_result = None
  
      def fn(callback_future):
          nonlocal callback_result
          callback_result = callback_future.result()
  
      f = Future()
      f.set_result(5)
      f.add_done_callback(fn)
      self.assertEqual(5, callback_result)
  
imports: import threading
  import time
  import unittest
  from concurrent import futures
  from concurrent.futures._base import PENDING, RUNNING, CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED, Future
  from test import support
  from .util import PENDING_FUTURE, RUNNING_FUTURE, CANCELLED_FUTURE, CANCELLED_AND_NOTIFIED_FUTURE, EXCEPTION_FUTURE, SUCCESSFUL_FUTURE, BaseTestCase, create_future, setup_module
label_desc: Use image node_id 5 for calling the FutureTests obj's underlying member method code with example usage: obj.test_done_callback_already_successful() without return types