code: def test_unvalued_rv_model(self):
      with pm.Model() as m:
          x = pm.Normal("x")
          y = pm.Normal.dist(x)
          z = pm.Normal("z", y)
          out = z + y
  
      x_value = m.rvs_to_values[x]
      z_value = m.rvs_to_values[z]
  
      (res,) = replace_rvs_by_values(
          (out,),
          rvs_to_values=m.rvs_to_values,
          rvs_to_transforms=m.rvs_to_transforms,
      )
  
      assert res.owner.op == pt.add
      assert res.owner.inputs[0] is z_value
      res_y = res.owner.inputs[1]
      # Graph should have be cloned, and therefore y and res_y should have different ids
      assert res_y is not y
      assert res_y.owner.op == pt.random.normal
      assert res_y.owner.inputs[3] is x_value
  
imports: import numpy
  import pytensor
  import pytest
  from pytensor import function
  from pytensor import tensor
  from pytensor.compile import get_default_mode
  from pytensor.graph.basic import ancestors, equal_computations
  from pytensor.tensor.random.op import RandomVariable
  import pymc
  from pymc import SymbolicRandomVariable, inputvars
  from pymc.distributions.transforms import Interval
  from pymc.logprob.abstract import MeasurableVariable
  from pymc.logprob.basic import logp
  from pymc.logprob.utils import ParameterValueError, check_potential_measurability, dirac_delta, replace_rvs_by_values
  from pymc.testing import assert_no_rvs
  from tests.logprob.utils import create_pytensor_params, scipy_logprob_tester
label_desc: Use image node_id 3 for calling the TestReplaceRVsByValues obj's underlying member method code with example usage: obj.test_unvalued_rv_model() without return types