code: def test_is_fibonacci_prp():
      # invalid input
      raises(ValueError, lambda: is_fibonacci_prp(3, 2, 1))
      raises(ValueError, lambda: is_fibonacci_prp(3, -5, 1))
      raises(ValueError, lambda: is_fibonacci_prp(3, 5, 2))
      raises(ValueError, lambda: is_fibonacci_prp(0, 5, -1))
  
      # n = 1
      assert not is_fibonacci_prp(1, 3, 1)
  
      # n is prime
      assert is_fibonacci_prp(2, 5, 1)
      assert is_fibonacci_prp(3, 6, -1)
      assert is_fibonacci_prp(11, 7, 1)
      assert is_fibonacci_prp(2**31 - 1, 8, -1)
  
      # A005845
      pseudorpime = [
          705,
          2465,
          2737,
          3745,
          4181,
          5777,
          6721,
          10877,
          13201,
          15251,
          24465,
          29281,
          34561,
      ]
      for n in pseudorpime:
          assert is_fibonacci_prp(n, 1, -1)
  
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 9 for calling a global function with example usage: test_is_fibonacci_prp() without return types