class_docstr: Test the expansion of multi-parameter gates.
class_docstr_tok: ["Test","the","expansion","of","multi-parameter","gates","."]
docstr: Test that a multi-parameter gate is decomposed correctly.
  And that single-parameter gates are not decomposed.
docstr_tok: ["Test","that","a","multi-parameter","gate","is","decomposed","correctly",".","And","that","single-parameter","gates","are","not","decomposed","."]
code: def test_expand_multipar(self):
      """Test that a multi-parameter gate is decomposed correctly.
      And that single-parameter gates are not decomposed."""
  
      class _CRX(qml.CRX):
          name = "_CRX"
  
          @staticmethod
          def decomposition(theta, wires):
              raise NotImplementedError()
  
      with qml.queuing.AnnotatedQueue() as q:
          qml.RX(1.5, wires=0)
          qml.Rot(-2.1, 0.2, -0.418, wires=1)
          _CRX(1.5, wires=[0, 2])
  
      tape = qml.tape.QuantumScript.from_queue(q)
      new_tape = qml.transforms.expand_multipar(tape)
      new_ops = new_tape.operations
  
      assert [op.name for op in new_ops] == [
          "RX",
          "RZ",
          "RY",
          "RZ",
          "_CRX",
      ]
  
imports: import pytest
  import numpy
  import pennylane
  from pennylane.wires import Wires
label_desc: Use image node_id 1 for calling the TestExpandMultipar obj's underlying member method code with example usage: obj.test_expand_multipar() without return types