code: def test_uniform_neighbor_sample_edge_properties_self_loops(
      dask_client,
  ):
      df = dask_cudf.from_cudf(
          cudf.DataFrame(
              {
                  "src": [0, 1, 2],
                  "dst": [0, 1, 2],
                  "eid": [2, 4, 6],
                  "etp": cudf.Series([1, 1, 2], dtype="int32"),
                  "w": [0.0, 0.1, 0.2],
              }
          ),
          npartitions=2,
      )
  
      G = cugraph.Graph(directed=True)
      G.from_dask_cudf_edgelist(
          df,
          source="src",
          destination="dst",
          edge_attr=["w", "eid", "etp"],
      )
  
      sampling_results = cugraph.dask.uniform_neighbor_sample(
          G,
          start_list=dask_cudf.from_cudf(
              cudf.DataFrame(
                  {
                      "start": cudf.Series([0, 1, 2], dtype="int64"),
                      "batch": cudf.Series([1, 1, 1], dtype="int32"),
                  }
              ),
              npartitions=2,
          ),
          fanout_vals=[2, 2],
          with_replacement=False,
          with_edge_properties=True,
          with_batch_ids=True,
      ).compute()
  
      assert sorted(sampling_results.sources.values_host.tolist()) == [
          0,
          0,
          1,
          1,
          2,
          2,
      ]
      assert sorted(
          sampling_results.destinations.values_host.tolist()
      ) == [
          0,
          0,
          1,
          1,
          2,
          2,
      ]
      assert sorted(sampling_results.weight.values_host.tolist()) == [
          0.0,
          0.0,
          0.1,
          0.1,
          0.2,
          0.2,
      ]
      assert sorted(sampling_results.edge_id.values_host.tolist()) == [
          2,
          2,
          4,
          4,
          6,
          6,
      ]
      assert sorted(
          sampling_results.edge_type.values_host.tolist()
      ) == [1, 1, 1, 1, 2, 2]
      assert sorted(sampling_results.batch_id.values_host.tolist()) == [
          1,
          1,
          1,
          1,
          1,
          1,
      ]
      assert sorted(sampling_results.hop_id.values_host.tolist()) == [
          0,
          0,
          0,
          1,
          1,
          1,
      ]
  
imports: import gc
  import random
  import os
  import pytest
  import pandas
  import cupy
  import cudf
  import cugraph
  import dask_cudf
  import cugraph.dask
  from cugraph.testing import UNDIRECTED_DATASETS
  from cugraph.dask import uniform_neighbor_sample
  from cugraph.dask.common.mg_utils import is_single_gpu
  from cugraph.datasets import email_Eu_core, small_tree
  from pylibcugraph.testing.utils import gen_fixture_params_product
label_desc: Use image node_id 8 for calling a global function with example usage: test_uniform_neighbor_sample_edge_properties_self_loops(dask_client) without return types