code: def test_is_selfridge_prp():
      # invalid input
      raises(ValueError, lambda: is_selfridge_prp(0))
  
      # n = 1
      assert not is_selfridge_prp(1)
  
      # n is prime
      assert is_selfridge_prp(2)
      assert is_selfridge_prp(3)
      assert is_selfridge_prp(11)
      assert is_selfridge_prp(2**31 - 1)
  
      # A217120
      pseudorpime = [
          323,
          377,
          1159,
          1829,
          3827,
          5459,
          5777,
          9071,
          9179,
          10877,
          11419,
          11663,
          13919,
          14839,
          16109,
      ]
      for n in pseudorpime:
          assert is_selfridge_prp(n)
  
file_path: sympy/sympy/external/tests/test_ntheory.py
imports: from itertools import permutations
  from sympy.external.ntheory import bit_scan1, remove, bit_scan0, is_fermat_prp, is_euler_prp, is_strong_prp, gcdext, _lucas_sequence, is_fibonacci_prp, is_lucas_prp, is_selfridge_prp, is_strong_lucas_prp, is_strong_selfridge_prp, is_bpsw_prp, is_strong_bpsw_prp
  from sympy.testing.pytest import raises
label_desc: Use image node_id 11 for calling a global function with example usage: test_is_selfridge_prp() without return types