code: def test_extract_subgraph(
      client_with_property_csvs_loaded,
      pG_with_property_csvs_loaded,
      create_using,
      selection,
      renumber,
  ):
      mg_only, selection = selection
      if (
          mg_only
          and create_using[0] is not None
          and not create_using[0].is_multigraph()
      ):
          pytest.skip()
  
      rpG = RemoteGraph(client_with_property_csvs_loaded, 0)
      pG = pG_with_property_csvs_loaded
  
      sg = pG.extract_subgraph(
          create_using=create_using[0],
          selection=None
          if selection is None
          else pG.select_edges(selection),
          renumber_graph=renumber,
      )
      remote_sg = rpG.extract_subgraph(
          create_using=create_using[1],
          selection=selection,
          renumber_graph=renumber,
      )
  
      assert remote_sg.get_num_vertices() == sg.number_of_vertices()
  
      expected_vertex_ids = (
          cudf.concat(
              [
                  sg.edgelist.edgelist_df["src"],
                  sg.edgelist.edgelist_df["dst"],
              ]
          )
          .unique()
          .sort_values()
      )
      if renumber:
          expected_vertex_ids = sg.unrenumber(
              cudf.DataFrame({"v": expected_vertex_ids}), "v"
          )["v"]
      assert set(remote_sg.vertices_ids().to_cupy().tolist()) == set(
          expected_vertex_ids.to_cupy().tolist()
      )
  
      expected_edgelist = sg.edgelist.edgelist_df
      if renumber:
          expected_edgelist = sg.unrenumber(expected_edgelist, "src")
          expected_edgelist = sg.unrenumber(expected_edgelist, "dst")
  
      expected_edgelist = expected_edgelist.sort_values(["src", "dst"])
  
      edge_data = remote_sg.get_edge_data().sort_values(
          [remote_sg.src_col_name, remote_sg.dst_col_name]
      )
      assert (
          expected_edgelist["src"].to_cupy().tolist()
          == edge_data[remote_sg.src_col_name].to_cupy().tolist()
      )
      assert (
          expected_edgelist["dst"].to_cupy().tolist()
          == edge_data[remote_sg.dst_col_name].to_cupy().tolist()
      )
  
imports: import importlib
  import random
  import pytest
  import pandas
  import numpy
  import cupy
  import cudf
  import cugraph
  from cugraph.experimental import PropertyGraph
  from cugraph_service_client import RemoteGraph
  from .None import data
label_desc: Use image node_id 13 for calling a global function with example usage: test_extract_subgraph(client_with_property_csvs_loaded, pG_with_property_csvs_loaded, create_using, selection, renumber) without return types