def test_feature_times_future_lags(self, config):
        """
        Tests that `_get_feature_times` correctly handles the `lags_future_covariates`
        argument for the following three cases:
            1. `lags_future_covariates` contains only `0`
            2. `lags_future_covariates` contains only a positive lag
            3. `lags_future_covariates` contains a combination of positive,
            zero, and negative lags
        """
        series_type, output_chunk_shift = config
        if series_type == "integer":
            future = linear_timeseries(start=0, length=10, freq=2)
        else:
            future = linear_timeseries(
                start=pd.Timestamp("1/1/2000"), length=10, freq="2d"
            )
        # Case 1 - Zero lag:
        lags_future = [0]
        feature_times = _get_feature_times(
            future_covariates=future,
            lags_future_covariates=lags_future,
            is_training=False,
            output_chunk_shift=output_chunk_shift,
        )
        # All times will be feature times:
        assert len(feature_times[2]) == future.n_timesteps
        assert feature_times[2].equals(future.time_index)

        # Case 2 - Positive lag:
        lags_future = [1]
        feature_times = _get_feature_times(
            future_covariates=future,
            lags_future_covariates=lags_future,
            is_training=False,
            output_chunk_shift=output_chunk_shift,
        )
        # Need to include new time at start of series; only last time will be excluded:
        extended_future = future.prepend_values([0])
        assert len(feature_times[2]) == extended_future.n_timesteps - 1
        assert feature_times[2].equals(extended_future.time_index[:-1])

        # Case 3 - Combo of negative, zero, and positive lags:
        lags_future = [-1, 0, 1]
        feature_times = _get_feature_times(
            future_covariates=future,
            lags_future_covariates=lags_future,
            is_training=False,
        )
        # Only first and last times will be excluded:
        assert len(feature_times[2]) == future.n_timesteps - 2
        assert feature_times[2].equals(future.time_index[1:-1])

        Tests that `_get_feature_times` correctly handles the `lags_future_covariates`
        argument for the following three cases:
            1. `lags_future_covariates` contains only `0`
            2. `lags_future_covariates` contains only a positive lag
            3. `lags_future_covariates` contains a combination of positive,
            zero, and negative lags
        
darts/tests/utils/tabularization/test_get_feature_times.py