code: def test_gf_irreducible_p():
      assert gf_irred_p_ben_or(ZZ.map([7]), 11, ZZ) is True
      assert gf_irred_p_ben_or(ZZ.map([7, 3]), 11, ZZ) is True
      assert gf_irred_p_ben_or(ZZ.map([7, 3, 1]), 11, ZZ) is False
  
      assert gf_irred_p_rabin(ZZ.map([7]), 11, ZZ) is True
      assert gf_irred_p_rabin(ZZ.map([7, 3]), 11, ZZ) is True
      assert gf_irred_p_rabin(ZZ.map([7, 3, 1]), 11, ZZ) is False
  
      config.setup("GF_IRRED_METHOD", "ben-or")
  
      assert gf_irreducible_p(ZZ.map([7]), 11, ZZ) is True
      assert gf_irreducible_p(ZZ.map([7, 3]), 11, ZZ) is True
      assert gf_irreducible_p(ZZ.map([7, 3, 1]), 11, ZZ) is False
  
      config.setup("GF_IRRED_METHOD", "rabin")
  
      assert gf_irreducible_p(ZZ.map([7]), 11, ZZ) is True
      assert gf_irreducible_p(ZZ.map([7, 3]), 11, ZZ) is True
      assert gf_irreducible_p(ZZ.map([7, 3, 1]), 11, ZZ) is False
  
      config.setup("GF_IRRED_METHOD", "other")
      raises(KeyError, lambda: gf_irreducible_p([7], 11, ZZ))
      config.setup("GF_IRRED_METHOD")
  
      f = ZZ.map([1, 9, 9, 13, 16, 15, 6, 7, 7, 7, 10])
      g = ZZ.map([1, 7, 16, 7, 15, 13, 13, 11, 16, 10, 9])
  
      h = gf_mul(f, g, 17, ZZ)
  
      assert gf_irred_p_ben_or(f, 17, ZZ) is True
      assert gf_irred_p_ben_or(g, 17, ZZ) is True
  
      assert gf_irred_p_ben_or(h, 17, ZZ) is False
  
      assert gf_irred_p_rabin(f, 17, ZZ) is True
      assert gf_irred_p_rabin(g, 17, ZZ) is True
  
      assert gf_irred_p_rabin(h, 17, ZZ) is False
  
imports: from sympy.polys.galoistools import gf_crt, gf_crt1, gf_crt2, gf_int, gf_degree, gf_strip, gf_trunc, gf_normal, gf_from_dict, gf_to_dict, gf_from_int_poly, gf_to_int_poly, gf_neg, gf_add_ground, gf_sub_ground, gf_mul_ground, gf_add, gf_sub, gf_add_mul, gf_sub_mul, gf_mul, gf_sqr, gf_div, gf_rem, gf_quo, gf_exquo, gf_lshift, gf_rshift, gf_expand, gf_pow, gf_pow_mod, gf_gcdex, gf_gcd, gf_lcm, gf_cofactors, gf_LC, gf_TC, gf_monic, gf_eval, gf_multi_eval, gf_compose, gf_compose_mod, gf_trace_map, gf_diff, gf_irreducible, gf_irreducible_p, gf_irred_p_ben_or, gf_irred_p_rabin, gf_sqf_list, gf_sqf_part, gf_sqf_p, gf_Qmatrix, gf_Qbasis, gf_ddf_zassenhaus, gf_ddf_shoup, gf_edf_zassenhaus, gf_edf_shoup, gf_berlekamp, gf_factor_sqf, gf_factor, gf_value, linear_congruence, _csolve_prime_las_vegas, csolve_prime, gf_csolve, gf_frobenius_map, gf_frobenius_monomial_base
  from sympy.polys.polyerrors import ExactQuotientFailed
  from sympy.polys import polyconfig
  from sympy.polys.domains import ZZ
  from sympy.core.numbers import pi
  from sympy.ntheory.generate import nextprime
  from sympy.testing.pytest import raises
label_desc: Use image node_id 26 for calling a global function with example usage: test_gf_irreducible_p() without return types