code: def test_basic_graph_store():
      r"""Test the core graph store API."""
      data = Data()
  
      def assert_equal_tensor_tuple(expected, actual):
          assert len(expected) == len(actual)
          for i in range(len(expected)):
              assert torch.equal(expected[i], actual[i])
  
      # We put all three tensor types: COO, CSR, and CSC, and we get them back
      # to confirm that `GraphStore` works as intended.
      coo = (torch.tensor([0, 1]), torch.tensor([1, 2]))
      csr = (torch.tensor([0, 1, 2, 2]), torch.tensor([1, 2]))
      csc = (torch.tensor([0, 1]), torch.tensor([0, 0, 1, 2]))
  
      # Put:
      data.put_edge_index(coo, layout="coo", size=(3, 3))
      data.put_edge_index(csr, layout="csr")
      data.put_edge_index(csc, layout="csc")
  
      # Get:
      assert_equal_tensor_tuple(coo, data.get_edge_index("coo"))
      assert_equal_tensor_tuple(csr, data.get_edge_index("csr"))
      assert_equal_tensor_tuple(csc, data.get_edge_index("csc"))
  
      # Get attrs:
      edge_attrs = data.get_all_edge_attrs()
      assert len(edge_attrs) == 3
  
      # Remove:
      coo, csr, csc = edge_attrs
      data.remove_edge_index(coo)
      data.remove_edge_index(csr)
      data.remove_edge_index(csc)
      assert len(data.get_all_edge_attrs()) == 0
  
imports: import copy
  import pytest
  import torch
  import torch.multiprocessing
  import torch_geometric
  from torch_geometric.data import Data
  from torch_geometric.data.storage import AttrType
  from torch_geometric.testing import get_random_tensor_frame, withPackage
label_desc: Use image node_id 15 for calling a global function with example usage: test_basic_graph_store() without return types