code: def test_state_saved_after_step(self):
      self.evaluate(self.random_env.reset())
      random_action = self.evaluate(
          tensor_spec.sample_spec_nest(
              self.action_spec, outer_dims=(1,)
          )
      )
  
      expected_time_step = self.evaluate(
          self.random_env.step(random_action)
      )
      current_time_step = self.evaluate(
          self.random_env.current_time_step()
      )
  
      np.testing.assert_almost_equal(
          expected_time_step.step_type, current_time_step.step_type
      )
      np.testing.assert_almost_equal(
          expected_time_step.observation, current_time_step.observation
      )
      np.testing.assert_almost_equal(
          expected_time_step.discount, current_time_step.discount
      )
      np.testing.assert_almost_equal(
          expected_time_step.reward, current_time_step.reward
      )
  
file_path: agents/tf_agents/environments/random_tf_environment_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  import tensorflow
  from tf_agents.environments import random_tf_environment
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.utils import test_utils
label_desc: Use image node_id 3 for calling the RandomTFEnvironmentTest obj's underlying member method code with example usage: obj.test_state_saved_after_step() without return types