code: def raise_assert_detail(obj, message, left, right, diff=None):
      msg = f"""{obj} are different
  
  {message}
  [left]:  {left}
  [right]: {right}"""
  
      if diff is not None:
          msg += f"\n[diff]: {diff}"
  
      raise AssertionError(msg)
  
file_path: cudf/python/cudf/cudf/testing/testing.py
imports: from __future__ import annotations
  from typing import Union
  import cupy
  import numpy
  import pandas
  import cudf
  from cudf._lib.unary import is_nan
  from cudf.api.types import is_categorical_dtype, is_numeric_dtype, is_string_dtype
  from cudf.core.missing import NA, NaT
label_desc: Use image node_id 3 for calling a global function with example usage: raise_assert_detail(obj, message, left, right, diff) without return types