code: def _assertStructuredEqual(self, a, b, msg, check_shape):
      if check_shape:
          self.assertEqual(repr(a.shape), repr(b.shape))
      self.assertEqual(set(a.field_names()), set(b.field_names()))
      for field in a.field_names():
          a_value = a.field_value(field)
          b_value = b.field_value(field)
          self.assertIs(type(a_value), type(b_value))
          if isinstance(a_value, structured_tensor.StructuredTensor):
              self._assertStructuredEqual(
                  a_value, b_value, msg, check_shape
              )
          else:
              self.assertAllEqual(a_value, b_value, msg)
  
imports: from absl.testing import parameterized
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import random_seed
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.ops.ragged import row_partition
  from tensorflow.python.ops.ragged.dynamic_ragged_shape import DynamicRaggedShape
  from tensorflow.python.ops.structured import structured_array_ops
  from tensorflow.python.ops.structured import structured_tensor
  from tensorflow.python.ops.structured.structured_tensor import StructuredTensor
  from tensorflow.python.platform import googletest
  from tensorflow.python.util import nest
label_desc: Use image node_id 2 for calling the StructuredArrayOpsTest obj's underlying member method code with example usage: obj._assertStructuredEqual(a, b, msg, check_shape) without return types