class_docstr: Conformance tests to ensure that the CircuitGraph
  serialized QASM conforms to the QASM standard as implemented
  by Qiskit. Note that this test class requires Qiskit and
  PennyLane-Qiskit as a dependency.
class_docstr_tok: ["Conformance","tests","to","ensure","that","the","CircuitGraph","serialized","QASM","conforms","to","the","QASM","standard","as","implemented","by","Qiskit",".","Note","that","this","test","class","requires","Qiskit","and","PennyLane-Qiskit","as","a","dependency","."]
docstr: Test that the QASM generated by the CircuitGraph agrees
  with the QASM generated by the PennyLane-Qiskit plugin.
docstr_tok: ["Test","that","the","QASM","generated","by","the","CircuitGraph","agrees","with","the","QASM","generated","by","the","PennyLane-Qiskit","plugin","."]
code: def test_agrees_qiskit_plugin(self, check_dependencies):
      """Test that the QASM generated by the CircuitGraph agrees
      with the QASM generated by the PennyLane-Qiskit plugin."""
      dev = qml.device("qiskit.basicaer", wires=3)
  
      @qml.qnode(dev)
      def qnode(x):
          qml.Hadamard(wires=0)
          qml.RY(x[1], wires=0)
          qml.CNOT(wires=[0, 1])
          qml.RX(x[0], wires=1)
          return [
              qml.expval(qml.PauliX(0)),
              qml.expval(qml.PauliZ(1)),
              qml.expval(qml.Hadamard(2)),
          ]
  
      qnode([0.1, 0.2])
      res = qnode.qtape.to_openqasm()
  
      # Note: Qiskit hardcodes in pi as a QASM constant.
      # Here, we replace it with its numerical value.
      expected = dev._circuit.qasm().replace("pi/4", str(np.pi / 4))
  
      assert res == expected
  
imports: from textwrap import dedent
  import numpy
  import pytest
  import pennylane
  from pennylane.wires import Wires
label_desc: Use image node_id 2 for calling the TestQASMConformanceTests obj's underlying member method code with example usage: obj.test_agrees_qiskit_plugin(check_dependencies) and returns: list