code: def test_cast_negative(self):
      with self.assertRaises(PySparkTypeError) as pe:
          self.spark.range(1).id.cast(123)
  
      self.check_error(
          exception=pe.exception,
          error_class="NOT_DATATYPE_OR_STR",
          message_parameters={
              "arg_name": "dataType",
              "arg_type": "int",
          },
      )
  
imports: from itertools import chain
  from pyspark.sql import Column, Row
  from pyspark.sql import functions
  from pyspark.sql.types import StructType, StructField, LongType
  from pyspark.errors import AnalysisException, PySparkTypeError, PySparkValueError
  from pyspark.testing.sqlutils import ReusedSQLTestCase
label_desc: Use image node_id 15 for calling the ColumnTestsMixin obj's underlying member method code with example usage: obj.test_cast_negative() without return types