class_docstr: Tests that the template defines the correct decomposition.
class_docstr_tok: ["Tests","that","the","template","defines","the","correct","decomposition","."]
docstr: Test permutation of wire subsets on tapes.
docstr_tok: ["Test","permutation","of","wire","subsets","on","tapes","."]
code: def test_subset_permutations_tape(
      self, wire_labels, permutation_order, wire_subset, expected_wires
  ):
      """Test permutation of wire subsets on tapes."""
  
      with qml.queuing.AnnotatedQueue() as q:
          # Make sure all the wires are actually there
          for wire in wire_labels:
              qml.RZ(0, wires=wire)
          qml.Permute(permutation_order, wire_subset)
  
      tape = qml.tape.QuantumScript.from_queue(q)
      # expand the Permute operation
      tape = tape.expand()
  
      # Make sure to start comparison after the set of RZs have been applied
      assert all(
          op.name == "SWAP"
          for op in tape.operations[len(wire_labels) :]
      )
      assert [
          op.wires.labels for op in tape.operations[len(wire_labels) :]
      ] == expected_wires
  
imports: import pytest
  import numpy
  import pennylane
label_desc: Use image node_id 10 for calling the TestDecomposition obj's underlying member method code with example usage: obj.test_subset_permutations_tape(wire_labels, permutation_order, wire_subset, expected_wires) without return types