code: def assert_same_type_and_shape(values, this_key_chain=None):
      x_, y_ = values
      for x, y in zip(x_, y_):
          if isinstance(x, np.ndarray):
              x_d = str(x.dtype).replace("longlong", "int64")
              y_d = str(y.dtype).replace("longlong", "int64")
              assert (
                  x.shape == y.shape
              ), f"returned shape = {x.shape}, ground-truth returned shape = {y.shape}"
              assert (
                  x_d == y_d
              ), f"returned dtype = {x_d}, ground-truth returned dtype = {y_d}"
  
file_path: ivy/ivy_tests/test_ivy/helpers/assertions.py
imports: import ivy
  import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: assert_same_type_and_shape(values, this_key_chain) without return types