code: def test_tied_micro_level(input_feature_options):
      # build input feature config
      input_feature_configs = list()
  
      input_feature_configs.append(
          {
              "name": "input_feature_1",
              "type": input_feature_options.feature_type,
          }
      )
      input_feature_configs[0].update(
          input_feature_options.feature_options
      )
  
      input_feature_configs.append(
          {
              "name": "input_feature_2",
              "type": input_feature_options.feature_type,
          }
      )
      input_feature_configs[1].update(
          input_feature_options.feature_options
      )
  
      # add tied option to the second feature
      if input_feature_options.tie_features:
          input_feature_configs[1]["tied"] = "input_feature_1"
  
      config_obj = ModelConfig.from_dict(
          {
              "input_features": input_feature_configs,
              "output_features": [
                  {"name": "dummy_feature", "type": "binary"}
              ],
          }
      )
  
      input_features = BaseModel.build_inputs(
          input_feature_configs=config_obj.input_features
      )
  
      if input_feature_options.tie_features:
          # should be same encoder
          assert (
              input_features["input_feature_1"].encoder_obj
              is input_features["input_feature_2"].encoder_obj
          )
      else:
          # no tied parameter, encoders should be different
          assert (
              input_features["input_feature_1"].encoder_obj
              is not input_features["input_feature_2"].encoder_obj
          )
  
imports: from collections import namedtuple
  import pytest
  from ludwig.models.base import BaseModel
  from ludwig.schema.model_config import ModelConfig
  from tests.integration_tests.utils import category_feature, generate_data, number_feature, run_experiment, sequence_feature, text_feature
label_desc: Use image node_id 1 for calling a global function with example usage: test_tied_micro_level(input_feature_options) without return types