code: def test_windowing_n(func, n, getter):
      df = cudf.DataFrame({"x": list(range(10)), "y": [1, 2] * 5})
  
      sdf = DataFrame(example=df)
      L = func(getter(sdf).window(n=n)).stream.gather().sink_to_list()
  
      for i in range(0, 10, 3):
          sdf.emit(df.iloc[i : i + 3])
      sdf.emit(df.iloc[:0])
  
      assert len(L) == 5
  
      assert_eq(L[0], func(getter(df).iloc[max(0, 3 - n) : 3]))
      assert_eq(L[-1], func(getter(df).iloc[len(df) - n :]))
  
imports: import json
  import operator
  import numpy
  import pandas
  import pytest
  from dask.dataframe.utils import assert_eq
  from distributed import Client
  from streamz import Stream
  from streamz.dask import DaskStream
  from streamz.dataframe import Aggregation, DataFrame, DataFrames, Series
label_desc: Use image node_id 33 for calling a global function with example usage: test_windowing_n(func, n, getter) without return types