code: def testConstruction(self):
      spec1_fields = dict(a=T_1_2_3_4)
      spec1 = StructuredTensor.Spec(
          _ragged_shape=DynamicRaggedShape.Spec(
              row_partitions=[],
              static_inner_shape=tensor_shape.TensorShape([1, 2, 3]),
              dtype=dtypes.int64,
          ),
          _fields=spec1_fields,
      )
      self.assertEqual(spec1._shape, (1, 2, 3))
      self.assertEqual(spec1._field_specs, spec1_fields)
  
      spec2_fields = dict(
          a=T_1_2, b=T_1_2_8, c=R_1_N, d=R_1_N_N, s=spec1
      )
      spec2 = StructuredTensor.Spec(
          _ragged_shape=DynamicRaggedShape.Spec(
              row_partitions=[],
              static_inner_shape=tensor_shape.TensorShape([1, 2]),
              dtype=dtypes.int64,
          ),
          _fields=spec2_fields,
      )
      self.assertEqual(spec2._shape, (1, 2))
      self.assertEqual(spec2._field_specs, spec2_fields)
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.eager import context
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.framework import test_util
  from tensorflow.python.framework import type_spec
  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_tensor
  from tensorflow.python.ops.structured.structured_tensor import StructuredTensor
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 3 for calling the StructuredTensorSpecTest obj's underlying member method code with example usage: obj.testConstruction() without return types