code: def testCheckpointExperiment(
      self, mock_logger_constructor, mock_checkpointer_constructor
  ):
      checkpoint_dir = os.path.join(self._test_subdir, "checkpoints")
      test_dict = {"test": 1}
      iteration = 1729
  
      def bundle_and_checkpoint(x, y):
          self.assertEqual(checkpoint_dir, x)
          self.assertEqual(iteration, y)
          return test_dict
  
      self._agent.bundle_and_checkpoint.side_effect = (
          bundle_and_checkpoint
      )
      experiment_checkpointer = mock.Mock()
      mock_checkpointer_constructor.return_value = (
          experiment_checkpointer
      )
      logs_data = {"one": 1, "two": 2}
      mock_logger = MockLogger(run_asserts=False, data=logs_data)
      mock_logger_constructor.return_value = mock_logger
      runner = run_experiment.Runner(
          self._test_subdir, self._create_agent_fn, mock.Mock
      )
      runner._checkpoint_experiment(iteration)
      self.assertEqual(
          1, experiment_checkpointer.save_checkpoint.call_count
      )
      mock_args, _ = experiment_checkpointer.save_checkpoint.call_args
      self.assertEqual(iteration, mock_args[0])
      test_dict["logs"] = logs_data
      test_dict["current_iteration"] = iteration
      self.assertDictEqual(test_dict, mock_args[1])
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import shutil
  from absl import flags
  from dopamine.agents.dqn import dqn_agent
  from dopamine.agents.implicit_quantile import implicit_quantile_agent
  from dopamine.agents.rainbow import rainbow_agent
  from dopamine.discrete_domains import checkpointer
  from dopamine.discrete_domains import logger
  from dopamine.discrete_domains import run_experiment
  from dopamine.metrics import collector_dispatcher
  from dopamine.metrics import statistics_instance
  import gin.tf
  import mock
  import tensorflow
label_desc: Use image node_id 12 for calling the RunnerTest obj's underlying member method code with example usage: obj.testCheckpointExperiment(mock_logger_constructor, mock_checkpointer_constructor) and returns: test_dict