code: def helper_relevant_attributes(
      self, freq, length, period_attributes_tuples
  ):
      # test random walk
      random_walk_ts = tg.random_walk_timeseries(
          freq=freq, length=length
      )
      assert (
          _find_relevant_timestamp_attributes(random_walk_ts) == set()
      )
  
      for period, relevant_attributes in period_attributes_tuples:
          # test seasonal period with no noise
          seasonal_ts = tg.sine_timeseries(
              freq=freq, value_frequency=1 / period, length=length
          )
          assert (
              _find_relevant_timestamp_attributes(seasonal_ts)
              == relevant_attributes
          ), "failed to recognize season in non-noisy timeseries"
  
          # test seasonal period with no noise
          seasonal_noisy_ts = seasonal_ts + tg.gaussian_timeseries(
              freq=freq, length=length
          )
          assert (
              _find_relevant_timestamp_attributes(seasonal_noisy_ts)
              == relevant_attributes
          ), "failed to recognize season in noisy timeseries"
  
imports: import numpy
  from darts.models.forecasting.fft import _find_relevant_timestamp_attributes
  from darts.utils import timeseries_generation
label_desc: Use image node_id 1 for calling the TestFFT obj's underlying member method code with example usage: obj.helper_relevant_attributes(freq, length, period_attributes_tuples) without return types