code: def test_gen_validates_one_model_spec(self) -> None:
      generation_node = GenerationNode(
          node_name="test",
          model_specs=[self.sobol_model_spec, self.sobol_model_spec],
      )
      # Base generation node can only handle one model spec at the moment
      # (this might change in the future), so it should raise a `NotImplemented
      # Error` if we attempt to generate from a generation node that has
      # more than one model spec. Note that the check is done in `gen` and
      # not in the constructor to make `GenerationNode` mode convenient to
      # subclass.
      with self.assertRaises(NotImplementedError):
          generation_node.gen()
  
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 5 for calling the TestGenerationNode obj's underlying member method code with example usage: obj.test_gen_validates_one_model_spec() without return types