class_docstr: Tests for the generate_multishifted_tapes function
class_docstr_tok: ["Tests","for","the","generate_multishifted_tapes","function"]
docstr: Test that the function behaves as expected when multipliers are used
code: def test_with_multipliers(self):
      """Test that the function behaves as expected when multipliers are used"""
  
      with qml.queuing.AnnotatedQueue() as q:
          qml.PauliZ(0)
          qml.RX(1.0, wires=0)
          qml.CNOT(wires=[0, 2])
          qml.Rot(2.0, 3.0, 4.0, wires=0)
          qml.expval(qml.PauliZ(0))
  
      tape = qml.tape.QuantumScript.from_queue(q)
      tape.trainable_params = {0, 2}
      shifts = [[0.3, -0.6], [0.2, 0.6], [0.6, 0.0]]
      multipliers = [[0.2, 0.5], [-0.3, 0], [1.0, 1]]
      expected = [
          [0.5 * 1.0 - 0.6, 2.0, 0.2 * 3.0 + 0.3, 4.0],
          [0 * 1.0 + 0.6, 2.0, -0.3 * 3.0 + 0.2, 4.0],
          [1 * 1.0 + 0.0, 2.0, 1.0 * 3.0 + 0.6, 4.0],
      ]
  
      res = generate_multishifted_tapes(
          tape, [1, 0], shifts, multipliers
      )
  
      assert len(res) == len(shifts)
      for new_tape, exp in zip(res, expected):
          assert new_tape.get_parameters(trainable_only=False) == exp
  
imports: import pytest
  import numpy
  import pennylane
  from pennylane.gradients.general_shift_rules import eigvals_to_frequencies, frequencies_to_period, generate_shift_rule, _get_shift_rule, generate_multi_shift_rule, generate_shifted_tapes, generate_multishifted_tapes, _iterate_shift_rule_with_multipliers
label_desc: Use image node_id 3 for calling the TestGenerateMultishiftedTapes obj's underlying member method code with example usage: obj.test_with_multipliers() without return types