code: def test_tsdataset_datetime_feature_multiple(self):
      df = get_multi_id_ts_df()
      # interval = day
      tsdata = TSDataset.from_pandas(
          df,
          dt_col="datetime",
          target_col="value",
          extra_feature_col=["extra feature"],
          id_col="id",
      )
      tsdata.gen_dt_feature()
      assert set(tsdata.to_pandas().columns) == {
          "DAY",
          "IS_WEEKEND",
          "WEEKDAY",
          "MONTH",
          "YEAR",
          "DAYOFYEAR",
          "WEEKOFYEAR",
          "extra feature",
          "value",
          "datetime",
          "id",
      }
      assert set(tsdata.feature_col) == {
          "DAY",
          "IS_WEEKEND",
          "WEEKDAY",
          "MONTH",
          "YEAR",
          "DAYOFYEAR",
          "WEEKOFYEAR",
          "extra feature",
      }
      tsdata._check_basic_invariants()
  
      # interval = day, one_hot = ["WEEKDAY"]
      tsdata = TSDataset.from_pandas(
          df,
          dt_col="datetime",
          target_col="value",
          extra_feature_col=["extra feature"],
          id_col="id",
      )
      tsdata.gen_dt_feature(one_hot_features=["WEEKDAY"])
      assert set(tsdata.to_pandas().columns) == {
          "DAY",
          "IS_WEEKEND",
          "WEEKDAY_0",
          "WEEKDAY_1",
          "WEEKDAY_2",
          "WEEKDAY_3",
          "WEEKDAY_4",
          "WEEKDAY_5",
          "WEEKDAY_6",
          "MONTH",
          "YEAR",
          "DAYOFYEAR",
          "WEEKOFYEAR",
          "extra feature",
          "value",
          "datetime",
          "id",
      }
      assert set(tsdata.feature_col) == {
          "DAY",
          "IS_WEEKEND",
          "WEEKDAY_0",
          "WEEKDAY_1",
          "WEEKDAY_2",
          "WEEKDAY_3",
          "WEEKDAY_4",
          "WEEKDAY_5",
          "WEEKDAY_6",
          "MONTH",
          "YEAR",
          "DAYOFYEAR",
          "WEEKOFYEAR",
          "extra feature",
      }
      tsdata._check_basic_invariants()
  
imports: import pytest
  import numpy
  import pandas
  import random
  import tempfile
  import os
  import shutil
  from test.zoo.pipeline.utils.test_utils import ZooTestCase
  from zoo.chronos.data import TSDataset
  from pandas.testing import assert_frame_equal
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 16 for calling the TestTSDataset obj's underlying member method code with example usage: obj.test_tsdataset_datetime_feature_multiple() without return types