code: def test_add_data_noncontiguous(dask_client, set_index):
      from cugraph.experimental import MGPropertyGraph
  
      df = cudf.DataFrame(
          {
              "src": [0, 0, 1, 2, 2, 3, 3, 1, 2, 4],
              "dst": [1, 2, 4, 3, 3, 1, 2, 4, 4, 3],
              "edge_type": [
                  "pig",
                  "dog",
                  "cat",
                  "pig",
                  "cat",
                  "pig",
                  "dog",
                  "pig",
                  "cat",
                  "dog",
              ],
          }
      )
      counts = df["edge_type"].value_counts()
      df = dask_cudf.from_cudf(df, npartitions=2)
  
      pG = MGPropertyGraph()
      for edge_type in ["cat", "dog", "pig"]:
          pG.add_edge_data(
              df[df.edge_type == edge_type],
              vertex_col_names=["src", "dst"],
              type_name=edge_type,
          )
      for edge_type in ["cat", "dog", "pig"]:
          cur_df = pG.get_edge_data(types=edge_type).compute()
          assert len(cur_df) == counts[edge_type]
          assert_series_equal(
              cur_df[pG.type_col_name].astype(str),
              cur_df["edge_type"],
              check_names=False,
          )
  
      df["vertex"] = (
          100 * df["src"]
          + df["dst"]
          + df["edge_type"].map({"pig": 0, "dog": 10, "cat": 20})
      )
      pG = MGPropertyGraph()
      for edge_type in ["cat", "dog", "pig"]:
          cur_df = df[df.edge_type == edge_type]
          if set_index:
              cur_df = cur_df.set_index("vertex")
          pG.add_vertex_data(
              cur_df, vertex_col_name="vertex", type_name=edge_type
          )
      for edge_type in ["cat", "dog", "pig"]:
          cur_df = pG.get_vertex_data(types=edge_type).compute()
          assert len(cur_df) == counts[edge_type]
          assert_series_equal(
              cur_df[pG.type_col_name].astype(str),
              cur_df["edge_type"],
              check_names=False,
          )
  
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 26 for calling a global function with example usage: test_add_data_noncontiguous(dask_client, set_index) without return types