code: def test_root():
      from sympy.abc import x
  
      n = Symbol("n", integer=True)
      k = Symbol("k", integer=True)
  
      assert root(2, 2) == sqrt(2)
      assert root(2, 1) == 2
      assert root(2, 3) == 2 ** Rational(1, 3)
      assert root(2, 3) == cbrt(2)
      assert root(2, -5) == 2 ** Rational(4, 5) / 2
  
      assert root(-2, 1) == -2
  
      assert root(-2, 2) == sqrt(2) * I
      assert root(-2, 1) == -2
  
      assert root(x, 2) == sqrt(x)
      assert root(x, 1) == x
      assert root(x, 3) == x ** Rational(1, 3)
      assert root(x, 3) == cbrt(x)
      assert root(x, -5) == x ** Rational(-1, 5)
  
      assert root(x, n) == x ** (1 / n)
      assert root(x, -n) == x ** (-1 / n)
  
      assert root(x, n, k) == (-1) ** (2 * k / n) * x ** (1 / n)
  
imports: import itertools
  from sympy.core.expr import unchanged
  from sympy.core.function import Function
  from sympy.core.numbers import I, oo, Rational
  from sympy.core.power import Pow
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol
  from sympy.external import import_module
  from sympy.functions.elementary.exponential import log
  from sympy.functions.elementary.integers import floor, ceiling
  from sympy.functions.elementary.miscellaneous import sqrt, cbrt, root, Min, Max, real_root, Rem
  from sympy.functions.elementary.trigonometric import cos, sin
  from sympy.functions.special.delta_functions import Heaviside
  from sympy.utilities.lambdify import lambdify
  from sympy.testing.pytest import raises, skip, ignore_warnings
label_desc: Use image node_id 5 for calling a global function with example usage: test_root() without return types