docstr: Test CNOT: 2-qubit gate with different target wires, some non-adjacent.
code: def test_CNOT_permutations(self, target_wire):
      """Test CNOT: 2-qubit gate with different target wires, some non-adjacent."""
      res = qml.matrix(qml.CNOT, wire_order=[0, 1, 2, 3, 4])(
          wires=[1, target_wire]
      )
  
      # compute the expected matrix
      perm = np.swapaxes(
          np.swapaxes(np.arange(2**5).reshape([2] * 5), 0, 1),
          0,
          target_wire,
      ).flatten()
      expected = np.kron(CNOT, np.eye(8))[:, perm][perm]
      assert np.allclose(res, expected)
  
imports: from functools import reduce, partial
  from warnings import catch_warnings
  import pytest
  from gate_data import I, X, Y, Z, H, S, CNOT, Rotx, Roty
  import pennylane
  from pennylane import numpy
  from pennylane.transforms.op_transforms import OperationTransformError
label_desc: Use image node_id 10 for calling the TestSingleOperation obj's underlying member method code with example usage: obj.test_CNOT_permutations(target_wire) without return types