code: def test_unify():
      expr = Basic(S(1), S(2), S(3))
      a, b, c = map(Symbol, "abc")
      pattern = Basic(a, b, c)
      assert list(unify(expr, pattern, {}, (a, b, c))) == [
          {a: 1, b: 2, c: 3}
      ]
      assert list(unify(expr, pattern, variables=(a, b, c))) == [
          {a: 1, b: 2, c: 3}
      ]
  
imports: from sympy.core.add import Add
  from sympy.core.basic import Basic
  from sympy.core.containers import Tuple
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol, symbols
  from sympy.logic.boolalg import And
  from sympy.core.symbol import Str
  from sympy.unify.core import Compound, Variable
  from sympy.unify.usympy import deconstruct, construct, unify, is_associative, is_commutative
  from sympy.abc import x, y, z, n
label_desc: Use image node_id 4 for calling a global function with example usage: test_unify() without return types