class_docstr: Targeted at testing functions of built-in tuners, including
      - [ ] load_checkpoint
      - [ ] save_checkpoint
      - [X] update_search_space
      - [X] generate_multiple_parameters
      - [X] import_data
      - [ ] trial_end
      - [x] receive_trial_result
class_docstr_tok: ["Targeted","at","testing","functions","of","built-in","tuners",",","including","-","[","]","load_checkpoint","-","[","]","save_checkpoint","-","[","X","]","update_search_space","-","[","X","]","generate_multiple_parameters","-","[","X","]","import_data","-","[","]","trial_end","-","[","x","]","receive_trial_result"]
code: def search_space_test_one(
      self, tuner_factory, search_space, nas=False
  ):
      # nas: whether the test checks classic nas tuner
      tuner = tuner_factory()
      self.assertIsInstance(tuner, Tuner)
      tuner.update_search_space(search_space)
  
      for i in range(self.test_round):
          queue = deque()
          parameters = tuner.generate_multiple_parameters(
              list(
                  range(
                      i * self.params_each_round,
                      (i + 1) * self.params_each_round,
                  )
              ),
              st_callback=self.send_trial_callback(queue),
          )
          logger.debug(parameters)
          check_range = (
              lambda parameters, search_space: self.nas_check_range(
                  parameters, search_space
              )
              if nas
              else self.check_range(parameters, search_space)
          )
          check_range(parameters, search_space)
          for k in range(min(len(parameters), self.params_each_round)):
              self.send_trial_result(
                  tuner,
                  self.params_each_round * i + k,
                  parameters[k],
                  random.uniform(-100, 100),
              )
          while queue:
              id_, params = queue.popleft()
              check_range([params], search_space)
              self.send_trial_result(
                  tuner, id_, params, random.uniform(-100, 100)
              )
          if not parameters and not self.exhaustive:
              raise ValueError("No parameters generated")
  
imports: import glob
  import json
  import logging
  import os
  import random
  import shutil
  import sys
  from collections import deque
  from unittest import TestCase, main
  from nni.algorithms.hpo.batch_tuner import BatchTuner
  from nni.algorithms.hpo.dngo_tuner import DNGOTuner
  from nni.algorithms.hpo.evolution_tuner import EvolutionTuner
  from nni.algorithms.hpo.gp_tuner import GPTuner
  from nni.algorithms.hpo.gridsearch_tuner import GridSearchTuner
  from nni.algorithms.hpo.hyperopt_tuner import HyperoptTuner
  from nni.algorithms.hpo.metis_tuner import MetisTuner
  from nni.algorithms.hpo.pbt_tuner import PBTTuner
  from nni.algorithms.hpo.random_tuner import RandomTuner
  from nni.algorithms.hpo.regularized_evolution_tuner import RegularizedEvolutionTuner
  from nni.algorithms.hpo.tpe_tuner import TpeTuner
  from nni.runtime.msg_dispatcher import _pack_parameter, MsgDispatcher
  from nni.tuner import Tuner
label_desc: Use image node_id 4 for calling the BuiltinTunersTestCase obj's underlying member method code with example usage: obj.search_space_test_one(tuner_factory, search_space, nas) without return types