code: def test_unsupported_features_config():
      # GBMs don't support text features.
      with pytest.raises(ConfigValidationError):
          ModelConfig.from_dict(
              {
                  "input_features": [text_feature()],
                  "output_features": [binary_feature()],
                  "model_type": "gbm",
              }
          )
  
      # GBMs don't support output text features.
      with pytest.raises(ConfigValidationError):
          ModelConfig.from_dict(
              {
                  "input_features": [binary_feature()],
                  "output_features": [text_feature()],
                  "model_type": "gbm",
              }
          )
  
      # ECD supports output text features.
      ModelConfig.from_dict(
          {
              "input_features": [binary_feature()],
              "output_features": [text_feature()],
              "model_type": "ecd",
          }
      )
  
imports: import contextlib
  from typing import Any, Dict, List, Optional
  import pytest
  import yaml
  from ludwig.constants import COMBINER, TYPE
  from ludwig.error import ConfigValidationError
  from ludwig.schema.model_types.base import ModelConfig
  from tests.integration_tests.utils import binary_feature, text_feature
label_desc: Use image node_id 6 for calling a global function with example usage: test_unsupported_features_config() without return types