code: def testGetAddSingle(self):
      spec = self.default_specs()
      replay_table = episodic_table.EpisodicTable(spec, capacity=3)
  
      expected_values = self.np_values(spec)
  
      tensors = tf.nest.map_structure(
          lambda x: tf.convert_to_tensor(value=x, dtype=tf.float32),
          expected_values,
      )
  
      add_op = replay_table.add([0], tensors)
      values = replay_table.get_episode_values(0)
      # Check static shape
      assert_same_shape = lambda s, v: self.assertEqual(
          s.shape[1:], v.shape
      )
      tf.nest.map_structure(assert_same_shape, values, spec)
      self.evaluate(tf.compat.v1.global_variables_initializer())
      self.evaluate(add_op)
      values_ = self.evaluate(values)
      tf.nest.map_structure(
          self.assertAllClose, expected_values, values_
      )
  
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 3 for calling the EpisodicTableTest obj's underlying member method code with example usage: obj.testGetAddSingle() without return types