class_docstr: Tests for the quantum gradients of various gates
  with expectation value output
docstr: Test that the gradient of a circuit with multiple
  second order observables is correct
docstr_tok: ["Test","that","the","gradient","of","a","circuit","with","multiple","second","order","observables","is","correct"]
code: def test_multiple_second_order_observables(self):
      """Test that the gradient of a circuit with multiple
      second order observables is correct"""
  
      dev = qml.device("default.gaussian", wires=2, hbar=hbar)
      r = [0.4, -0.7, 0.1, 0.2]
      p = [0.1, 0.2, 0.3, 0.4]
  
      with qml.queuing.AnnotatedQueue() as q:
          qml.Squeezing(r[0], p[0], wires=[0])
          qml.Squeezing(r[1], p[1], wires=[0])
          qml.Squeezing(r[2], p[2], wires=[1])
          qml.Squeezing(r[3], p[3], wires=[1])
          qml.expval(qml.NumberOperator(0))  # second order
          qml.expval(qml.NumberOperator(1))  # second order
  
      tape = qml.tape.QuantumScript.from_queue(q)
  
      with pytest.raises(
          ValueError,
          match="Computing the gradient of CV circuits that return more",
      ):
          param_shift_cv(tape, dev)
  
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 7 for calling the TestExpectationQuantumGradients obj's underlying member method code with example usage: obj.test_multiple_second_order_observables() without return types