code: def test_date_input_feature(date_config: FeatureConfigDict):
      # setup image input feature definition
      feature_def = deepcopy(date_config)
  
      # pickup any other missing parameters
      defaults = DateInputFeatureConfig(name="foo").to_dict()
      set_def = merge_dict(defaults, feature_def)
  
      # ensure no exceptions raised during build
      feature_config, _ = load_config_with_kwargs(
          DateInputFeatureConfig, set_def
      )
      input_feature_obj = DateInputFeature(feature_config).to(DEVICE)
  
      # check one forward pass through input feature
      input_tensor = input_feature_obj.create_sample_input(
          batch_size=BATCH_SIZE
      )
      assert input_tensor.shape == torch.Size((BATCH_SIZE, DATE_W_SIZE))
      assert input_tensor.dtype == torch.int32
  
      encoder_output = input_feature_obj(input_tensor)
      assert encoder_output[ENCODER_OUTPUT].shape == (
          BATCH_SIZE,
          *input_feature_obj.output_shape,
      )
  
imports: from copy import deepcopy
  from datetime import date, datetime
  from typing import Any, List
  import pytest
  import torch
  from dateutil.parser import parse
  from ludwig.constants import ENCODER_OUTPUT, FILL_WITH_CONST, MISSING_VALUE_STRATEGY
  from ludwig.features import date_feature
  from ludwig.features.date_feature import DateInputFeature
  from ludwig.schema.features.date_feature import DateInputFeatureConfig
  from ludwig.schema.utils import load_config_with_kwargs
  from ludwig.types import FeatureConfigDict
  from ludwig.utils.date_utils import create_vector_from_datetime_obj
  from ludwig.utils.misc_utils import merge_dict
  from ludwig.utils.torch_utils import get_torch_device
label_desc: Use image node_id 2 for calling a global function with example usage: test_date_input_feature(date_config) without return types