code: def test_to_string(self):
      schema = (
          Schema.new_builder().column("f0", DataTypes.STRING()).build()
      )
      format_descriptor = (
          FormatDescriptor.for_format("test-format")
          .option(self.option_a, False)
          .build()
      )
      table_descriptor = (
          TableDescriptor.for_connector("test-connector")
          .schema(schema)
          .partitioned_by("f0")
          .option(self.option_a, True)
          .format(format_descriptor)
          .comment("Test Comment")
          .build()
      )
      self.assertEqual("test-format[{a=false}]", str(format_descriptor))
      self.assertEqual(
          """(
    `f0` STRING
  )
  COMMENT 'Test Comment'
  PARTITIONED BY (`f0`)
  WITH (
    'a' = 'true',
    'connector' = 'test-connector',
    'test-format.a' = 'false',
    'format' = 'test-format'
  )""",
          str(table_descriptor),
      )
  
file_path: flink/flink-python/pyflink/table/tests/test_table_descriptor.py
imports: from pyflink.common.config_options import ConfigOptions
  from pyflink.table import DataTypes
  from pyflink.table.schema import Schema
  from pyflink.table.table_descriptor import TableDescriptor, FormatDescriptor
  from pyflink.testing.test_case_utils import PyFlinkStreamTableTestCase
label_desc: Use image node_id 7 for calling the TableDescriptorTest obj's underlying member method code with example usage: obj.test_to_string() without return types