code: def test_heterogeneous_graph_store():
      edge_type = ("paper", "to", "paper")
      edge_id_dict = {edge_type: torch.randperm(300)}
      edge_index = get_random_edge_index(100, 100, 300)
      edge_index[1] = torch.sort(edge_index[1])[0]
      edge_index_dict = {edge_type: edge_index}
  
      graph_store = LocalGraphStore.from_hetero_data(
          edge_id_dict,
          edge_index_dict,
          num_nodes_dict={"paper": 100},
          is_sorted=True,
      )
  
      assert len(graph_store.get_all_edge_attrs()) == 1
      edge_attr = graph_store.get_all_edge_attrs()[0]
      assert edge_attr.edge_type == edge_type
      assert edge_attr.layout.value == "coo"
      assert edge_attr.is_sorted
      assert edge_attr.size == (100, 100)
  
      assert torch.equal(
          graph_store.get_edge_id(edge_type, layout="coo"),
          edge_id_dict[edge_type],
      )
      assert torch.equal(
          graph_store.get_edge_index(edge_type, layout="coo"),
          edge_index_dict[edge_type],
      )
  
imports: import torch
  from torch_geometric.distributed import LocalGraphStore
  from torch_geometric.testing import get_random_edge_index
label_desc: Use image node_id 3 for calling a global function with example usage: test_heterogeneous_graph_store() without return types