code: def test_hetero_add_remaining_self_loops():
      edge_index = torch.tensor([[0, 0, 1, 2], [1, 0, 2, 1]])
  
      data = HeteroData()
      data["v"].num_nodes = 3
      data["w"].num_nodes = 3
      data["v", "v"].edge_index = edge_index
      data["v", "w"].edge_index = edge_index
      data = AddRemainingSelfLoops()(data)
      assert data["v", "v"].edge_index.tolist() == [
          [0, 1, 2, 0, 1, 2],
          [1, 2, 1, 0, 1, 2],
      ]
      assert data["v", "w"].edge_index.tolist() == edge_index.tolist()
  
imports: import torch
  from torch_geometric.data import Data, HeteroData
  from torch_geometric.transforms import AddRemainingSelfLoops
label_desc: Use image node_id 3 for calling a global function with example usage: test_hetero_add_remaining_self_loops() without return types