class_docstr: Tests for parameter gradient methods
docstr: If an op has grad_method=F, this should be respected
  by the qml.tape.QuantumScript
docstr_tok: ["If","an","op","has","grad_method=F",",","this","should","be","respected","by","the","qml.tape.QuantumScript"]
code: def test_finite_diff(self, monkeypatch):
      """If an op has grad_method=F, this should be respected
      by the qml.tape.QuantumScript"""
      monkeypatch.setattr(qml.Rotation, "grad_method", "F")
  
      with qml.queuing.AnnotatedQueue() as q:
          qml.Rotation(0.543, wires=[0])
          qml.Squeezing(0.543, 0, wires=[0])
          qml.expval(qml.QuadP(0))
  
      tape = qml.tape.QuantumScript.from_queue(q)
      assert _grad_method_cv(tape, 0) == "F"
      assert _grad_method_cv(tape, 1) == "A"
      assert _grad_method_cv(tape, 2) == "A"
  
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 3 for calling the TestGradAnalysis obj's underlying member method code with example usage: obj.test_finite_diff(monkeypatch) without return types