code: def test_autogener_best_cycle_length(self):
      sample_num = 100
      df = pd.DataFrame(
          {
              "datetime": pd.date_range("1/1/2019", periods=sample_num),
              "value": np.sin(
                  np.array((0, 30, 45, 60, 90) * 20) * np.pi / 180
              ),
              "id": np.array(["00"] * sample_num),
          }
      )
  
      train_ts = TSDataset.from_pandas(
          df,
          target_col=["value"],
          dt_col="datetime",
          id_col="id",
          with_split=False,
      )
  
      input_feature_dim, output_feature_dim = 1, 1
      auto_estimator = AutoTSEstimator(
          model="lstm",
          search_space="minimal",
          past_seq_len="auto",
          input_feature_num=input_feature_dim,
          output_target_num=output_feature_dim,
      )
  
      auto_estimator.fit(
          data=train_ts,
          epochs=1,
          batch_size=hp.choice([16, 32]),
          validation_data=train_ts,
      )
      config = auto_estimator.get_best_config()
      assert 2 <= config["past_seq_len"] <= 10
  
imports: from unittest import TestCase
  import pytest
  from bigdl.chronos.utils import LazyImport
  import numpy
  from bigdl.chronos.data import TSDataset
  import pandas
  from ..None import op_torch, op_tf2, op_distributed, op_inference
label_desc: Use image node_id 14 for calling the TestAutoTrainer obj's underlying member method code with example usage: obj.test_autogener_best_cycle_length() without return types