code: def test_both_are_pipelines():
      group_1 = compose.Select("a", "b") | preprocessing.OneHotEncoder()
      group_2 = compose.Select("x", "y") | preprocessing.OneHotEncoder()
  
      product = group_1 + group_2 + group_1 * group_2
      assert product.transform_one(dict(a=1, b=2, x=4, y=4, z=5)) == {
          "b_2*x_4": 1,
          "b_2*y_4": 1,
          "a_1*x_4": 1,
          "a_1*y_4": 1,
          "x_4": 1,
          "y_4": 1,
          "b_2": 1,
          "a_1": 1,
      }
  
file_path: river/river/compose/test_product.py
imports: from __future__ import annotations
  import numpy
  import pandas
  from sklearn import datasets
  from sklearn import linear_model
  from river import compat, compose, datasets, preprocessing, stream
label_desc: Use image node_id 6 for calling a global function with example usage: test_both_are_pipelines() without return types