code: def test_transform_train_true(self):
      num_samples = 16
      dates = pd.date_range("1/1/2019", periods=num_samples)
      values = np.random.randn(num_samples, 2)
      df = pd.DataFrame(
          {
              "datetime": dates,
              "values": values[:, 0],
              "feature_1": values[:, 1],
          }
      )
      train_sample_num = 10
      train_df = df[:train_sample_num]
      val_df = df[train_sample_num:]
      past_seq_len = 2
  
      config = {
          "selected_features": json.dumps(
              [
                  "IS_AWAKE(datetime)",
                  "IS_BUSY_HOURS(datetime)",
                  "HOUR(datetime)",
                  "feature_1",
              ]
          ),
          "past_seq_len": past_seq_len,
      }
      feat = TimeSequenceFeatureTransformer(
          future_seq_len=1,
          dt_col="datetime",
          target_col="values",
          extra_features_col="feature_1",
          drop_missing=True,
      )
  
      feat.fit_transform(train_df, **config)
      val_x, val_y = feat.transform(val_df, is_train=True)
      assert val_x.shape == (
          val_df.shape[0] - past_seq_len,
          past_seq_len,
          len(json.loads(config["selected_features"])) + 1,
      )
      assert val_y.shape == (val_df.shape[0] - past_seq_len, 1)
  
imports: import pytest
  from test.zoo.pipeline.utils.test_utils import ZooTestCase
  from zoo.chronos.autots.deprecated.feature.utils import save, restore
  from zoo.chronos.autots.deprecated.feature.time_sequence import *
  from numpy.testing import assert_array_almost_equal
  import json
  import tempfile
  import shutil
  from zoo.chronos.autots.deprecated.preprocessing.utils import train_val_test_split
label_desc: Use image node_id 9 for calling the TestTimeSequenceFeature obj's underlying member method code with example usage: obj.test_transform_train_true() without return types