code: def test_eval():
      assert SingularityFunction(x, a, n).func == SingularityFunction
      assert unchanged(SingularityFunction, x, 5, n)
      assert SingularityFunction(5, 3, 2) == 4
      assert SingularityFunction(3, 5, 1) == 0
      assert SingularityFunction(3, 3, 0) == 1
      assert SingularityFunction(3, 3, 1) == 0
      assert (
          SingularityFunction(Symbol("z", zero=True), 0, 1) == 0
      )  # like sin(z) == 0
      assert SingularityFunction(4, 4, -1) is oo
      assert SingularityFunction(4, 2, -1) == 0
      assert SingularityFunction(4, 7, -1) == 0
      assert SingularityFunction(5, 6, -2) == 0
      assert SingularityFunction(4, 2, -2) == 0
      assert SingularityFunction(4, 4, -2) is oo
      assert (SingularityFunction(6.1, 4, 5)).evalf(5) == Float(
          "40.841", "5"
      )
      assert SingularityFunction(6.1, pi, 2) == (-pi + 6.1) ** 2
      assert SingularityFunction(x, a, nan) is nan
      assert SingularityFunction(x, nan, 1) is nan
      assert SingularityFunction(nan, a, n) is nan
  
      raises(ValueError, lambda: SingularityFunction(x, a, I))
      raises(ValueError, lambda: SingularityFunction(2 * I, I, n))
      raises(ValueError, lambda: SingularityFunction(x, a, -3))
  
file_path: sympy/sympy/functions/special/tests/test_singularity_functions.py
imports: from sympy.core.function import Derivative, diff
  from sympy.core.numbers import Float, I, nan, oo, pi
  from sympy.core.relational import Eq
  from sympy.core.symbol import Symbol, symbols
  from sympy.functions.elementary.piecewise import Piecewise
  from sympy.functions.special.delta_functions import DiracDelta, Heaviside
  from sympy.functions.special.singularity_functions import SingularityFunction
  from sympy.series.order import O
  from sympy.core.expr import unchanged
  from sympy.core.function import ArgumentIndexError
  from sympy.testing.pytest import raises
label_desc: Use image node_id 2 for calling a global function with example usage: test_eval() without return types