code: def test_ddm_idet():
      A = []
      assert ddm_idet(A, ZZ) == ZZ(1)
  
      A = [[ZZ(2)]]
      assert ddm_idet(A, ZZ) == ZZ(2)
  
      A = [[ZZ(1), ZZ(2)], [ZZ(3), ZZ(4)]]
      assert ddm_idet(A, ZZ) == ZZ(-2)
  
      A = [
          [ZZ(1), ZZ(2), ZZ(3)],
          [ZZ(1), ZZ(2), ZZ(4)],
          [ZZ(1), ZZ(3), ZZ(5)],
      ]
      assert ddm_idet(A, ZZ) == ZZ(-1)
  
      A = [
          [ZZ(1), ZZ(2), ZZ(3)],
          [ZZ(1), ZZ(2), ZZ(4)],
          [ZZ(1), ZZ(2), ZZ(5)],
      ]
      assert ddm_idet(A, ZZ) == ZZ(0)
  
      A = [[QQ(1, 2), QQ(1, 2)], [QQ(1, 3), QQ(1, 4)]]
      assert ddm_idet(A, QQ) == QQ(-1, 24)
  
file_path: sympy/sympy/polys/matrices/tests/test_dense.py
imports: from sympy.testing.pytest import raises
  from sympy.polys import ZZ, QQ
  from sympy.polys.matrices.ddm import DDM
  from sympy.polys.matrices.dense import ddm_transpose, ddm_iadd, ddm_isub, ddm_ineg, ddm_imatmul, ddm_imul, ddm_irref, ddm_idet, ddm_iinv, ddm_ilu, ddm_ilu_split, ddm_ilu_solve, ddm_berk
  from sympy.polys.matrices.exceptions import DMDomainError, DMNonInvertibleMatrixError, DMNonSquareMatrixError, DMShapeError
label_desc: Use image node_id 8 for calling a global function with example usage: test_ddm_idet() without return types