docstr: Tests that the decomposition of the CZ gate is correct
docstr_tok: ["Tests","that","the","decomposition","of","the","CZ","gate","is","correct"]
code: def test_CZ_decomposition(self, tol):
      """Tests that the decomposition of the CZ gate is correct"""
      op = qml.CZ(wires=[0, 1])
      res = op.decomposition()
  
      assert op.has_decomposition
      assert len(res) == 1
      assert qml.equal(
          qml.ctrl(qml.PhaseShift(np.pi, wires=1), 0),
          res[0],
          atol=tol,
          rtol=0,
      )
  
      decomposed_matrix = res[0].matrix()
      assert np.allclose(
          decomposed_matrix, op.matrix(), atol=tol, rtol=0
      )
  
imports: import copy
  import numpy
  import pytest
  from scipy.linalg import fractional_matrix_power
  from scipy.sparse import csr_matrix
  from scipy.stats import unitary_group
  from gate_data import CY, CZ
  import pennylane
  from pennylane.wires import Wires
  from pennylane.operation import AnyWires
  from pennylane.ops.qubit.matrix_ops import QubitUnitary
label_desc: Use image node_id 2 for calling the TestDecompositions obj's underlying member method code with example usage: obj.test_CZ_decomposition(tol) without return types