code: def _binary_op_combinations(
      request,
      point_generator,
      multipoint_generator,
      linestring_generator,
      multilinestring_generator,
      polygon_generator,
      multipolygon_generator,
  ):
      type_to_generator = {
          Point: point_generator,
          MultiPoint: multipoint_generator,
          LineString: linestring_generator,
          MultiLineString: multilinestring_generator,
          Polygon: polygon_generator,
          MultiPolygon: multipolygon_generator,
      }
  
      generator_parameters = {
          point_generator: {},
          multipoint_generator: {"max_num_geometries": 10},
          linestring_generator: {"max_num_segments": 10},
          multilinestring_generator: {
              "max_num_geometries": 10,
              "max_num_segments": 10,
          },
          polygon_generator: {"distance_from_origin": 10, "radius": 10},
          multipolygon_generator: {
              "max_per_multi": 10,
              "distance_from_origin": 10,
              "radius": 10,
          },
      }
  
      ty0, ty1 = request.param
      g0, g1 = type_to_generator[ty0], type_to_generator[ty1]
      p0, p1 = generator_parameters[g0], generator_parameters[g1]
      return (partial(g0, **p0), partial(g1, **p1))
  
file_path: cuspatial/python/cuspatial/cuspatial/tests/spatial/distance/test_distance.py
imports: from functools import partial
  from itertools import product
  import geopandas
  import pytest
  from shapely.geometry import LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon
  import cudf
  from cudf.testing import assert_series_equal
  import cuspatial
label_desc: Use image node_id 1 for calling a global function with example usage: _binary_op_combinations(request, point_generator, multipoint_generator, linestring_generator, multilinestring_generator, polygon_generator, multipolygon_generator) and returns: partial,  partial