code: def test_clone(self):
      def test(x, y, mention_y):
          if mention_y:
              d = 0.1 + 0 * y
          else:
              d = 0.1
          out = clone_replace(y, replace={x: x + d})
          return function([], out)()
  
      x = shared(np.asarray(0.0, dtype=config.floatX))
      utt.assert_allclose(
          test(x, pt.sum((x + 1) ** 2), mention_y=False), 1.21000003815
      )
      utt.assert_allclose(
          test(x, pt.sum((x + 1) ** 2), mention_y=True), 1.21000003815
      )
  
imports: import numpy
  import pytest
  import scipy.special
  import pytensor.tensor
  from pytensor import config, function, shared
  from pytensor.graph.basic import equal_computations, graph_inputs
  from pytensor.graph.replace import clone_replace, graph_replace, vectorize_graph, vectorize_node
  from pytensor.tensor import dvector, fvector, vector
  from tests import unittest_tools
  from tests.graph.utils import MyOp, MyVariable, op_multiple_outputs
label_desc: Use image node_id 7 for calling the TestCloneReplace obj's underlying member method code with example usage: obj.test_clone() and returns: function