code: def test_with_uniform_context_and_normal_mu_reward(self):
      def _context_sampling_fn():
          return np.random.randint(-10, 10, [1, 4])
  
      reward_fns = [
          LinearNormalReward(theta)
          for theta in ([0, 1, 2, 3], [3, 2, 1, 0], [-1, -2, -3, -4])
      ]
  
      env = sspe.StationaryStochasticPyEnvironment(
          _context_sampling_fn, reward_fns
      )
      time_step_spec = env.time_step_spec()
      action_spec = env.action_spec()
  
      random_policy = random_py_policy.RandomPyPolicy(
          time_step_spec=time_step_spec, action_spec=action_spec
      )
  
      for _ in range(5):
          time_step = env.reset()
          self.assertTrue(
              check_unbatched_time_step_spec(
                  time_step=time_step,
                  time_step_spec=time_step_spec,
                  batch_size=env.batch_size,
              )
          )
  
          action = random_policy.action(time_step).action
          time_step = env.step(action)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  import tensorflow
  from tf_agents.bandits.environments import stationary_stochastic_py_environment
  from tf_agents.policies import random_py_policy
  from tf_agents.specs import array_spec
  from tf_agents.trajectories import time_step
label_desc: Use image node_id 1 for calling the StationaryStochasticBanditPyEnvironmentTest obj's underlying member method code with example usage: obj.test_with_uniform_context_and_normal_mu_reward() and returns: np