code: def test_truncation_exceptions():
      with pytest.raises(
          ValueError, match="lower and upper cannot both be None"
      ):
          Truncated.dist(pt.random.normal())
  
      # Truncation does not work with SymbolicRV inputs
      with pytest.raises(
          NotImplementedError,
          match="Truncation not implemented for SymbolicRandomVariable CensoredRV",
      ):
          Truncated.dist(
              Censored.dist(pt.random.normal(), lower=-1, upper=1),
              -1,
              1,
          )
  
      with pytest.raises(
          NotImplementedError,
          match="Truncation not implemented for multivariate distributions",
      ):
          Truncated.dist(pt.random.dirichlet([1, 1, 1]), -1, 1)
  
imports: import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  import scipy
  from pytensor.tensor.random.basic import GeometricRV, NormalRV
  from pymc import Censored, Model, draw, find_MAP
  from pymc.distributions.continuous import Exponential, Gamma, TruncatedNormal, TruncatedNormalRV
  from pymc.distributions.shape_utils import change_dist_size
  from pymc.distributions.transforms import _default_transform
  from pymc.distributions.truncated import Truncated, TruncatedRV, _truncated
  from pymc.exceptions import TruncationError
  from pymc.logprob.abstract import _icdf
  from pymc.logprob.basic import logcdf, logp
  from pymc.logprob.transforms import IntervalTransform
  from pymc.logprob.utils import ParameterValueError
  from pymc.testing import assert_moment_is_expected
label_desc: Use image node_id 10 for calling a global function with example usage: test_truncation_exceptions() without return types