code: def assertTupleShape(self, shape, expected):
      self.assertEqual(shape.element_type(), xla_data_pb2.TUPLE)
      for sub_shape, sub_message, sub_expected in zip(
          shape.tuple_shapes(), shape.message.tuple_shapes, expected
      ):
          self.assertEqual(
              sub_shape.element_type(), sub_message.element_type
          )
          if sub_shape.is_tuple():
              self.assertTupleShape(sub_shape, sub_expected)
          else:
              expected_dimensions, expected_element_types = sub_expected
              self.assertShape(
                  sub_shape, expected_dimensions, expected_element_types
              )
  
file_path: tensorflow-upstream/third_party/xla/xla/python_api/xla_shape_test.py
imports: from absl.testing import absltest
  import numpy
  from local_xla.xla import xla_data_pb2
  from xla.python_api import xla_shape
label_desc: Use image node_id 3 for calling the CreateShapeFromNumpyTest obj's underlying member method code with example usage: obj.assertTupleShape(shape, expected) without return types