code: def test_rolling_apply(engine_and_raw, step):
      engine, raw = engine_and_raw
  
      expected = Series([], dtype="float64")
      result = expected.rolling(10, step=step).apply(
          lambda x: x.mean(), engine=engine, raw=raw
      )
      tm.assert_series_equal(result, expected)
  
      # gh-8080
      s = Series([None, None, None])
      result = s.rolling(2, min_periods=0, step=step).apply(
          lambda x: len(x), engine=engine, raw=raw
      )
      expected = Series([1.0, 2.0, 2.0])[::step]
      tm.assert_series_equal(result, expected)
  
      result = s.rolling(2, min_periods=0, step=step).apply(
          len, engine=engine, raw=raw
      )
      tm.assert_series_equal(result, expected)
  
imports: import numpy
  import pytest
  from pandas import DataFrame, Index, MultiIndex, Series, Timestamp, concat, date_range, isna, notna
  import pandas._testing
  from pandas.tseries import offsets
label_desc: Use image node_id 5 for calling a global function with example usage: test_rolling_apply(engine_and_raw, step) without return types