code: def test_validate_top_inputs():
      A = da.random.default_rng().random((20, 20), chunks=(10, 10))
  
      with pytest.raises(ValueError) as info:
          da.blockwise(inc, "jk", A, "ij", dtype=A.dtype)
  
      assert "unknown dimension" in str(info.value).lower()
      assert "k" in str(info.value)
      assert "j" not in str(info.value)
  
      with pytest.raises(ValueError) as info:
          da.blockwise(inc, "ii", A, "ij", dtype=A.dtype)
  
      assert "repeated" in str(info.value).lower()
      assert "i" in str(info.value)
  
imports: from __future__ import annotations
  import collections
  from operator import add
  import numpy
  import pytest
  import dask
  import dask.array
  from dask.array.utils import assert_eq
  from dask.blockwise import _BLOCKWISE_DEFAULT_PREFIX, Blockwise, _unique_dep, index_subs, optimize_blockwise, rewrite_blockwise
  from dask.highlevelgraph import HighLevelGraph
  from dask.utils_test import dec, hlg_layer_topological, inc
label_desc: Use image node_id 28 for calling a global function with example usage: test_validate_top_inputs() without return types