def test_feature_times_lags(self, config):
        """
        Tests that the first feature time for the `target_series`
        returned by `_get_feature_times` corresponds to the time
        that is `max_lags` timesteps *after* the start of
        the target series; this is the first time point in
        `target_series` which has enough values in preceeding it
        to create a feature. This particular test uses range time
        index series to check this behaviour.
        """
        series_type, output_chunk_shift = config
        if series_type == "integer":
            target = linear_timeseries(start=0, length=20, freq=2)
        else:
            target = linear_timeseries(
                start=pd.Timestamp("1/1/2000"), length=20, freq="2d"
            )
        # Expect same behaviour when training and predicting:
        for is_training in (False, True):
            for max_lags in (-1, -2, -3, -4, -5):
                feature_times = _get_feature_times(
                    target_series=target,
                    lags=[-1, max_lags],
                    is_training=is_training,
                    output_chunk_shift=output_chunk_shift,
                )
                assert feature_times[0][0] == target.start_time() + target.freq * abs(
                    max_lags
                )

        Tests that the first feature time for the `target_series`
        returned by `_get_feature_times` corresponds to the time
        that is `max_lags` timesteps *after* the start of
        the target series; this is the first time point in
        `target_series` which has enough values in preceeding it
        to create a feature. This particular test uses range time
        index series to check this behaviour.
        
darts/tests/utils/tabularization/test_get_feature_times.py