code: def test_table_function(self):
      self.t_env.execute_sql(
          """
              CREATE TABLE Results_test_table_function(
                  a BIGINT,
                  b BIGINT,
                  c BIGINT
              ) WITH ('connector'='test-sink')"""
      )
  
      multi_emit = udtf(
          MultiEmit(),
          result_types=[DataTypes.BIGINT(), DataTypes.BIGINT()],
      )
      multi_num = udf(MultiNum(), result_type=DataTypes.BIGINT())
  
      t = self.t_env.from_elements(
          [(1, 1, 3), (2, 1, 6), (3, 2, 9)], ["a", "b", "c"]
      )
      t = t.join_lateral(
          multi_emit((t.a + t.a) / 2, multi_num(t.b)).alias("x", "y")
      )
      t = t.left_outer_join_lateral(
          condition_multi_emit(t.x, t.y).alias("m")
      ).select(t.x, t.y, col("m"))
      t = t.left_outer_join_lateral(identity(t.m).alias("n")).select(
          t.x, t.y, col("n")
      )
      t.execute_insert("Results_test_table_function").wait()
      actual = source_sink_utils.results()
      self.assert_equals(
          actual,
          [
              "+I[1, 0, null]",
              "+I[1, 1, null]",
              "+I[2, 0, null]",
              "+I[2, 1, null]",
              "+I[3, 0, 0]",
              "+I[3, 0, 1]",
              "+I[3, 0, 2]",
              "+I[3, 1, 1]",
              "+I[3, 1, 2]",
              "+I[3, 2, 2]",
              "+I[3, 3, null]",
          ],
      )
  
imports: import unittest
  from pyflink.table import DataTypes
  from pyflink.table.udf import TableFunction, udtf, ScalarFunction, udf
  from pyflink.table.expressions import col
  from pyflink.testing import source_sink_utils
  from pyflink.testing.test_case_utils import PyFlinkStreamTableTestCase, PyFlinkBatchTableTestCase
label_desc: Use image node_id 1 for calling the UserDefinedTableFunctionTests obj's underlying member method code with example usage: obj.test_table_function() without return types