code: def test_edges_attr(dataset2_simple_MGPropertyGraph):
      """
      Ensure the edges attr returns the src, dst, edge_id columns properly.
      """
      (pG, data) = dataset2_simple_MGPropertyGraph
  
      # create a DF without the properties (ie. the last column)
      expected_edges = cudf.DataFrame(
          columns=[pG.src_col_name, pG.dst_col_name],
          data=[(i, j) for (i, j, k) in data[1]],
      )
      actual_edges = pG.edges[
          [pG.src_col_name, pG.dst_col_name]
      ].compute()
  
      assert_frame_equal(
          expected_edges.sort_values(
              by=pG.src_col_name, ignore_index=True
          ),
          actual_edges.sort_values(
              by=pG.src_col_name, ignore_index=True
          ),
      )
      edge_ids = pG.edges[pG.edge_id_col_name].compute()
      expected_num_edges = len(data[1])
      assert len(edge_ids) == expected_num_edges
      assert edge_ids.nunique() == expected_num_edges
  
imports: import gc
  import pytest
  import pandas
  import numpy
  import cudf
  import cugraph
  import dask_cudf
  import cupy
  import cugraph.dask
  from cupy.testing import assert_array_equal
  from cudf.testing import assert_frame_equal, assert_series_equal
  from pylibcugraph.testing.utils import gen_fixture_params_product
  from cugraph.dask.common.mg_utils import is_single_gpu
  from cugraph.datasets import cyber, netscience
label_desc: Use image node_id 17 for calling a global function with example usage: test_edges_attr(dataset2_simple_MGPropertyGraph) without return types