class_docstr: Tests the gates with special drawing methods.
class_docstr_tok: ["Tests","the","gates","with","special","drawing","methods","."]
docstr: Test CSWAP special call
code: def test_CSWAP(self):
      """Test CSWAP special call"""
  
      with qml.queuing.AnnotatedQueue() as q_tape:
          qml.CSWAP(wires=(0, 1, 2))
  
      tape = QuantumScript.from_queue(q_tape)
      _, ax = tape_mpl(tape)
      layer = 0
  
      # three wires, one control, 5 swap
      assert len(ax.lines) == 9
  
      control_line = ax.lines[3]
      assert control_line.get_data() == ((layer, layer), (0, 2))
  
      # control circle
      assert ax.patches[0].center == (layer, 0)
  
      # SWAP components
      connecting_line = ax.lines[4]
      assert connecting_line.get_data() == ((layer, layer), [1, 2])
  
      x_lines = ax.lines[5:]
      assert x_lines[0].get_data() == (
          (layer - 0.2, layer + 0.2),
          (0.8, 1.2),
      )
      assert x_lines[1].get_data() == (
          (layer - 0.2, layer + 0.2),
          (1.2, 0.8),
      )
  
      assert x_lines[2].get_data() == (
          (layer - 0.2, layer + 0.2),
          (1.8, 2.2),
      )
      assert x_lines[3].get_data() == (
          (layer - 0.2, layer + 0.2),
          (2.2, 1.8),
      )
      plt.close()
  
imports: import pytest
  import pennylane
  from pennylane.drawer import tape_mpl
  from pennylane.tape import QuantumScript
label_desc: Use image node_id 2 for calling the TestSpecialGates obj's underlying member method code with example usage: obj.test_CSWAP() without return types