code: def test_shuffle_node():
      x = torch.tensor([[0, 1, 2], [3, 4, 5]], dtype=torch.float)
  
      out = shuffle_node(x, training=False)
      assert out[0].tolist() == x.tolist()
      assert out[1].tolist() == list(range(len(x)))
  
      torch.manual_seed(5)
      out = shuffle_node(x)
      assert out[0].tolist() == [[3.0, 4.0, 5.0], [0.0, 1.0, 2.0]]
      assert out[1].tolist() == [1, 0]
  
      torch.manual_seed(10)
      x = torch.arange(21).view(7, 3).to(torch.float)
      batch = torch.tensor([0, 0, 1, 1, 2, 2, 2])
      out = shuffle_node(x, batch)
      assert out[0].tolist() == [
          [3.0, 4.0, 5.0],
          [0.0, 1.0, 2.0],
          [9.0, 10.0, 11.0],
          [6.0, 7.0, 8.0],
          [12.0, 13.0, 14.0],
          [18.0, 19.0, 20.0],
          [15.0, 16.0, 17.0],
      ]
      assert out[1].tolist() == [1, 0, 3, 2, 4, 6, 5]
  
imports: import pytest
  import torch
  from torch_geometric import seed_everything
  from torch_geometric.utils import add_random_edge, is_undirected, mask_feature, shuffle_node
label_desc: Use image node_id 1 for calling a global function with example usage: test_shuffle_node() without return types