code: def test_dense_binary_encoder_0_layer():
      config = {
          "defaults": {
              "binary": {
                  "encoder": {
                      "norm": "ghost",
                      "num_layers": 0,
                      "output_size": 128,
                      "type": "dense",
                  }
              }
          },
          "input_features": [
              {"name": "X0", "type": "category"},
              {"name": "X1", "type": "category"},
              {"name": "X10", "type": "binary"},
              {"name": "X11", "type": "binary"},
              {
                  "name": "X14",
                  "type": "binary",
                  "encoder": {"num_layers": 0},
              },
          ],
          "model_type": "ecd",
          "output_features": [{"name": "y", "type": "number"}],
          "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 8 for calling a global function with example usage: test_dense_binary_encoder_0_layer() without return types