code: def testParallelAdds(self):
      spec = specs.TensorSpec([], tf.int32, "action")
      num_adds = 10
      replay_buffer = episodic_replay_buffer.EpisodicReplayBuffer(
          spec,
          capacity=num_adds,
          begin_episode_fn=lambda _: False,
          end_episode_fn=lambda _: False,
      )
      expected_items = range(num_adds)
      items_batched = tf.nest.map_structure(
          lambda t: tf.stack([t] * 1), expected_items
      )
      add_ops = []
      for item in items_batched:
          episode_ids = replay_buffer.create_episode_ids(1)
          add_ops.append(replay_buffer.add_batch(item, episode_ids))
      items = replay_buffer.gather_all()
      self.evaluate(tf.compat.v1.global_variables_initializer())
      self.evaluate(tf.compat.v1.local_variables_initializer())
      self.evaluate(add_ops)
      self.assertEqual(
          self.evaluate(replay_buffer._get_last_episode_id()), 9
      )
      items_ = self.evaluate(items)[0]
      self.assertSameElements(expected_items, items_)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tf_agents import specs
  from tf_agents.replay_buffers import episodic_replay_buffer
  from tf_agents.utils import common
  from tf_agents.utils import test_utils
  from tensorflow.python.ops import list_ops
label_desc: Use image node_id 25 for calling the EpisodicReplayBufferTest obj's underlying member method code with example usage: obj.testParallelAdds() without return types