code: def test_init(self) -> None:
      self.assertEqual(
          self.sobol_generation_step.model_specs,
          [self.model_spec],
      )
      self.assertEqual(self.sobol_generation_step.model_name, "Sobol")
  
      named_generation_step = GenerationStep(
          model=Models.SOBOL,
          num_trials=5,
          model_kwargs=self.model_kwargs,
          model_name="Custom Sobol",
      )
      self.assertEqual(named_generation_step.model_name, "Custom Sobol")
  
      with patch.object(
          ModelSpec,
          "model_key",
          new=PropertyMock(side_effect=TypeError),
      ):
          unknown_generation_step = GenerationStep(
              model=Models.SOBOL,
              num_trials=5,
              model_kwargs=self.model_kwargs,
          )
      self.assertEqual(
          unknown_generation_step.model_name, "Unknown ModelSpec"
      )
  
imports: import logging
  from logging import Logger
  from unittest.mock import patch, PropertyMock
  from ax.core.base_trial import TrialStatus
  from ax.core.observation import ObservationFeatures
  from ax.exceptions.core import UserInputError
  from ax.modelbridge.cross_validation import DiagnosticCriterion, MetricAggregation, SingleDiagnosticBestModelSelector
  from ax.modelbridge.factory import get_sobol
  from ax.modelbridge.generation_node import GenerationNode, GenerationStep
  from ax.modelbridge.model_spec import FactoryFunctionModelSpec, ModelSpec
  from ax.modelbridge.registry import Models
  from ax.modelbridge.transition_criterion import MaxTrials
  from ax.utils.common.logger import get_logger
  from ax.utils.common.testutils import TestCase
  from ax.utils.testing.core_stubs import get_branin_experiment
  from ax.utils.testing.mock import fast_botorch_optimize
label_desc: Use image node_id 2 for calling the TestGenerationStep obj's underlying member method code with example usage: obj.test_init() without return types