class_docstr: tests for qml.ops.ctrl_decomp_zyz
docstr: Test that any incorrect operations aren't queued when using
  ``ctrl_decomp_zyz``.
docstr_tok: ["Test","that","any","incorrect","operations","are","n't","queued","when","using","``","ctrl_decomp_zyz","``","."]
code: def test_decomp_queues_correctly(self, op, control_wires, tol):
      """Test that any incorrect operations aren't queued when using
      ``ctrl_decomp_zyz``."""
      decomp = ctrl_decomp_zyz(op, control_wires=Wires(control_wires))
      dev = qml.device("default.qubit", wires=4)
  
      @qml.qnode(dev)
      def queue_from_list():
          qml.broadcast(
              unitary=qml.Hadamard,
              pattern="single",
              wires=control_wires,
          )
          for o in decomp:
              qml.apply(o)
          return qml.state()
  
      @qml.qnode(dev)
      def queue_from_qnode():
          qml.broadcast(
              unitary=qml.Hadamard,
              pattern="single",
              wires=control_wires,
          )
          ctrl_decomp_zyz(op, control_wires=Wires(control_wires))
          return qml.state()
  
      res1 = queue_from_list()
      res2 = queue_from_qnode()
      assert np.allclose(res1, res2, atol=tol, rtol=0)
  
imports: import pytest
  import numpy
  import pennylane
  from pennylane.ops import ctrl_decomp_zyz
  from pennylane.wires import Wires
  from pennylane.ops.op_math.controlled_decompositions import _ctrl_decomp_bisect_od, _ctrl_decomp_bisect_md, _ctrl_decomp_bisect_general, ctrl_decomp_bisect, _convert_to_su2, _bisect_compute_a, _bisect_compute_b
  from pennylane.ops.op_math.controlled import Controlled
  from pennylane import math
label_desc: Use image node_id 5 for calling the TestControlledDecompositionZYZ obj's underlying member method code with example usage: obj.test_decomp_queues_correctly(op, control_wires, tol) and returns: qml, qml