code: def test_basic():
      assert list(unify(a, x, {})) == [{x: a}]
      assert list(unify(a, x, {x: 10})) == []
      assert list(unify(1, x, {})) == [{x: 1}]
      assert list(unify(a, a, {})) == [{}]
      assert list(unify((w, x), (y, z), {})) == [{w: y, x: z}]
      assert list(unify(x, (a, b), {})) == [{x: (a, b)}]
  
      assert list(unify((a, b), (x, x), {})) == []
      assert list(unify((y, z), (x, x), {})) != []
      assert list(unify((a, (b, c)), (a, (x, y)), {})) == [{x: b, y: c}]
  
file_path: sympy/sympy/unify/tests/test_unify.py
imports: from sympy.unify.core import Compound, Variable, CondVariable, allcombinations
  from sympy.unify import core
label_desc: Use image node_id 4 for calling a global function with example usage: test_basic() without return types