code: def test_reductions(stream, func):
      df = cudf.DataFrame({"x": [1, 2, 3], "y": [4, 5, 6]})
      for example in [df, df.iloc[:0]]:
          sdf = DataFrame(example=example, stream=stream)
  
          df_out = func(sdf).stream.gather().sink_to_list()
  
          x = sdf.x
          x_out = func(x).stream.gather().sink_to_list()
  
          sdf.emit(df)
          sdf.emit(df)
  
          assert_eq(df_out[-1], func(cudf.concat([df, df])))
          assert_eq(x_out[-1], func(cudf.concat([df, df]).x))
  
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 7 for calling a global function with example usage: test_reductions(stream, func) without return types