code: def testDatasetOutOfRange(self, distribution):
      with distribution.scope():
          a = variables.Variable(
              0.0, aggregation=variables.VariableAggregation.SUM
          )
  
      def train_step(val):
          a.assign_add(math_ops.reduce_sum(val))
  
      @def_function.function
      def f_train_step(iterator):
          distribution.run(train_step, args=(next(iterator),))
          return a
  
      dataset = get_dataset_from_tensor_slices(
          [5.0, 6.0, 7.0, 8.0]
      ).batch(2)
      dist_dataset = distribution.experimental_distribute_dataset(
          dataset
      )
  
      iterator = iter(dist_dataset)
      with self.assertRaises(errors.OutOfRangeError):
          for _ in range(100):
              f_train_step(iterator)
  
      self.assertAlmostEqual(26.0, a.numpy())
  
imports: from absl.testing import parameterized
  from tensorflow.python import tf2
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.distribute import combinations
  from tensorflow.python.distribute import device_util
  from tensorflow.python.distribute import distribute_lib
  from tensorflow.python.distribute import reduce_util
  from tensorflow.python.distribute import strategy_combinations
  from tensorflow.python.distribute import test_util
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_assert
  from tensorflow.python.ops import map_fn
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops.losses import losses
  from tensorflow.python.tpu import tpu
  from tensorflow.python.util import nest
label_desc: Use image node_id 38 for calling the InputIterationTest obj's underlying member method code with example usage: obj.testDatasetOutOfRange(distribution) and returns: a