code: def test_betainc():
      a, b, x1, x2 = symbols("a b x1 x2")
  
      assert unchanged(betainc, a, b, x1, x2)
      assert unchanged(betainc, a, b, 0, x1)
  
      assert betainc(1, 2, 0, -5).is_real == True
      assert betainc(1, 2, 0, x2).is_real is None
      assert conjugate(betainc(I, 2, 3 - I, 1 + 4 * I)) == betainc(
          -I, 2, 3 + I, 1 - 4 * I
      )
  
      assert (
          betainc(a, b, 0, 1)
          .rewrite(Integral)
          .dummy_eq(beta(a, b).rewrite(Integral))
      )
      assert betainc(1, 2, 0, x2).rewrite(hyper) == x2 * hyper(
          (1, -1), (2,), x2
      )
  
      assert betainc(1, 2, 3, 3).evalf() == 0
  
file_path: sympy/sympy/functions/special/tests/test_beta_functions.py
imports: from sympy.core.function import diff, expand_func
  from sympy.core.numbers import I, Rational, pi
  from sympy.core.singleton import S
  from sympy.core.symbol import Dummy, symbols
  from sympy.functions.combinatorial.numbers import catalan
  from sympy.functions.elementary.complexes import conjugate
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.special.beta_functions import beta, betainc, betainc_regularized
  from sympy.functions.special.gamma_functions import gamma, polygamma
  from sympy.functions.special.hyper import hyper
  from sympy.integrals.integrals import Integral
  from sympy.core.function import ArgumentIndexError
  from sympy.core.expr import unchanged
  from sympy.testing.pytest import raises
label_desc: Use image node_id 2 for calling a global function with example usage: test_betainc() without return types