code: def test_classof():
      A = Matrix(3, 3, range(9))
      B = ImmutableMatrix(3, 3, range(9))
      C = MatrixSymbol("C", 3, 3)
      assert classof(A, A) == Matrix
      assert classof(B, B) == ImmutableMatrix
      assert classof(A, B) == ImmutableMatrix
      assert classof(B, A) == ImmutableMatrix
      raises(TypeError, lambda: classof(A, C))
  
file_path: sympy/sympy/matrices/tests/test_interactions.py
imports: from sympy.core.symbol import symbols
  from sympy.matrices import Matrix, MatrixSymbol, eye, Identity, ImmutableMatrix
  from sympy.matrices.expressions import MatrixExpr, MatAdd
  from sympy.matrices.matrixbase import classof
  from sympy.testing.pytest import raises
label_desc: Use image node_id 7 for calling a global function with example usage: test_classof() without return types