code: def test_extreme_lags(self):
      # forecasting models do not use target lags
      train_n_points = 10
      model1 = RandomForest(
          lags_future_covariates=[0],
      )
      model2 = RegressionModel(lags_past_covariates=3)
      model = RegressionEnsembleModel(
          forecasting_models=[model1, model2],
          regression_train_n_points=train_n_points,
      )
  
      assert model.extreme_lags == (-train_n_points, 0, -3, -1, 0, 0)
  
      # mix of all the lags
      model3 = RandomForest(
          lags_future_covariates=[-2, 5],
      )
      model4 = RegressionModel(lags=[-7, -3], lags_past_covariates=3)
      model = RegressionEnsembleModel(
          forecasting_models=[model3, model4],
          regression_train_n_points=train_n_points,
      )
  
      assert model.extreme_lags == (
          -7 - train_n_points,
          0,
          -3,
          -1,
          -2,
          5,
      )
  
imports: from typing import List, Union
  import numpy
  import pandas
  import pytest
  from sklearn.ensemble import RandomForestRegressor
  from sklearn.linear_model import LinearRegression
  from darts import TimeSeries
  from darts.logging import get_logger
  from darts.metrics import mape, rmse
  from darts.models import LinearRegressionModel, NaiveDrift, NaiveSeasonal, RandomForest, RegressionEnsembleModel, RegressionModel, Theta
  from darts.tests.conftest import tfm_kwargs
  from darts.tests.models.forecasting.test_ensemble_models import _make_ts
  from darts.tests.models.forecasting.test_regression_models import train_test_split
  from darts.utils import timeseries_generation
label_desc: Use image node_id 21 for calling the TestRegressionEnsembleModels obj's underlying member method code with example usage: obj.test_extreme_lags() without return types