class_docstr: Non differentiability tests for the transform program keyword argument.
docstr: Test a transform that creates a batch of tapes with different shots.
  
  Note that this only works with the new device interface.
docstr_tok: ["Test","a","transform","that","creates","a","batch","of","tapes","with","different","shots",".","Note","that","this","only","works","with","the","new","device","interface","."]
code: def test_shot_distributing_transform(self, interface):
      """Test a transform that creates a batch of tapes with different shots.
  
      Note that this only works with the new device interface.
      """
      dev = qml.devices.DefaultQubit()
  
      def null_postprocessing(results):
          return results
  
      def split_shots(tape):
          tape1 = qml.tape.QuantumScript(
              tape.operations,
              tape.measurements,
              shots=tape.shots.total_shots // 2,
          )
          tape2 = qml.tape.QuantumScript(
              tape.operations,
              tape.measurements,
              shots=tape.shots.total_shots * 2,
          )
          return (tape1, tape2), null_postprocessing
  
      scale_shots = qml.transforms.core.TransformContainer(split_shots)
      program = qml.transforms.core.TransformProgram([scale_shots])
  
      tape = qml.tape.QuantumScript(
          [], [qml.counts(wires=0)], shots=100
      )
      results = qml.execute(
          (tape,), dev, interface=interface, transform_program=program
      )[0]
  
      assert results[0] == {"0": 50}
      assert results[1] == {"0": 200}
  
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 3 for calling the TestTransformProgram obj's underlying member method code with example usage: obj.test_shot_distributing_transform(interface) and returns: results, tape1,  tape2,  null_postprocessing