code: def test_all_features_present_in_comparator_entities():
      config = {
          "combiner": {
              "dropout": 0.20198506770751617,
              "entity_1": ["Age"],
              "entity_2": ["Sex", "Pclass"],
              "norm": "batch",
              "num_fc_layers": 1,
              "output_size": 256,
              "type": "comparator",
          },
          "input_features": [
              {
                  "column": "Pclass",
                  "name": "Pclass",
                  "type": "category",
              },
              {"column": "Sex", "name": "Sex", "type": "category"},
              {"column": "Age", "name": "Age", "type": "number"},
              {"column": "SibSp", "name": "SibSp", "type": "number"},
              {"column": "Parch", "name": "Parch", "type": "number"},
              {"column": "Fare", "name": "Fare", "type": "number"},
              {
                  "column": "Embarked",
                  "name": "Embarked",
                  "type": "category",
              },
          ],
          "model_type": "ecd",
          "output_features": [
              {
                  "column": "Survived",
                  "name": "Survived",
                  "type": "category",
              }
          ],
          "trainer": {"train_steps": 1},
      }
  
      with pytest.raises(ConfigValidationError):
          ModelConfig.from_dict(config)
  
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 4 for calling a global function with example usage: test_all_features_present_in_comparator_entities() without return types