class_docstr: Test that the transform is differentiable
docstr: Tests that the output of the parameter-shift CV transform
  can be differentiated using autograd.
docstr_tok: ["Tests","that","the","output","of","the","parameter-shift","CV","transform","can","be","differentiated","using","autograd","."]
code: def test_autograd_gradient(self, tol):
      """Tests that the output of the parameter-shift CV transform
      can be differentiated using autograd."""
      dev = qml.device("default.gaussian", wires=1)
  
      r = 0.12
      phi = 0.105
  
      @qml.qnode(device=dev, interface="autograd", max_diff=2)
      def cost_fn(x):
          qml.Squeezing(x[0], 0, wires=0)
          qml.Rotation(x[1], wires=0)
          return qml.var(qml.QuadX(wires=[0]))
  
      params = np.array([r, phi], requires_grad=True)
  
      grad = qml.jacobian(cost_fn)(params)
      expected = np.array(
          [
              2 * np.exp(2 * r) * np.sin(phi) ** 2
              - 2 * np.exp(-2 * r) * np.cos(phi) ** 2,
              2 * np.sinh(2 * r) * np.sin(2 * phi),
          ]
      )
      assert np.allclose(grad, expected, atol=tol, rtol=0)
  
imports: import unittest.mock
  import pytest
  import pennylane
  from pennylane import numpy
  from pennylane.gradients import param_shift_cv
  from pennylane.gradients.gradient_transform import choose_trainable_params
  from pennylane.gradients.parameter_shift_cv import _grad_method_cv, _find_gradient_methods_cv, _transform_observable
label_desc: Use image node_id 1 for calling the TestParamShiftInterfaces obj's underlying member method code with example usage: obj.test_autograd_gradient(tol) and returns: qml