code: def test_call():
      x, y = symbols("x y")
      # See the long history of this in issues 5026 and 5105.
  
      raises(TypeError, lambda: sin(x)({x: 1, sin(x): 2}))
      raises(TypeError, lambda: sin(x)(1))
  
      # No effect as there are no callables
      assert sin(x).rcall(1) == sin(x)
      assert (1 + sin(x)).rcall(1) == 1 + sin(x)
  
      # Effect in the pressence of callables
      l = Lambda(x, 2 * x)
      assert (l + x).rcall(y) == 2 * y + x
      assert (x**l).rcall(2) == x**4
      # TODO UndefinedFunction does not subclass Expr
      # f = Function('f')
      # assert (2*f)(x) == 2*f(x)
  
      assert (Q.real & Q.positive).rcall(x) == Q.real(x) & Q.positive(x)
  
imports: import collections
  from typing import TypeVar, Generic
  from sympy.assumptions.ask import Q
  from sympy.core.basic import Basic, Atom, as_Basic, _atomic, _aresame
  from sympy.core.containers import Tuple
  from sympy.core.function import Function, Lambda
  from sympy.core.numbers import I, pi, Float
  from sympy.core.singleton import S
  from sympy.core.symbol import symbols, Symbol, Dummy
  from sympy.concrete.summations import Sum
  from sympy.functions.elementary.trigonometric import cos, sin
  from sympy.functions.special.gamma_functions import gamma
  from sympy.integrals.integrals import Integral
  from sympy.functions.elementary.exponential import exp
  from sympy.testing.pytest import raises, warns_deprecated_sympy
label_desc: Use image node_id 15 for calling a global function with example usage: test_call() without return types