code: def testNamedTupleSupertype(self):
      named_tuple_type = collections.namedtuple("MyNamedTuple", "x y z")
      tuple_a = default_types.NamedTuple.from_type_and_attributes(
          named_tuple_type,
          (
              MockSupertypes2With3(1),
              MockSupertypes2With3(2),
              MockSupertypes2With3(3),
          ),
      )
      tuple_b = default_types.NamedTuple.from_type_and_attributes(
          named_tuple_type,
          (
              MockSupertypes2With3(2),
              MockSupertypes2With3(2),
              MockSupertypes2With3(2),
          ),
      )
  
      self.assertEqual(
          str(tuple_a),
          "MyNamedTuple[['x', MockSupertypes2With3], ['y', MockSupertypes2With3],"
          " ['z', MockSupertypes2With3]]",
      )
      self.assertEqual(
          tuple_a, tuple_a.most_specific_common_supertype([])
      )
      self.assertIsNone(
          tuple_a.most_specific_common_supertype([tuple_b])
      )
      self.assertEqual(
          tuple_b.most_specific_common_supertype([tuple_a]),
          default_types.NamedTuple.from_type_and_attributes(
              named_tuple_type,
              (
                  MockSupertypes2With3(3),
                  MockSupertypes2With3(3),
                  MockSupertypes2With3(3),
              ),
          ),
      )
  
imports: import collections
  from tensorflow.core.function.trace_type import default_types
  from tensorflow.core.function.trace_type import serialization
  from tensorflow.python.platform import test
  from tensorflow.python.types import trace
label_desc: Use image node_id 8 for calling the DefaultTypesTest obj's underlying member method code with example usage: obj.testNamedTupleSupertype() without return types