class_docstr: MockTFEnvironment.
  
  Stores all actions taken in `actions_taken`. The returned values are:
  
  step: FIRST, 1., 0., [0]
  step: MID, 1., 0., [1]
  step: LAST, 0., 1. [2]
  ...repeated
class_docstr_tok: ["MockTFEnvironment",".","Stores","all","actions","taken","in","`","actions_taken","`",".","The","returned","values","are",":","step",":","FIRST",",","1.",",","0.",",","[","0","]","step",":","MID",",","1.",",","0.",",","[","1","]","step",":","LAST",",","0.",",","1",".","[","2","]","...","repeated"]
code: def _step(self, action):
      action = tf.convert_to_tensor(value=action)
      with tf.control_dependencies(tf.nest.flatten(action)):
          state_assign = self._state.assign_add(1)
      with tf.control_dependencies([state_assign]):
          state_value = self._state.value()
          increase_steps = tf.cond(
              pred=tf.equal(tf.math.mod(state_value, 3), FIRST),
              true_fn=self.steps.value,
              false_fn=lambda: self.steps.assign_add(1),
          )
          increase_episodes = tf.cond(
              pred=tf.equal(tf.math.mod(state_value, 3), LAST),
              true_fn=lambda: self.episodes.assign_add(1),
              false_fn=self.episodes.value,
          )
      with tf.control_dependencies([increase_steps, increase_episodes]):
          return self.current_time_step()
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  from tf_agents import specs
  from tf_agents.environments import tf_environment
  from tf_agents.trajectories import time_step
  from tf_agents.utils import common
label_desc: Use image node_id 4 for calling the TFEnvironmentMock obj's underlying member method code with example usage: obj._step(action) and returns: self