code: def test_shape_type_conversion():
      t1 = TensorType("float64", shape=np.array([3], dtype=int))
      assert t1.shape == (3,)
      assert isinstance(t1.shape[0], int)
      assert t1.broadcastable == (False,)
      assert isinstance(t1.broadcastable[0], bool)
  
      t1 = TensorType("float64", shape=np.array([3], dtype=np.int32))
      assert t1.shape == (3,)
      assert isinstance(t1.shape[0], int)
      assert t1.broadcastable == (False,)
      assert isinstance(t1.broadcastable[0], bool)
  
      t2 = TensorType(
          "float64", broadcastable=np.array([True, False], dtype="bool")
      )
      assert t2.shape == (1, None)
      assert isinstance(t2.shape[0], int)
      assert t2.broadcastable == (True, False)
      assert isinstance(t2.broadcastable[0], bool)
      assert isinstance(t2.broadcastable[1], bool)
  
      with pytest.raises(
          ValueError,
          match="TensorType broadcastable/shape must be a boolean, integer or None",
      ):
          TensorType("float64", shape=("1", "2"))
  
imports: import os.path
  from tempfile import mkdtemp
  import numpy
  import pytest
  import pytensor.tensor
  from pytensor.configdefaults import config
  from pytensor.tensor.shape import SpecifyShape
  from pytensor.tensor.type import TensorType, col, matrix, row, scalar, tensor, tensor3, tensor4, tensor5, tensor6, tensor7, vector
label_desc: Use image node_id 14 for calling a global function with example usage: test_shape_type_conversion() without return types