code: def test_output_backtesting_forecaster_multiseries_ForecasterAutoregMultiSeries_no_refit_exog_interval_gap_with_mocked(
      forecaster,
  ):
      """
      Test output of backtesting_forecaster_multiseries in ForecasterAutoregMultiSeries
      and ForecasterAutoregMultiSeriesCustom with no refit and gap with
      mocked using exog and intervals (mocked done in Skforecast v0.5.0).
      """
      n_validation = 20
      steps = 5
      gap = 3
  
      (
          metrics_levels,
          backtest_predictions,
      ) = backtesting_forecaster_multiseries(
          forecaster=forecaster,
          series=series,
          steps=steps,
          levels="l1",
          metric="mean_absolute_error",
          initial_train_size=len(series) - n_validation,
          gap=gap,
          allow_incomplete_fold=True,
          refit=False,
          fixed_train_size=False,
          exog=series["l1"].rename("exog_1"),
          interval=[5, 95],
          n_boot=150,
          random_state=123,
          in_sample_residuals=True,
          verbose=False,
      )
  
      expected_metric = pd.DataFrame(
          {
              "levels": ["l1"],
              "mean_absolute_error": [0.12454132173965098],
          }
      )
      expected_predictions = pd.DataFrame(
          data=np.array(
              [
                  [0.49730036, 0.21114279, 0.77715089],
                  [0.47420843, 0.264856, 0.7065774],
                  [0.43537767, 0.2249109, 0.66681921],
                  [0.47436444, 0.22133275, 0.70531502],
                  [0.6336613, 0.3459817, 0.86401859],
                  [0.6507444, 0.36458683, 0.93059493],
                  [0.49896782, 0.28961539, 0.73133679],
                  [0.54030017, 0.3298334, 0.7717417],
                  [0.36847564, 0.11544395, 0.59942623],
                  [0.43668441, 0.14900482, 0.6670417],
                  [0.47126095, 0.18510337, 0.75111147],
                  [0.62443149, 0.41507906, 0.85680046],
                  [0.41464206, 0.20417529, 0.64608359],
                  [0.49248163, 0.23944994, 0.72343221],
                  [0.66520692, 0.37752732, 0.89556421],
                  [0.50609184, 0.21993426, 0.78594236],
                  [0.53642897, 0.32707654, 0.76879794],
              ]
          ),
          columns=["l1", "l1_lower_bound", "l1_upper_bound"],
          index=pd.RangeIndex(start=33, stop=50, step=1),
      )
  
      pd.testing.assert_frame_equal(expected_metric, metrics_levels)
      pd.testing.assert_frame_equal(
          expected_predictions, backtest_predictions
      )
  
imports: import re
  import pytest
  import numpy
  import pandas
  from sklearn.linear_model import Ridge
  from sklearn.metrics import mean_absolute_error
  from skforecast.exceptions import IgnoredArgumentWarning
  from skforecast.ForecasterAutoreg import ForecasterAutoreg
  from skforecast.ForecasterAutoregMultiSeries import ForecasterAutoregMultiSeries
  from skforecast.ForecasterAutoregMultiSeriesCustom import ForecasterAutoregMultiSeriesCustom
  from skforecast.ForecasterAutoregMultiVariate import ForecasterAutoregMultiVariate
  from skforecast.model_selection_multiseries import backtesting_forecaster_multiseries
  from skforecast.model_selection_multiseries import backtesting_forecaster_multivariate
  from .fixtures_model_selection_multiseries import series
label_desc: Use image node_id 12 for calling a global function with example usage: test_output_backtesting_forecaster_multiseries_ForecasterAutoregMultiSeries_no_refit_exog_interval_gap_with_mocked(forecaster) without return types