code: def test_output_backtesting_forecaster_refit_int_interval_yes_exog_not_allow_remainder_gap_with_mocked():
      """
      Test output of _backtesting_forecaster_no_refit with backtesting mocked, interval yes.
      Regressor is LinearRegression with lags=3, Series y is mocked, exog is mocked,
      20 observations to backtest, steps=5 and gap=3, metric='mean_squared_error',
      'in_sample_residuals = True', allow_incomplete_fold = False. Refit int.
      """
      y_with_index = y.copy()
      y_with_index.index = pd.date_range(
          start="2022-01-01", periods=50, freq="D"
      )
      exog_with_index = exog.copy()
      exog_with_index.index = pd.date_range(
          start="2022-01-01", periods=50, freq="D"
      )
  
      expected_metric = 0.060991643719298785
      expected_predictions = pd.DataFrame(
          data=np.array(
              [
                  [0.51878642, 0.17324039, 0.87771447],
                  [0.49269791, 0.15223278, 0.86847335],
                  [0.49380441, 0.14003517, 0.81226679],
                  [0.51467463, 0.18225936, 0.91506854],
                  [0.52690045, 0.18135443, 0.8858285],
                  [0.51731996, 0.17685482, 0.8930954],
                  [0.51290311, 0.15913388, 0.83136549],
                  [0.50334306, 0.17092779, 0.90373697],
                  [0.50171526, 0.15616923, 0.86064331],
                  [0.50946908, 0.16900395, 0.88524452],
                  [0.50200357, 0.14823433, 0.82046595],
                  [0.50436041, 0.17194514, 0.90475432],
                  [0.4534189, 0.09320851, 0.83561058],
                  [0.52621695, 0.17305963, 0.91133042],
                  [0.50477802, 0.10690002, 0.88750077],
                  [0.52235258, 0.1700762, 0.91128311],
              ]
          ),
          columns=["pred", "lower_bound", "upper_bound"],
          index=pd.date_range(start="2022-02-03", periods=16, freq="D"),
      )
  
      forecaster = ForecasterAutoreg(
          regressor=Ridge(random_state=123), lags=3
      )
  
      metric, backtest_predictions = _backtesting_forecaster(
          forecaster=forecaster,
          y=y_with_index,
          exog=exog_with_index,
          refit=3,
          initial_train_size=len(y_with_index) - 20,
          fixed_train_size=True,
          gap=3,
          allow_incomplete_fold=False,
          steps=4,
          metric="mean_squared_error",
          interval=[5, 95],
          n_boot=500,
          random_state=123,
          in_sample_residuals=True,
          verbose=False,
          n_jobs=1,
      )
      backtest_predictions = backtest_predictions.asfreq("D")
  
      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 23 for calling a global function with example usage: test_output_backtesting_forecaster_refit_int_interval_yes_exog_not_allow_remainder_gap_with_mocked() without return types