code: def test_random_node_loader():
      data = Data()
      data.x = torch.randn(100, 128)
      data.node_id = torch.arange(100)
      data.edge_index = get_random_edge_index(100, 100, 500)
      data.edge_attr = torch.randn(500, 32)
  
      loader = RandomNodeLoader(data, num_parts=4, shuffle=True)
      assert len(loader) == 4
  
      for batch in loader:
          assert len(batch) == 4
          assert batch.node_id.min() >= 0
          assert batch.node_id.max() < 100
          assert batch.edge_index.size(1) == batch.edge_attr.size(0)
          assert torch.allclose(batch.x, data.x[batch.node_id])
          batch.validate()
  
imports: import torch
  from torch_geometric.data import Data, HeteroData
  from torch_geometric.loader import RandomNodeLoader
  from torch_geometric.testing import get_random_edge_index
label_desc: Use image node_id 1 for calling a global function with example usage: test_random_node_loader() without return types