code: def test_0(self, op_fn, type_fn):
      x = type_fn()
      f = function([x], op_fn(x))
  
      xval = _asarray(np.random.random(10) * 10, dtype=type_fn.dtype)
      yval = f(xval)
      assert (
          str(yval.dtype)
          == op_fn.scalar_op.output_types_preference.spec[0].dtype
      )
  
file_path: pytensor/tests/tensor/test_casting.py
imports: import numpy
  import pytest
  import pytensor
  from pytensor import function
  from pytensor.compile.io import In
  from pytensor.misc.safe_asarray import _asarray
  from pytensor.tensor.basic import _convert_to_complex64, _convert_to_complex128, _convert_to_float32, _convert_to_float64, _convert_to_int8, _convert_to_int16, _convert_to_int32, _convert_to_int64, cast
  from pytensor.tensor.type import TensorType, bvector, dmatrix, dvector, fvector, ivector, zmatrix
label_desc: Use image node_id 1 for calling the TestCasting obj's underlying member method code with example usage: obj.test_0(op_fn, type_fn) without return types