docstr: Test the functionality of agent.step() in eval mode.
  
  Specifically, the action returned, and confirm no training is happening.
docstr_tok: ["Test","the","functionality","of","agent.step","(",")","in","eval","mode",".","Specifically",",","the","action","returned",",","and","confirm","no","training","is","happening","."]
code: def testStepEval(self):
      """Test the functionality of agent.step() in eval mode.
  
      Specifically, the action returned, and confirm no training is happening.
      """
      agent = self._create_test_agent()
      base_observation = onp.ones(self.observation_shape + (1,))
      # This will reset state and choose a first action.
      agent.begin_episode(base_observation)
      # We mock the replay buffer to verify how the agent interacts with it.
      agent._replay = test_utils.MockReplayBuffer(is_jax=True)
  
      expected_state = self.zero_state
      num_steps = 10
      for step in range(1, num_steps + 1):
          # We make observation a multiple of step for testing purposes (to
          # uniquely identify each observation).
          observation = base_observation * step
          self.assertEqual(
              agent.step(reward=1, observation=observation), 0
          )
          stack_pos = step - num_steps - 1
          if stack_pos >= -self.stack_size:
              expected_state[:, :, stack_pos] = onp.full(
                  self.observation_shape, step
              )
      self.assertTrue(onp.array_equal(agent.state, expected_state))
      self.assertTrue(
          onp.array_equal(
              agent._last_observation,
              onp.ones(self.observation_shape) * (num_steps - 1),
          )
      )
      self.assertTrue(
          onp.array_equal(agent._observation, observation[:, :, 0])
      )
      # No training happens in eval mode.
      self.assertEqual(agent.training_steps, 0)
      # No transitions are added in eval mode.
      self.assertEqual(agent._replay.add.call_count, 0)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import shutil
  from absl import flags
  from absl.testing import absltest
  from dopamine.discrete_domains import atari_lib
  from dopamine.jax.agents.dqn import dqn_agent
  from dopamine.utils import test_utils
  from flax import linen
  import gin
  import jax.numpy
  import mock
  import numpy
label_desc: Use image node_id 6 for calling the DQNAgentTest obj's underlying member method code with example usage: obj.testStepEval() without return types