code: def test_watermarks_from_strategy(self):
      rowtime = Rowtime().watermarks_from_strategy(
          "org.apache.flink.table.utils.TestingDescriptors$CustomAssigner"
      )
  
      properties = rowtime.to_properties()
      expected = {
          "rowtime.watermarks.type": "custom",
          "rowtime.watermarks.class": "org.apache.flink.table.utils.TestingDescriptors$CustomAssigner",
          "rowtime.watermarks.serialized": "rO0ABXNyAD5vcmcuYXBhY2hlLmZsaW5rLnRhYmxlLnV0aWxzLlRlc3RpbmdEZXNjcmlwdG9ycyRDdXN0b2"
          "1Bc3NpZ25lcsY_Xt96bBjDAgAAeHIAR29yZy5hcGFjaGUuZmxpbmsudGFibGUuc291cmNlcy53bXN0cmF0"
          "ZWdpZXMuUHVuY3R1YXRlZFdhdGVybWFya0Fzc2lnbmVygVHOe6GlrvQCAAB4cgA9b3JnLmFwYWNoZS5mbG"
          "luay50YWJsZS5zb3VyY2VzLndtc3RyYXRlZ2llcy5XYXRlcm1hcmtTdHJhdGVned57foNjlmk-AgAAeHA",
      }
      self.assertEqual(expected, properties)
  
imports: import collections
  import sys
  from pyflink.table.descriptors import Rowtime, Schema
  from pyflink.table.table_schema import TableSchema
  from pyflink.table.types import DataTypes
  from pyflink.testing.test_case_utils import PyFlinkTestCase
label_desc: Use image node_id 7 for calling the RowTimeDescriptorTests obj's underlying member method code with example usage: obj.test_watermarks_from_strategy() without return types