code: def test_validate_dask_array(
      nrows, ncols, n_parts, col_chunking, n_col_chunks, client
  ):
      if ncols > 1:
          X = cp.random.standard_normal((nrows, ncols))
          X = dask.array.from_array(X, chunks=(nrows / n_parts, -1))
          if col_chunking:
              X = X.rechunk((nrows / n_parts, ncols / n_col_chunks))
      else:
          X = cp.random.standard_normal(nrows)
          X = dask.array.from_array(X, chunks=(nrows / n_parts))
  
      if col_chunking and ncols > 1:
          with pytest.raises(Exception):
              validate_dask_array(X, client)
      else:
          validate_dask_array(X, client)
          assert True
  
imports: from cuml.dask.common.part_utils import _extract_partitions
  import dask
  from cuml.dask.common.dask_arr_utils import validate_dask_array
  import pytest
  from cuml.testing.utils import array_equal
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 2 for calling a global function with example usage: test_validate_dask_array(nrows, ncols, n_parts, col_chunking, n_col_chunks, client) without return types