class_docstr: Non differentiability tests for the transform program keyword argument.
docstr: Test the composition of a gradient transform with another transform.
docstr_tok: ["Test","the","composition","of","a","gradient","transform","with","another","transform","."]
code: def test_composable_transform(self):
      """Test the composition of a gradient transform with another transform."""
      import jax
  
      dev = qml.device("default.qubit", wires=2)
  
      @partial(qml.gradients.param_shift, argnums=[0, 1])
      @qml.transforms.split_non_commuting
      @qml.qnode(device=dev, interface="jax")
      def circuit(x, y):
          qml.RX(x, wires=0)
          qml.RZ(y, wires=1)
          qml.CNOT(wires=[0, 1])
          return qml.expval(qml.PauliZ(wires=0)), qml.expval(
              qml.PauliY(wires=0)
          )
  
      x = jax.numpy.array(0.1)
      y = jax.numpy.array(0.2)
  
      res = circuit(x, y)
  
      assert isinstance(res, tuple)
      assert len(res) == 2
  
      assert isinstance(res[0], tuple)
      assert len(res[0]) == 2
  
      assert isinstance(res[1], tuple)
      assert len(res[1]) == 2
  
file_path: pennylane/tests/interfaces/test_transform_program_integration.py
imports: import copy
  from typing import Tuple, Callable
  from functools import partial
  import pytest
  import numpy
  import pennylane
label_desc: Use image node_id 7 for calling the TestTransformProgram obj's underlying member method code with example usage: obj.test_composable_transform() and returns: qml,  qml