code: def test_set_default_values():
      config = {
          INPUT_FEATURES: [
              number_feature(encoder={"max_sequence_length": 10})
          ],
          OUTPUT_FEATURES: [category_feature(decoder={})],
      }
  
      assert TIED not in config[INPUT_FEATURES][0]
      assert TOP_K not in config[OUTPUT_FEATURES][0]
      assert DEPENDENCIES not in config[OUTPUT_FEATURES][0]
      assert REDUCE_INPUT not in config[OUTPUT_FEATURES][0]
      assert REDUCE_DEPENDENCIES not in config[OUTPUT_FEATURES][0]
  
      set_default_values(
          config[INPUT_FEATURES][0],
          {ENCODER: {TYPE: "passthrough"}, TIED: None},
      )
  
      set_default_values(
          config[OUTPUT_FEATURES][0],
          {
              DECODER: {
                  TYPE: "classifier",
              },
              TOP_K: 3,
              DEPENDENCIES: [],
              REDUCE_INPUT: SUM,
              REDUCE_DEPENDENCIES: SUM,
          },
      )
  
      assert config[INPUT_FEATURES][0][ENCODER][TYPE] == "passthrough"
      assert config[INPUT_FEATURES][0][TIED] is None
      assert config[OUTPUT_FEATURES][0][DECODER][TYPE] == "classifier"
      assert config[OUTPUT_FEATURES][0][TOP_K] == 3
      assert config[OUTPUT_FEATURES][0][DEPENDENCIES] == []
      assert config[OUTPUT_FEATURES][0][REDUCE_INPUT] == SUM
      assert config[OUTPUT_FEATURES][0][REDUCE_DEPENDENCIES] == SUM
  
file_path: ludwig/tests/ludwig/utils/test_defaults.py
imports: import copy
  import pytest
  from ludwig.constants import CATEGORY, COMBINER, DECODER, DEFAULTS, DEPENDENCIES, DROP_ROW, EARLY_STOP, ENCODER, EXECUTOR, FILL_WITH_MODE, HYPEROPT, INPUT_FEATURES, LOSS, MISSING_VALUE_STRATEGY, MODEL_ECD, MODEL_TYPE, OUTPUT_FEATURES, PREPROCESSING, REDUCE_DEPENDENCIES, REDUCE_INPUT, SCHEDULER, SUM, TIED, TOP_K, TRAINER, TYPE
  from ludwig.schema.model_config import ModelConfig
  from ludwig.schema.trainer import ECDTrainerConfig
  from ludwig.utils.backward_compatibility import upgrade_config_dict_to_latest_version
  from ludwig.utils.misc_utils import merge_dict, set_default_values
  from tests.integration_tests.utils import binary_feature, category_feature, number_feature, sequence_feature, text_feature, vector_feature
label_desc: Use image node_id 4 for calling a global function with example usage: test_set_default_values() without return types