class_docstr: Unit tests for the hadamard_grad function
class_docstr_tok: ["Unit","tests","for","the","hadamard_grad","function"]
docstr: Test gradient of controlled rotation gates with multiple measurements
code: def test_controlled_rotation_gradient_multi(self, G, theta, tol):
      """Test gradient of controlled rotation gates with multiple measurements"""
      dev = qml.device("default.qubit", wires=3)
  
      with qml.queuing.AnnotatedQueue() as q:
          qml.StatePrep(
              np.array([1.0, -1.0], requires_grad=False) / np.sqrt(2),
              wires=0,
          )
          G(theta, wires=[0, 1])
          qml.expval(qml.PauliX(0))
          qml.probs(wires=[1])
  
      tape = qml.tape.QuantumScript.from_queue(q)
      tape.trainable_params = {1}
  
      res_hadamard, _ = grad_fn(tape, dev)
      res_param_shift, _ = grad_fn(tape, dev, qml.gradients.param_shift)
  
      assert isinstance(res_hadamard, tuple)
      assert np.allclose(
          res_hadamard[0], res_param_shift[0], atol=tol, rtol=0
      )
      assert np.allclose(
          res_hadamard[1], res_param_shift[1], atol=tol, rtol=0
      )
  
imports: import pytest
  import pennylane
  from pennylane import numpy
label_desc: Use image node_id 7 for calling the TestHadamardGrad obj's underlying member method code with example usage: obj.test_controlled_rotation_gradient_multi(G, theta, tol) without return types