code: def test_mg_induced_subgraph(
      dask_client, benchmark, input_expected_output
  ):
      dg = input_expected_output["MGGraph"]
      vertices = input_expected_output["vertices"]
  
      result_induced_subgraph = benchmark(
          dcg.induced_subgraph,
          dg,
          vertices,
          input_expected_output["offsets"],
      )
  
      mg_df, mg_offsets = result_induced_subgraph
  
      # mg_offsets = mg_offsets.compute().reset_index(drop=True)
  
      sg = input_expected_output["sg_cugraph_results"]
  
      if mg_df is not None and sg is not None:
          # FIXME: 'edges()' or 'view_edgelist()' takes half the edges out if
          # 'directed=False'.
          sg_result = sg.input_df
  
          sg_df = sg_result.sort_values(["src", "dst"]).reset_index(
              drop=True
          )
          mg_df = (
              mg_df.compute()
              .sort_values(["src", "dst"])
              .reset_index(drop=True)
          )
  
          assert_frame_equal(
              sg_df, mg_df, check_dtype=False, check_like=True
          )
  
      else:
          # There is no edges between the vertices provided
          # FIXME: Once k-hop neighbors is implemented, find one hop neighbors
          # of all the vertices and ensure that there is None
          assert sg is None
          assert mg_df is None
  
file_path: cugraph/python/cugraph/cugraph/tests/community/test_induced_subgraph_mg.py
imports: import gc
  import pytest
  import cudf
  from cudf.testing.testing import assert_frame_equal
  import dask_cudf
  import cugraph
  import cugraph.dask
  from cugraph.testing import utils
  from cugraph.dask.common.mg_utils import is_single_gpu
  from pylibcugraph.testing import gen_fixture_params_product
label_desc: Use image node_id 4 for calling a global function with example usage: test_mg_induced_subgraph(dask_client, benchmark, input_expected_output) without return types