code: def test_date_wave():
      # make repeatable
      set_random_seed(RANDOM_SEED)
  
      # setup encoder to test
      date_embed = DateWave().to(DEVICE)
      inputs = torch.tensor(
          [
              [2022, 6, 25, 5, 176, 9, 30, 59, 34259],
              [2022, 6, 25, 5, 176, 9, 30, 59, 34259],
          ],
          dtype=torch.int32,
      ).to(DEVICE)
      outputs = date_embed(inputs)
      assert (
          outputs[ENCODER_OUTPUT].size()[1:] == date_embed.output_shape
      )
  
      # check for parameter updating
      target = torch.randn(outputs[ENCODER_OUTPUT].shape)
      fpc, tpc, upc, not_updated = check_module_parameters_updated(
          date_embed, (inputs,), target
      )
      assert (
          tpc == upc
      ), f"Failed to update parameters. Parameters not updated: {not_updated}"
  
file_path: ludwig/tests/ludwig/encoders/test_date_encoders.py
imports: import logging
  import torch
  from ludwig.constants import ENCODER_OUTPUT
  from ludwig.encoders.date_encoders import DateEmbed, DateWave
  from ludwig.utils.misc_utils import set_random_seed
  from ludwig.utils.torch_utils import get_torch_device
  from tests.integration_tests.parameter_update_utils import check_module_parameters_updated
label_desc: Use image node_id 2 for calling a global function with example usage: test_date_wave() without return types