code: def test_gamma_series():
      assert gamma(x + 1).series(
          x, 0, 3
      ) == 1 - EulerGamma * x + x**2 * (
          EulerGamma**2 / 2 + pi**2 / 12
      ) + O(
          x**3
      )
      assert gamma(x).series(x, -1, 3) == -1 / (
          x + 1
      ) + EulerGamma - 1 + (x + 1) * (
          -1 - pi**2 / 12 - EulerGamma**2 / 2 + EulerGamma
      ) + (
          x + 1
      ) ** 2 * (
          -1
          - pi**2 / 12
          - EulerGamma**2 / 2
          + EulerGamma**3 / 6
          - polygamma(2, 1) / 6
          + EulerGamma * pi**2 / 12
          + EulerGamma
      ) + O(
          (x + 1) ** 3, (x, -1)
      )
  
imports: from sympy.core.function import expand_func, Subs
  from sympy.core import EulerGamma
  from sympy.core.numbers import I, Rational, nan, oo, pi, zoo
  from sympy.core.singleton import S
  from sympy.core.symbol import Dummy, Symbol
  from sympy.functions.combinatorial.factorials import factorial
  from sympy.functions.combinatorial.numbers import harmonic
  from sympy.functions.elementary.complexes import Abs, conjugate, im, re
  from sympy.functions.elementary.exponential import exp, exp_polar, log
  from sympy.functions.elementary.hyperbolic import tanh
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.trigonometric import cos, sin, atan
  from sympy.functions.special.error_functions import Ei, erf, erfc
  from sympy.functions.special.gamma_functions import digamma, gamma, loggamma, lowergamma, multigamma, polygamma, trigamma, uppergamma
  from sympy.functions.special.zeta_functions import zeta
  from sympy.series.order import O
  from sympy.core.expr import unchanged
  from sympy.core.function import ArgumentIndexError
  from sympy.testing.pytest import raises
  from sympy.core.random import test_derivative_numerically, random_complex_number, verify_numerically
label_desc: Use image node_id 3 for calling a global function with example usage: test_gamma_series() without return types