code: def test_select_topk(min_score):
      x = torch.randn(6, 16)
      batch = torch.tensor([0, 0, 1, 1, 1, 1])
  
      pool = SelectTopK(16, min_score=min_score)
  
      if min_score is None:
          assert str(pool) == "SelectTopK(16, ratio=0.5)"
      else:
          assert str(pool) == "SelectTopK(16, min_score=2.0)"
  
      out = pool(x, batch)
      assert isinstance(out, SelectOutput)
  
      assert out.num_nodes == 6
      assert out.num_clusters <= out.num_nodes
      assert out.node_index.min() >= 0
      assert out.node_index.max() < out.num_nodes
      assert out.cluster_index.min() == 0
      assert out.cluster_index.max() == out.num_clusters - 1
  
file_path: pytorch_geometric/test/nn/pool/select/test_select_topk.py
imports: from itertools import product
  import pytest
  import torch
  from torch_geometric.nn.pool.select import SelectOutput, SelectTopK
  from torch_geometric.nn.pool.select.topk import topk
  from torch_geometric.profile import benchmark
  from torch_geometric.testing import is_full_test
label_desc: Use image node_id 2 for calling a global function with example usage: test_select_topk(min_score) without return types