code: def test_DDM_init():
      items = [[ZZ(0), ZZ(1), ZZ(2)], [ZZ(3), ZZ(4), ZZ(5)]]
      shape = (2, 3)
      ddm = DDM(items, shape, ZZ)
      assert ddm.shape == shape
      assert ddm.rows == 2
      assert ddm.cols == 3
      assert ddm.domain == ZZ
  
      raises(DMBadInputError, lambda: DDM([[ZZ(2), ZZ(3)]], (2, 2), ZZ))
      raises(
          DMBadInputError,
          lambda: DDM([[ZZ(1)], [ZZ(2), ZZ(3)]], (2, 2), ZZ),
      )
  
imports: from sympy.testing.pytest import raises
  from sympy.external.gmpy import GROUND_TYPES
  from sympy.polys import ZZ, QQ
  from sympy.polys.matrices.ddm import DDM
  from sympy.polys.matrices.exceptions import DMShapeError, DMNonInvertibleMatrixError, DMDomainError, DMBadInputError
label_desc: Use image node_id 1 for calling a global function with example usage: test_DDM_init() without return types