code: def testExtend(self):
      spec = self.default_specs()
      replay_table = episodic_table.EpisodicTable(spec, capacity=3)
      test_values = self.np_values(spec, 5)
      self.evaluate(tf.compat.v1.global_variables_initializer())
      self.evaluate(replay_table.append(1, test_values))
      # Extend row 2 by the contents of row 1.
      self.evaluate(
          replay_table.extend(2, replay_table.get_episode_lists(1))
      )
      # Extend rows 0 and 1 by the contents of rows 1 and 2.
      self.evaluate(
          replay_table.extend(
              [0, 1], replay_table.get_episode_lists([1, 2])
          )
      )
      episode_0, episode_1, episode_2 = self.evaluate(
          [replay_table.get_episode_values(r) for r in range(3)]
      )
      self.assertAllClose(episode_0, self.np_values(spec, 5))
      self.assertAllClose(episode_1, self.np_values(spec, 10))
      self.assertAllClose(episode_2, self.np_values(spec, 5))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import numpy
  import tensorflow
  from tf_agents import specs
  from tf_agents.replay_buffers import episodic_table
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 7 for calling the EpisodicTableTest obj's underlying member method code with example usage: obj.testExtend() without return types