code: def test_no_call_to_apply_roll_with_offset_gap_with_numeric(
      mock_apply_roll,
      primitive,
      window_series_pd,
  ):
      assert not mock_apply_roll.called
  
      fully_numeric_primitive = primitive(window_length=3, gap=1)
      primitive_func = fully_numeric_primitive.get_function()
      if isinstance(fully_numeric_primitive, RollingCount):
          pd.Series(primitive_func(window_series_pd.index))
      else:
          pd.Series(
              primitive_func(
                  window_series_pd.index,
                  pd.Series(window_series_pd.values),
              ),
          )
  
      assert not mock_apply_roll.called
  
      offset_window_primitive = primitive(window_length="3d", gap=1)
      primitive_func = offset_window_primitive.get_function()
      if isinstance(offset_window_primitive, RollingCount):
          pd.Series(primitive_func(window_series_pd.index))
      else:
          pd.Series(
              primitive_func(
                  window_series_pd.index,
                  pd.Series(window_series_pd.values),
              ),
          )
  
      assert not mock_apply_roll.called
  
      no_gap_specified_primitive = primitive(window_length="3d")
      primitive_func = no_gap_specified_primitive.get_function()
      if isinstance(no_gap_specified_primitive, RollingCount):
          pd.Series(primitive_func(window_series_pd.index))
      else:
          pd.Series(
              primitive_func(
                  window_series_pd.index,
                  pd.Series(window_series_pd.values),
              ),
          )
  
      assert not mock_apply_roll.called
  
      no_gap_specified_primitive = primitive(
          window_length="3d", gap="1d"
      )
      primitive_func = no_gap_specified_primitive.get_function()
      if isinstance(no_gap_specified_primitive, RollingCount):
          pd.Series(primitive_func(window_series_pd.index))
      else:
          pd.Series(
              primitive_func(
                  window_series_pd.index,
                  pd.Series(window_series_pd.values),
              ),
          )
  
      assert mock_apply_roll.called
  
imports: from unittest.mock import patch
  import numpy
  import pandas
  import pytest
  from featuretools.primitives import RollingCount, RollingMax, RollingMean, RollingMin, RollingSTD, RollingTrend
  from featuretools.primitives.standard.transform.time_series.utils import _get_rolled_series_without_gap, apply_roll_with_offset_gap, roll_series_with_gap
  from featuretools.tests.primitive_tests.utils import get_number_from_offset
label_desc: Use image node_id 20 for calling a global function with example usage: test_no_call_to_apply_roll_with_offset_gap_with_numeric(mock_apply_roll, primitive, window_series_pd) without return types