code: def test_call_predict_different_covariates_support(self):
      # AutoARIMA support future covariates only
      local_ensemble_one_covs = NaiveEnsembleModel(
          [NaiveDrift(), StatsForecastAutoARIMA()]
      )
      with pytest.raises(ValueError):
          local_ensemble_one_covs.fit(
              self.series1, past_covariates=self.series2
          )
      local_ensemble_one_covs.fit(
          self.series1, future_covariates=self.series2
      )
  
      # RNN support future covariates only
      mixed_ensemble_one_covs = NaiveEnsembleModel(
          [NaiveDrift(), RNNModel(12, n_epochs=1, **tfm_kwargs)]
      )
      with pytest.raises(ValueError):
          mixed_ensemble_one_covs.fit(
              self.series1, past_covariates=self.series2
          )
      mixed_ensemble_one_covs.fit(
          self.series1, future_covariates=self.series2
      )
  
      # both models support future covariates only
      mixed_ensemble_future_covs = NaiveEnsembleModel(
          [
              StatsForecastAutoARIMA(),
              RNNModel(12, n_epochs=1, **tfm_kwargs),
          ]
      )
      mixed_ensemble_future_covs.fit(
          self.series1, future_covariates=self.series2
      )
      with pytest.raises(ValueError):
          mixed_ensemble_future_covs.fit(
              self.series1, past_covariates=self.series2
          )
  
      # RegressionModels with different covariates
      global_ensemble_both_covs = NaiveEnsembleModel(
          [
              LinearRegressionModel(lags=1, lags_past_covariates=[-1]),
              LinearRegressionModel(lags=1, lags_future_covariates=[1]),
          ]
      )
      # missing future covariates
      with pytest.raises(ValueError):
          global_ensemble_both_covs.fit(
              self.series1, past_covariates=self.series2
          )
      # missing past covariates
      with pytest.raises(ValueError):
          global_ensemble_both_covs.fit(
              self.series1, future_covariates=self.series2
          )
      global_ensemble_both_covs.fit(
          self.series1,
          past_covariates=self.series2,
          future_covariates=self.series2,
      )
  
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 18 for calling the TestEnsembleModels obj's underlying member method code with example usage: obj.test_call_predict_different_covariates_support() without return types