code: def test_mg_symmetrize(dask_client, read_datasets):
      ddf = read_datasets["ddf"]
      src_col_name = read_datasets["src_col_name"]
      dst_col_name = read_datasets["dst_col_name"]
      val_col_name = read_datasets["val_col_name"]
  
      if val_col_name is not None:
          sym_src, sym_dst, sym_val = cugraph.symmetrize(
              ddf, src_col_name, dst_col_name, val_col_name
          )
      else:
          if not isinstance(src_col_name, list):
              vertex_col_names = [src_col_name, dst_col_name]
          else:
              vertex_col_names = src_col_name + dst_col_name
          ddf = ddf[[*vertex_col_names]]
          sym_src, sym_dst = cugraph.symmetrize(
              ddf, src_col_name, dst_col_name
          )
  
      # create a dask DataFrame from the dask Series
      if isinstance(sym_src, dask_cudf.Series):
          ddf2 = sym_src.to_frame()
          ddf2 = ddf2.rename(columns={sym_src.name: "src"})
          ddf2["dst"] = sym_dst
      else:
          ddf2 = dask_cudf.concat([sym_src, sym_dst], axis=1)
  
      if val_col_name is not None:
          ddf2["weight"] = sym_val
  
      compare(ddf, ddf2, src_col_name, dst_col_name, val_col_name)
  
file_path: cugraph/python/cugraph/cugraph/tests/internals/test_symmetrize_mg.py
imports: import gc
  import pytest
  import pandas
  import dask_cudf
  import cugraph
  from cugraph.testing import utils
  from pylibcugraph.testing.utils import gen_fixture_params_product
label_desc: Use image node_id 6 for calling a global function with example usage: test_mg_symmetrize(dask_client, read_datasets) without return types