code: def test_pickling_graph_index():
      gi = create_graph_index(None, False)
      gi.add_nodes(3)
      src_idx = toindex([0, 0])
      dst_idx = toindex([1, 2])
      gi.add_edges(src_idx, dst_idx)
  
      gi2 = _reconstruct_pickle(gi)
  
      assert gi2.num_nodes() == gi.num_nodes()
      src_idx2, dst_idx2, _ = gi2.edges()
      assert F.array_equal(
          src_idx.tousertensor(), src_idx2.tousertensor()
      )
      assert F.array_equal(
          dst_idx.tousertensor(), dst_idx2.tousertensor()
      )
  
imports: import io
  import pickle
  import unittest
  import backend
  import dgl
  import dgl.function
  import networkx
  import pytest
  import scipy.sparse
  from dgl.graph_index import create_graph_index
  from dgl.utils import toindex
  from utils import assert_is_identical, assert_is_identical_hetero, check_graph_equal, get_cases, parametrize_idtype
label_desc: Use image node_id 7 for calling a global function with example usage: test_pickling_graph_index() without return types