code: def test_train_val_test_split(self):
      # length test
      sample_num = 100
      look_back = 10
      horizon = 1
      dates = pd.date_range("1/1/2020", periods=sample_num)
      values = np.random.randn(sample_num)
      df = pd.DataFrame({"values": values}, index=dates)
      train_df, val_df, test_df = train_val_test_split(
          df,
          val_ratio=0.1,
          test_ratio=0.1,
          look_back=look_back,
          horizon=horizon,
      )
      assert len(train_df) == sample_num * 0.8
      assert len(val_df) == sample_num * 0.1 + look_back + horizon - 1
      assert len(test_df) == sample_num * 0.1 + look_back + horizon - 1
      # index test
      assert pd.api.types.is_datetime64_any_dtype(test_df.index.dtype)
      assert pd.api.types.is_datetime64_any_dtype(val_df.index.dtype)
  
file_path: analytics-zoo/pyzoo/test/zoo/chronos/autots/deprecated/preprocessing/test_util.py
imports: from test.zoo.pipeline.utils.test_utils import ZooTestCase
  from zoo.chronos.autots.deprecated.preprocessing.utils import train_val_test_split
  import pandas
  import numpy
label_desc: Use image node_id 3 for calling the TestUtil obj's underlying member method code with example usage: obj.test_train_val_test_split() without return types