code: def testFullyDefinedShape(self):
      s = tensor_shape.TensorShape(
          [
              tensor_shape.Dimension(3),
              tensor_shape.Dimension(4),
              tensor_shape.Dimension(7),
          ]
      )
      s.assert_is_fully_defined()
      self.assertEqual(s.rank, 3)
      self.assertLen(s, 3)
      self.assertTrue(s)
      s.assert_has_rank(3)
      self.assertEqual(
          [
              tensor_shape.Dimension(3),
              tensor_shape.Dimension(4),
              tensor_shape.Dimension(7),
          ],
          s.dims,
      )
      self.assertEqual(tensor_shape.Dimension(3), s[0])
      self.assertEqual(tensor_shape.Dimension(4), s[1])
      self.assertEqual(tensor_shape.Dimension(7), s[2])
      self.assertEqual([3, 4, 7], s.as_list())
      s.assert_is_compatible_with([3, 4, 7])
      s.assert_same_rank([6, 3, 7])
      for d1, d2 in zip(s, [3, 4, 7]):
          assert tensor_shape.dimension_value(d1) == d2
  
imports: from absl.testing import parameterized
  from tensorflow.core.framework import tensor_shape_pb2
  from tensorflow.core.function import trace_type
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 2 for calling the ShapeTest obj's underlying member method code with example usage: obj.testFullyDefinedShape() without return types