code: def test_uniform(self, lower, upper, size):
      def transform_params(*inputs):
          _, _, _, lower, upper = inputs
          lower = (
              pt.as_tensor_variable(lower)
              if lower is not None
              else None
          )
          upper = (
              pt.as_tensor_variable(upper)
              if upper is not None
              else None
          )
          return lower, upper
  
      interval = tr.Interval(bounds_fn=transform_params)
      model = self.build_model(
          pm.Uniform,
          {"lower": lower, "upper": upper},
          size=size,
          transform=interval,
      )
      self.check_transform_elementwise_logp(model)
  
imports: import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from pytensor.tensor.variable import TensorConstant
  import pymc
  import pymc.distributions.transforms
  from pymc.logprob.basic import transformed_conditional_logp
  from pymc.logprob.transforms import Transform
  from pymc.pytensorf import floatX, jacobian
  from pymc.testing import Circ, MultiSimplex, R, Rminusbig, Rplusbig, Simplex, SortedVector, Unit, UnitSortedVector, Vector
label_desc: Use image node_id 7 for calling the TestElementWiseLogp obj's underlying member method code with example usage: obj.test_uniform(lower, upper, size) and returns: lower,  upper