code: def test_output_backtesting_forecaster_interval_yes_exog_no_remainder_with_mocked():
      """
      Test output of _backtesting_forecaster with backtesting mocked, interval yes.
      Regressor is LinearRegression with lags=3, Series y is mocked, exog is mocked,
      12 observations to backtest, steps=4 (no remainder), metric='mean_squared_error',
      'in_sample_residuals = True'
      """
      expected_metric = 0.05663345135204598
      expected_predictions = pd.DataFrame(
          {
              "pred": np.array(
                  [
                      0.59059622,
                      0.47257504,
                      0.53024098,
                      0.46163343,
                      0.42295275,
                      0.46286083,
                      0.43618422,
                      0.43552906,
                      0.48687517,
                      0.55455072,
                      0.55577332,
                      0.53943402,
                  ]
              ),
              "lower_bound": np.array(
                  [
                      0.24619375,
                      0.10545295,
                      0.13120713,
                      0.08044217,
                      0.07440334,
                      0.11331854,
                      0.01436362,
                      0.02747413,
                      0.14867238,
                      0.19834047,
                      0.19884259,
                      0.16964474,
                  ]
              ),
              "upper_bound": np.array(
                  [
                      0.95777604,
                      0.88685543,
                      0.90755063,
                      0.87811336,
                      0.8225198,
                      0.81894689,
                      0.81179723,
                      0.84420112,
                      0.89407425,
                      0.93903702,
                      0.91748574,
                      0.93705358,
                  ]
              ),
          },
          index=pd.RangeIndex(start=38, stop=50, step=1),
      )
  
      forecaster = ForecasterAutoreg(
          regressor=LinearRegression(), lags=3
      )
  
      n_backtest = 12
      y_train = y[:-n_backtest]
  
      metric, backtest_predictions = _backtesting_forecaster(
          forecaster=forecaster,
          y=y,
          exog=exog,
          refit=True,
          initial_train_size=len(y_train),
          fixed_train_size=False,
          steps=4,
          metric="mean_squared_error",
          interval=[5, 95],
          n_boot=500,
          random_state=123,
          in_sample_residuals=True,
          verbose=False,
      )
  
      assert expected_metric == approx(metric)
      pd.testing.assert_frame_equal(
          expected_predictions, backtest_predictions
      )
  
imports: import pytest
  import numpy
  import pandas
  from pytest import approx
  from sklearn.linear_model import LinearRegression
  from sklearn.linear_model import Ridge
  from sklearn.metrics import mean_squared_error
  from skforecast.ForecasterAutoreg import ForecasterAutoreg
  from skforecast.ForecasterAutoregCustom import ForecasterAutoregCustom
  from skforecast.ForecasterAutoregDirect import ForecasterAutoregDirect
  from skforecast.model_selection.model_selection import _backtesting_forecaster
  from .fixtures_model_selection import y
  from .fixtures_model_selection import exog
  from .fixtures_model_selection import out_sample_residuals
label_desc: Use image node_id 10 for calling a global function with example usage: test_output_backtesting_forecaster_interval_yes_exog_no_remainder_with_mocked() without return types