code: def test_extreme_lag_inference(self):
      ensemble = NaiveEnsembleModel([NaiveDrift()])
      assert ensemble.extreme_lags == (
          -3,
          -1,
          None,
          None,
          None,
          None,
      )  # test if default is okay
  
      model1 = LinearRegressionModel(
          lags=3,
          lags_past_covariates=[-3, -5],
          lags_future_covariates=[7, 8],
      )
      model2 = LinearRegressionModel(
          lags=5, lags_past_covariates=6, lags_future_covariates=[6, 9]
      )
  
      ensemble = NaiveEnsembleModel(
          [model1, model2]
      )  # test if infers extreme lags is okay
      expected = (-5, 0, -6, -1, 6, 9)
      assert expected == ensemble.extreme_lags
  
imports: import numpy
  import pandas
  import pytest
  from darts import TimeSeries
  from darts.logging import get_logger
  from darts.models import ExponentialSmoothing, LinearRegressionModel, NaiveDrift, NaiveEnsembleModel, NaiveSeasonal, StatsForecastAutoARIMA, Theta
  from darts.tests.conftest import tfm_kwargs
  from darts.utils import timeseries_generation
label_desc: Use image node_id 3 for calling the TestEnsembleModels obj's underlying member method code with example usage: obj.test_extreme_lag_inference() without return types