code: def test_pandas_udf_decorator_with_return_type_string(self):
      @pandas_udf("v double", PandasUDFType.GROUPED_MAP)
      def foo(x):
          return x
  
      self.assertEqual(foo.returnType, UnparsedDataType("v double"))
      self.assertEqual(foo.evalType, PandasUDFType.GROUPED_MAP)
  
      @pandas_udf(
          returnType="double", functionType=PandasUDFType.SCALAR
      )
      def foo(x):
          return x
  
      self.assertEqual(foo.returnType, UnparsedDataType("double"))
      self.assertEqual(foo.evalType, PandasUDFType.SCALAR)
  
file_path: spark/python/pyspark/sql/tests/connect/test_parity_pandas_udf.py
imports: from pyspark.sql.functions import pandas_udf, PandasUDFType
  from pyspark.sql.tests.pandas.test_pandas_udf import PandasUDFTestsMixin
  from pyspark.testing.connectutils import should_test_connect, ReusedConnectTestCase
label_desc: Use image node_id 2 for calling the PandasUDFParityTests obj's underlying member method code with example usage: obj.test_pandas_udf_decorator_with_return_type_string() and returns: x, x