class_docstr: Test for the dispatching logic of the parameter shift method
docstr: Test that the transform works correctly when the diff method for every parameter is
  identified to be 0, and that no tapes were generated.
docstr_tok: ["Test","that","the","transform","works","correctly","when","the","diff","method","for","every","parameter","is","identified","to","be","0",",","and","that","no","tapes","were","generated","."]
code: def test_all_zero_diff_methods(self):
      """Test that the transform works correctly when the diff method for every parameter is
      identified to be 0, and that no tapes were generated."""
      dev = qml.device("default.gaussian", wires=2)
  
      @qml.qnode(dev)
      def circuit(params):
          qml.Rotation(params[0], wires=0)
          return qml.expval(qml.QuadX(1))
  
      params = np.array([0.5, 0.5, 0.5], requires_grad=True)
  
      result = qml.gradients.param_shift_cv(circuit, dev)(params)
      assert np.allclose(result, np.zeros((2, 3)), atol=0, 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 6 for calling the TestParameterShiftLogic obj's underlying member method code with example usage: obj.test_all_zero_diff_methods() and returns: qml