code: def test_encoders_from_covariates_input(self, config):
      multi_models, extreme_lags = config
      series = tg.linear_timeseries(length=10, freq="MS")
      pc = tg.linear_timeseries(length=12, freq="MS")
      fc = tg.linear_timeseries(length=14, freq="MS")
      # 1 == output_chunk_length, 3 > output_chunk_length
      ns = [1, 3]
      model = self.helper_create_LinearModel(
          multi_models=multi_models, extreme_lags=extreme_lags
      )
      model.fit(series)
      for n in ns:
          _ = model.predict(n=n)
          with pytest.raises(ValueError):
              _ = model.predict(n=n, past_covariates=pc)
          with pytest.raises(ValueError):
              _ = model.predict(n=n, future_covariates=fc)
          with pytest.raises(ValueError):
              _ = model.predict(
                  n=n, past_covariates=pc, future_covariates=fc
              )
  
      model = self.helper_create_LinearModel(
          multi_models=multi_models, extreme_lags=extreme_lags
      )
      for n in ns:
          model.fit(series, past_covariates=pc)
          _ = model.predict(n=n)
          _ = model.predict(n=n, past_covariates=pc)
          with pytest.raises(ValueError):
              _ = model.predict(n=n, future_covariates=fc)
          with pytest.raises(ValueError):
              _ = model.predict(
                  n=n, past_covariates=pc, future_covariates=fc
              )
  
      model = self.helper_create_LinearModel(
          multi_models=multi_models, extreme_lags=extreme_lags
      )
      for n in ns:
          model.fit(series, future_covariates=fc)
          _ = model.predict(n=n)
          with pytest.raises(ValueError):
              _ = model.predict(n=n, past_covariates=pc)
          _ = model.predict(n=n, future_covariates=fc)
          with pytest.raises(ValueError):
              _ = model.predict(
                  n=n, past_covariates=pc, future_covariates=fc
              )
  
      model = self.helper_create_LinearModel(
          multi_models=multi_models, extreme_lags=extreme_lags
      )
      for n in ns:
          model.fit(series, past_covariates=pc, future_covariates=fc)
          _ = model.predict(n=n)
          _ = model.predict(n=n, past_covariates=pc)
          _ = model.predict(n=n, future_covariates=fc)
          _ = model.predict(
              n=n, past_covariates=pc, future_covariates=fc
          )
  
imports: import copy
  import functools
  import itertools
  import math
  from unittest.mock import patch
  import numpy
  import pandas
  import pytest
  from sklearn.ensemble import HistGradientBoostingRegressor, RandomForestRegressor
  from sklearn.linear_model import LinearRegression
  import darts
  from darts import TimeSeries
  from darts.dataprocessing.encoders import FutureCyclicEncoder, PastDatetimeAttributeEncoder
  from darts.logging import get_logger
  from darts.metrics import mae, rmse
  from darts.models import CatBoostModel, LightGBMModel, LinearRegressionModel, NotImportedModule, RandomForest, RegressionModel, XGBModel
  from darts.utils import timeseries_generation
  from darts.utils.multioutput import MultiOutputRegressor
label_desc: Use image node_id 27 for calling the TestRegressionModels obj's underlying member method code with example usage: obj.test_encoders_from_covariates_input(config) without return types