code: def test_conjugate():
      n = Symbol("n")
      z = Symbol("z", extended_real=False)
      x = Symbol("x", extended_real=True)
      y = Symbol("y", positive=True)
      t = Symbol("t", negative=True)
  
      for f in [besseli, besselj, besselk, bessely, hankel1, hankel2]:
          assert f(n, -1).conjugate() != f(conjugate(n), -1)
          assert f(n, x).conjugate() != f(conjugate(n), x)
          assert f(n, t).conjugate() != f(conjugate(n), t)
  
      rz = randcplx(b=0.5)
  
      for f in [besseli, besselj, besselk, bessely]:
          assert f(n, 1 + I).conjugate() == f(conjugate(n), 1 - I)
          assert f(n, 0).conjugate() == f(conjugate(n), 0)
          assert f(n, 1).conjugate() == f(conjugate(n), 1)
          assert f(n, z).conjugate() == f(conjugate(n), conjugate(z))
          assert f(n, y).conjugate() == f(conjugate(n), y)
          assert tn(
              f(n, rz).conjugate(), f(conjugate(n), conjugate(rz))
          )
  
      assert hankel1(n, 1 + I).conjugate() == hankel2(
          conjugate(n), 1 - I
      )
      assert hankel1(n, 0).conjugate() == hankel2(conjugate(n), 0)
      assert hankel1(n, 1).conjugate() == hankel2(conjugate(n), 1)
      assert hankel1(n, y).conjugate() == hankel2(conjugate(n), y)
      assert hankel1(n, z).conjugate() == hankel2(
          conjugate(n), conjugate(z)
      )
      assert tn(
          hankel1(n, rz).conjugate(),
          hankel2(conjugate(n), conjugate(rz)),
      )
  
      assert hankel2(n, 1 + I).conjugate() == hankel1(
          conjugate(n), 1 - I
      )
      assert hankel2(n, 0).conjugate() == hankel1(conjugate(n), 0)
      assert hankel2(n, 1).conjugate() == hankel1(conjugate(n), 1)
      assert hankel2(n, y).conjugate() == hankel1(conjugate(n), y)
      assert hankel2(n, z).conjugate() == hankel1(
          conjugate(n), conjugate(z)
      )
      assert tn(
          hankel2(n, rz).conjugate(),
          hankel1(conjugate(n), conjugate(rz)),
      )
  
imports: from itertools import product
  from sympy.concrete.summations import Sum
  from sympy.core.function import diff, expand_func
  from sympy.core.numbers import I, Rational, oo, pi
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol, symbols
  from sympy.functions.elementary.complexes import conjugate, polar_lift
  from sympy.functions.elementary.exponential import exp, exp_polar, log
  from sympy.functions.elementary.hyperbolic import cosh, sinh
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.trigonometric import cos, sin
  from sympy.functions.special.bessel import besseli, besselj, besselk, bessely, hankel1, hankel2, hn1, hn2, jn, jn_zeros, yn
  from sympy.functions.special.gamma_functions import gamma, uppergamma
  from sympy.functions.special.hyper import hyper
  from sympy.integrals.integrals import Integral
  from sympy.series.order import O
  from sympy.series.series import series
  from sympy.functions.special.bessel import airyai, airybi, airyaiprime, airybiprime, marcumq
  from sympy.core.random import random_complex_number, verify_numerically, test_derivative_numerically, _randint
  from sympy.simplify import besselsimp
  from sympy.testing.pytest import raises, slow
  from sympy.abc import z, n, k, x
label_desc: Use image node_id 25 for calling a global function with example usage: test_conjugate() without return types