code: def test_homogeneous_feature_store():
      node_id = torch.randperm(6)
      x = torch.randn(6, 32)
      y = torch.randint(0, 2, (6,))
      edge_id = torch.randperm(12)
      edge_attr = torch.randn(12, 16)
  
      store = LocalFeatureStore.from_data(
          node_id, x, y, edge_id, edge_attr
      )
  
      assert len(store.get_all_tensor_attrs()) == 3
      attrs = store.get_all_tensor_attrs()
  
      assert attrs[0].group_name is None
      assert attrs[0].attr_name == "x"
      assert attrs[1].group_name is None
      assert attrs[1].attr_name == "y"
      assert attrs[2].group_name == (None, None)
      assert attrs[2].attr_name == "edge_attr"
  
      assert torch.equal(store.get_global_id(group_name=None), node_id)
      assert torch.equal(
          store.get_tensor(group_name=None, attr_name="x"), x
      )
      assert torch.equal(
          store.get_tensor(group_name=None, attr_name="y"), y
      )
      assert torch.equal(
          store.get_global_id(group_name=(None, None)), edge_id
      )
      assert torch.equal(
          store.get_tensor(
              group_name=(None, None), attr_name="edge_attr"
          ),
          edge_attr,
      )
  
imports: import torch
  from torch_geometric.distributed import LocalFeatureStore
label_desc: Use image node_id 3 for calling a global function with example usage: test_homogeneous_feature_store() without return types