class_docstr: Test the transform function (validate and dispatch).
docstr: Test that the custom qnode transform is correctly executed
code: def test_custom_qnode_transform(self, valid_transform):
      """Test that the custom qnode transform is correctly executed"""
  
      dispatched_transform = transform(valid_transform)
  
      history = []
  
      @dispatched_transform.custom_qnode_transform
      def _custom_qnode_transform(self, qnode, targs, tkwargs):
          history.append((targs, tkwargs))
          return self.default_qnode_transform(qnode, targs, tkwargs)
  
      @partial(dispatched_transform, index=0)
      @qml.qnode(dev)
      def qnode1():
          """QNode circuit."""
          qml.Hadamard(wires=0)
          return qml.expval(qml.PauliZ(wires=0))
  
      assert isinstance(qnode1, qml.QNode)
      assert isinstance(
          qnode1.transform_program, qml.transforms.core.TransformProgram
      )
      assert isinstance(
          qnode1.transform_program.pop_front(),
          qml.transforms.core.TransformContainer,
      )
  
      @qml.qnode(dev)
      def qnode2():
          """QNode circuit."""
          qml.Hadamard(wires=0)
          qml.CNOT(wires=[0, 1])
          return qml.expval(qml.PauliZ(wires=0))
  
      qnode2 = dispatched_transform(qnode2, 1)
  
      assert isinstance(qnode2, qml.QNode)
      assert isinstance(
          qnode2.transform_program, qml.transforms.core.TransformProgram
      )
      assert isinstance(
          qnode2.transform_program.pop_front(),
          qml.transforms.core.TransformContainer,
      )
  
      # check that the custom qnode transform was called
      assert history == [([], {"index": 0}), ([1], {})]
  
imports: from typing import Sequence, Callable
  from functools import partial
  import pytest
  import pennylane
  from pennylane.transforms.core import transform, TransformError, TransformContainer
label_desc: Use image node_id 16 for calling the TestTransformDispatcher obj's underlying member method code with example usage: obj.test_custom_qnode_transform(valid_transform) and returns: self, qml, qml