code: def test_get_suggestion(
      self,
      get_architecture,
      spec,
      init_architecture,
      completed_trials,
      new_block,
      should_increase_depth,
      expected_fork_architecture,
      increase_complexity_probability=1.0,
  ):
      spec.increase_complexity_probability = (
          increase_complexity_probability
      )
      get_architecture.return_value = np.array([1, 2, 3, 4])
      algorithm = coordinate_descent.CoordinateDescent(
          spec, self._metadata
      )
      hparams = hp.HParams(
          initial_architecture=init_architecture,
          new_block_type=new_block,
      )
  
      trials = []
      for i in range(completed_trials):
          trials.append(
              trial_module.Trial(
                  {
                      "id": i,
                      "model_dir": "/tmp/" + str(i),
                      "status": "COMPLETED",
                      "trial_infeasible": False,
                      "final_measurement": {"objective_value": 100 - i},
                  }
              )
          )
  
      # Adding one infeasible to make sure we don't fork from it.
      trials.append(
          trial_module.Trial(
              {
                  "id": 99,
                  "model_dir": "/tmp/99",
                  "status": "COMPLETED",
                  "trial_infeasible": True,
                  "final_measurement": {"objective_value": 0},
              }
          )
      )
      logging.info(trials)
      output_architecture, fork_trial = algorithm.get_suggestion(
          trials, hparams
      )
  
      if completed_trials:
          self.assertEqual(fork_trial, completed_trials - 1)
  
      if should_increase_depth:
          self.assertAllEqual(
              output_architecture[:-1], expected_fork_architecture
          )
      else:
          self.assertEqual(
              output_architecture.shape,
              expected_fork_architecture.shape,
          )
          self.assertTrue(
              search_test_utils.is_mutation_or_equal(
                  expected_fork_architecture, output_architecture
              )
          )
  
file_path: model_search/model_search/search/coordinate_descent_test.py
imports: from absl import logging
  from absl.testing import parameterized
  import mock
  from model_search import hparam
  from model_search.metadata import ml_metadata_db
  from model_search.metadata import trial
  from model_search.proto import phoenix_spec_pb2
  from model_search.search import coordinate_descent
  from model_search.search import test_utils
  import numpy
  import tensorflow.compat.v2
label_desc: Use image node_id 2 for calling the CoordinateDescentTest obj's underlying member method code with example usage: obj.test_get_suggestion(get_architecture, spec, init_architecture, completed_trials, new_block, should_increase_depth, expected_fork_architecture, increase_complexity_probability) without return types