These tests capture input/output type interfaces between python udfs and the engine. This internal documentation, not user-facing documentation. Please consider the type behavior "experimental", unless we specify otherwise. Parts of the type handling might change in the future.

# Return type tests
These generate tables with the returned 'Python Value' and the 'SQL Type' output type of the UDF. The 'SQL Type' fields are DDL formatted strings, which can be used as `returnType`s.
- Note: The values inside the table are generated by `repr`. X' means it throws an exception during the conversion.
- Note: Python 3.11.9, Pandas 2.2.3 and PyArrow 17.0.0 are used.

# Input type tests
These generate tables with 'Spark Type' and 'Spark Value', representing the engine-side input data. The UDF input data is captured in the 'Python type' and 'Python value' columns.

# When this test fails:
- Look at the diff in the test output
- To regenerate golden files, simply delete the existing golden file and re-run the test.