code: def test_to_assure_2d_array(self, dtype):
      with pytest.raises(linalg.LinAlgError):
          # both arrays are 1-D
          A = np.array([1, 2, 3], dtype=dtype)
          B = np.array([4, 5, 6], dtype=dtype)
          khatri_rao(A, B)
  
      with pytest.raises(linalg.LinAlgError):
          # first array is 1-D
          A = np.array([1, 2, 3], dtype=dtype)
          B = np.array([[1, 2, 3], [4, 5, 6]], dtype=dtype)
          khatri_rao(A, B)
  
      with pytest.raises(linalg.LinAlgError):
          # first array is 1-D
          A = np.array([[1, 2, 3], [4, 5, 6]], dtype=dtype)
          B = np.array([1, 2, 3], dtype=dtype)
          khatri_rao(A, B)
  
file_path: cupy/tests/cupyx_tests/scipy_tests/linalg_tests/test_matfuncs.py
imports: import numpy
  from numpy import linalg
  import cupy
  from cupyx.scipy.linalg import khatri_rao
  from cupyx.scipy import linalg
  import pytest
  from cupy import testing
label_desc: Use image node_id 4 for calling the TestKhatriRao obj's underlying member method code with example usage: obj.test_to_assure_2d_array(dtype) without return types