class_docstr: tests for qml.ops.ctrl_decomp_zyz
docstr: Test that the ZYZ decomposition is used for single qubit target operations
  when other decompositions aren't available.
docstr_tok: ["Test","that","the","ZYZ","decomposition","is","used","for","single","qubit","target","operations","when","other","decompositions","are","n't","available","."]
code: def test_zyz_decomp_no_control_values(self, test_expand):
      """Test that the ZYZ decomposition is used for single qubit target operations
      when other decompositions aren't available."""
  
      base = qml.QubitUnitary(
          np.array(
              [
                  [1, 1],
                  [-1, 1],
              ]
          )
          * 2**-0.5,
          wires="a",
      )
      op = Controlled(base, (0,))
  
      assert op.has_decomposition
      decomp = (
          op.expand().expand().circuit
          if test_expand
          else op.decomposition()[0].decomposition()
      )
      expected = qml.ops.ctrl_decomp_zyz(
          base, (0,)
      )  # pylint:disable=no-member
      assert equal_list(decomp, expected)
  
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 7 for calling the TestControlledDecompositionZYZ obj's underlying member method code with example usage: obj.test_zyz_decomp_no_control_values(test_expand) without return types