code: def test_ndarray_shape():
      np_e = np.array(3)
      np_row = np.array([1, 2, 3])
      np_col = np.array([[1], [2], [3]])
      np_m = np.array([[1, 2], [3, 4]])
      np_nd = np.arange(30).reshape((2, 5, 3))
  
      e = hl.nd.array(np_e)
      row = hl.nd.array(np_row)
      col = hl.nd.array(np_col)
      m = hl.nd.array(np_m)
      nd = hl.nd.array(np_nd)
      missing = hl.nd.array(hl.missing(hl.tarray(hl.tint32)))
  
      assert_all_eval_to(
          (e.shape, np_e.shape),
          (row.shape, np_row.shape),
          (col.shape, np_col.shape),
          (m.shape, np_m.shape),
          (nd.shape, np_nd.shape),
          ((row + nd).shape, (np_row + np_nd).shape),
          ((row + col).shape, (np_row + np_col).shape),
          (m.transpose().shape, np_m.transpose().shape),
          (missing.shape, None),
      )
  
imports: import math
  import numpy
  import re
  from ..helpers import *
  import pytest
  from hail.utils.java import FatalError, HailUserError
label_desc: Use image node_id 9 for calling a global function with example usage: test_ndarray_shape() without return types