code: def test_feature_engineer_turbulence_less_than_a_year(
      ticker_list: list[str],
      indicators: list[str],
      start_date: str,
      end_date: str,
  ) -> None:
      """
      Tests the feature_engineer function - with turbulence, start and end date
      are less than 1 year apart.
      the code should raise an error
      """
      assert isinstance(ticker_list, list)
      assert len(ticker_list) > 0
      assert isinstance(ticker_list[0], str)
      assert isinstance(start_date, str)
      assert isinstance(end_date, str)
      assert isinstance(indicators, list)
      assert isinstance(indicators[0], str)
  
      df = YahooDownloader(
          start_date=start_date,
          end_date=end_date,
          ticker_list=ticker_list,
      ).fetch_data()
  
      fe = FeatureEngineer(
          use_technical_indicator=True,
          tech_indicator_list=indicators,
          use_vix=True,
          use_turbulence=True,
          user_defined_feature=False,
      )
      with pytest.raises(Exception):
          fe.preprocess_data(df)
  
imports: from __future__ import annotations
  import os
  from typing import List
  import pandas
  import pytest
  from finrl import config
  from finrl import config_tickers
  from finrl.config import DATA_SAVE_DIR
  from finrl.config import RESULTS_DIR
  from finrl.config import TENSORBOARD_LOG_DIR
  from finrl.config import TRAINED_MODEL_DIR
  from finrl.main import check_and_make_directories
  from finrl.meta.preprocessor.preprocessors import FeatureEngineer
  from finrl.meta.preprocessor.yahoodownloader import YahooDownloader
label_desc: Use image node_id 11 for calling a global function with example usage: test_feature_engineer_turbulence_less_than_a_year(ticker_list, indicators, start_date, end_date) without return types