code: def assert_dshape_equal(a, b, path=None, **kwargs):
      if path is None:
          path = ()
  
      assert a.unit == b.unit, "%s units do not match: %r != %s\n%s" % (
          type(a).__name__.lower(),
          a.unit,
          b.unit,
          _fmt_path(path + (".unit",)),
      )
  
      path.append(".tp")
      assert_dshape_equal(a.tp, b.tp, **kwargs)
  
file_path: datashader/datashader/datashape/util/testing.py
imports: from abc import ABC
  from ..coretypes import DataShape, DateTime, Function, Option, Record, String, Time, TimeDelta, Tuple, Units
  from ..dispatch import dispatch
label_desc: Use image node_id 7 for calling a global function with example usage: assert_dshape_equal(a, b, path) without return types