code: def test_rolling_primitives_non_uniform(primitive):
      # When the data isn't uniform, this impacts the number of values in each rolling window
      datetimes = (
          list(pd.date_range(start="2017-01-01", freq="1d", periods=3))
          + list(
              pd.date_range(start="2017-01-10", freq="2d", periods=4)
          )
          + list(
              pd.date_range(start="2017-01-22", freq="1d", periods=7)
          )
      )
      no_freq_series = pd.Series(range(len(datetimes)), index=datetimes)
  
      # Should match RollingCount exactly and have same nan values as other primitives
      expected_series = pd.Series(
          [None, 1, 2] + [None, 1, 1, 1] + [None, 1, 2, 3, 3, 3, 3],
      )
  
      primitive_instance = primitive(window_length="3d", gap="1d")
      if isinstance(primitive_instance, RollingCount):
          rolled_series = pd.Series(
              primitive_instance(no_freq_series.index)
          )
          pd.testing.assert_series_equal(rolled_series, expected_series)
      else:
          rolled_series = pd.Series(
              primitive_instance(
                  no_freq_series.index, pd.Series(no_freq_series.values)
              ),
          )
          pd.testing.assert_series_equal(
              expected_series.isna(), rolled_series.isna()
          )
  
file_path: featuretools/featuretools/tests/primitive_tests/aggregation_primitive_tests/test_rolling_primitive.py
imports: import numpy
  import pandas
  import pytest
  from featuretools.primitives import RollingCount, RollingMax, RollingMean, RollingMin, RollingOutlierCount, RollingSTD, RollingTrend
  from featuretools.primitives.standard.transform.time_series.utils import apply_rolling_agg_to_series
  from featuretools.tests.primitive_tests.utils import get_number_from_offset
label_desc: Use image node_id 10 for calling a global function with example usage: test_rolling_primitives_non_uniform(primitive) without return types