code: def test_record():
      assert_dshape_equal(
          R["a":int32, "b":float32],
          R["a":int32, "b":float32],
      )
  
      with pytest.raises(AssertionError) as e:
          assert_dshape_equal(
              R["a":int32, "b":float32],
              R["a":int32, "b":int32],
          )
      assert "'float32' != 'int32'" in str(e)
      assert "_['b'].name" in str(e.value)
  
      with pytest.raises(AssertionError) as e:
          assert_dshape_equal(
              R["a":int32, "b":float32],
              R["a":int32, "c":float32],
          )
      assert "'b' != 'c'" in str(e.value)
  
      with pytest.raises(AssertionError) as e:
          assert_dshape_equal(
              R["b":float32, "a":float32],
              R["a":int32, "b":float32],
              check_record_order=False,
          )
      assert "'float32' != 'int32'" in str(e.value)
      assert "_['a']" in str(e.value)
  
      assert_dshape_equal(
          R["b":float32, "a":int32],
          R["a":int32, "b":float32],
          check_record_order=False,
      )
  
      # check a nested record with and without ordering
      assert_dshape_equal(
          R["a" : R["b":float32, "a":int32]],
          R["a" : R["a":int32, "b":float32]],
          check_record_order=False,
      )
  
      with pytest.raises(AssertionError) as e:
          assert_dshape_equal(
              R["a" : R["a":int32, "b":float32]],
              R["a" : R["b":float32, "a":int32]],
          )
  
      assert "'a' != 'b'" in str(e.value)
      assert "_['a']" in str(e.value)
  
file_path: datashader/datashader/datashape/util/tests/test_testing.py
imports: import pytest
  from datashader.datashape.coretypes import DateTime, R, String, Time, TimeDelta, Tuple, Option, int32, float32
  from datashader.datashape.util import dshape
  from datashader.datashape.util.testing import assert_dshape_equal
label_desc: Use image node_id 3 for calling a global function with example usage: test_record() without return types