class_docstr: MPL Drawer integration test with Catalyst jitted QNodes.
class_docstr_tok: ["MPL","Drawer","integration","test","with","Catalyst","jitted","QNodes","."]
docstr: Test a circuit with a Catalyst while_loop
docstr_tok: ["Test","a","circuit","with","a","Catalyst","while_loop"]
code: def test_while_loop_circuit(self, c):
      """Test a circuit with a Catalyst while_loop"""
  
      import catalyst  # pylint: disable=redefined-outer-name
  
      @qml.qjit
      @qml.qnode(qml.device("lightning.qubit", wires=3))
      def circuit(x, y, z, c):
          """A quantum circuit on three wires."""
  
          @catalyst.while_loop(lambda x: x < 2.0)
          def loop_rx(x):
              # perform some work and update (some of) the arguments
              qml.RX(x, wires=0)
              return x + 1
  
          # apply the while loop
          qml.RX(x, wires=0)
          qml.RY(y, wires=1)
          loop_rx(c)
          qml.RZ(z, wires=2)
          return qml.expval(qml.PauliZ(0))
  
      fig, ax = qml.draw_mpl(circuit, decimals=None)(
          1.234, 2.345, 3.456, c
      )
      assert isinstance(fig, mpl.figure.Figure)
      assert isinstance(ax, mpl.axes._axes.Axes)
  
file_path: pennylane/tests/drawer/test_draw_catalyst.py
imports: import pytest
  import pennylane
label_desc: Use image node_id 4 for calling the TestCatalystDrawMpl obj's underlying member method code with example usage: obj.test_while_loop_circuit(c) and returns: qml, unknown