code: def test_groupby_windowing_value(
      func, value, getter, grouper, indexer
  ):
      index = pd.DatetimeIndex(
          pd.date_range("2000-01-01", "2000-01-03", freq="1h")
      )
      df = cudf.DataFrame(
          {
              "x": np.arange(len(index), dtype=float),
              "y": np.arange(len(index), dtype=float) % 2,
          },
          index=index,
      )
  
      value = pd.Timedelta(value)
  
      sdf = DataFrame(example=df)
  
      def f(x):
          return func(indexer(x.groupby(grouper(x))))
  
      L = f(sdf.window(value)).stream.gather().sink_to_list()
  
      diff = 13
      for i in range(0, len(index), diff):
          sdf.emit(df.iloc[i : i + diff])
  
      assert len(L) == 4
  
      first = df.iloc[:diff]
      lost = first.loc[first.index.min() + value :]
      first = first.iloc[len(lost) :]
  
      g = f(first)
      assert_eq(L[0], g)
  
      last = df.loc[index.max() - value + pd.Timedelta("1s") :]
      h = f(last)
      assert_eq(L[-1], h)
  
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 34 for calling a global function with example usage: test_groupby_windowing_value(func, value, getter, grouper, indexer) and returns: func