code: def test_from_cugraph_conversion():
      # cudf is a dependency of cugraph
      import cudf
  
      # directed graph conversion test
      cugraph_g = cugraph.Graph(directed=True)
      df = cudf.DataFrame(
          {"source": [0, 1, 2, 3], "destination": [1, 2, 3, 2]}
      )
  
      cugraph_g.from_cudf_edgelist(df)
  
      g = dgl.from_cugraph(cugraph_g)
  
      assert g.device.type == "cuda"
      assert g.num_nodes() == cugraph_g.number_of_nodes()
      assert g.num_edges() == cugraph_g.number_of_edges()
  
      # assert reverse edges are not present
      assert g.has_edges_between(0, 1)
      assert not g.has_edges_between(1, 0)
      assert g.has_edges_between(1, 2)
      assert not g.has_edges_between(2, 1)
      assert g.has_edges_between(2, 3)
  
      # undirected graph conversion test
      cugraph_g = cugraph.Graph(directed=False)
      df = cudf.DataFrame(
          {"source": [0, 1, 2, 3], "destination": [1, 2, 3, 2]}
      )
  
      cugraph_g.from_cudf_edgelist(df)
  
      g = dgl.from_cugraph(cugraph_g)
  
      assert g.device.type == "cuda"
      assert g.num_nodes() == cugraph_g.number_of_nodes()
      # assert reverse edges are present
      assert g.has_edges_between(0, 1)
      assert g.has_edges_between(1, 0)
      assert g.has_edges_between(1, 2)
      assert g.has_edges_between(2, 1)
      assert g.has_edges_between(2, 3)
  
imports: import cugraph
  import backend
  import dgl
label_desc: Use image node_id 3 for calling a global function with example usage: test_from_cugraph_conversion() without return types