code: def test_gamma_matrix_class():
      i, j, k = tensor_indices("i,j,k", LorentzIndex)
  
      # define another type of TensorHead to see if exprs are correctly handled:
      A = TensorHead("A", [LorentzIndex])
  
      t = A(k) * G(i) * G(-i)
      ts = simplify_gamma_expression(t)
      assert _is_tensor_eq(
          ts,
          Matrix(
              [[4, 0, 0, 0], [0, 4, 0, 0], [0, 0, 4, 0], [0, 0, 0, 4]]
          )
          * A(k),
      )
  
      t = G(i) * A(k) * G(j)
      ts = simplify_gamma_expression(t)
      assert _is_tensor_eq(ts, A(k) * G(i) * G(j))
  
      execute_gamma_simplify_tests_for_function(
          simplify_gamma_expression, D=4
      )
  
file_path: sympy/sympy/physics/hep/tests/test_gamma_matrices.py
imports: from sympy.matrices.dense import eye, Matrix
  from sympy.tensor.tensor import tensor_indices, TensorHead, tensor_heads, TensExpr, canon_bp
  from sympy.physics.hep.gamma_matrices import GammaMatrix, LorentzIndex, kahane_simplify, gamma_trace, _simplify_single_line, simplify_gamma_expression
  from sympy import Symbol
label_desc: Use image node_id 5 for calling a global function with example usage: test_gamma_matrix_class() without return types