code: def test_hadamard():
      m, n, p = symbols("m, n, p", integer=True)
      A = MatrixSymbol("A", m, n)
      B = MatrixSymbol("B", m, n)
      X = MatrixSymbol("X", m, m)
      I = Identity(m)
  
      raises(TypeError, lambda: hadamard_product())
      assert hadamard_product(A) == A
      assert isinstance(hadamard_product(A, B), HadamardProduct)
      assert hadamard_product(A, B).doit() == hadamard_product(A, B)
      assert hadamard_product(X, I) == HadamardProduct(I, X)
      assert isinstance(hadamard_product(X, I), HadamardProduct)
  
      a = MatrixSymbol("a", k, 1)
      expr = MatAdd(ZeroMatrix(k, 1), OneMatrix(k, 1))
      expr = HadamardProduct(expr, a)
      assert expr.doit() == a
  
      raises(ValueError, lambda: HadamardProduct())
  
file_path: sympy/sympy/matrices/expressions/tests/test_hadamard.py
imports: from sympy.matrices.dense import Matrix, eye
  from sympy.matrices.exceptions import ShapeError
  from sympy.matrices.expressions.matadd import MatAdd
  from sympy.matrices.expressions.special import Identity, OneMatrix, ZeroMatrix
  from sympy.core import symbols
  from sympy.testing.pytest import raises, warns_deprecated_sympy
  from sympy.matrices import MatrixSymbol
  from sympy.matrices.expressions import HadamardProduct, hadamard_product, HadamardPower, hadamard_power
label_desc: Use image node_id 5 for calling a global function with example usage: test_hadamard() without return types