code: def test_multiple_envs_shuffle(self):
      envs = [
          gym.make("CartPole-v0"),
          gym.make("CartPole-v1"),
          gym.make("Acrobot-v1"),
      ]
      rl_scenario = RLScenario(
          envs=envs,
          n_parallel_envs=1,
          task_labels=True,
          eval_envs=envs[:2],
          shuffle=True,
      )
      tr_stream = rl_scenario.train_stream
      assert len(tr_stream) == 3
  
      all_t_labels = set()
      for i, exp in enumerate(tr_stream):
          assert exp.current_experience == i
          all_t_labels.add(exp.task_label)
  
      self.assertSetEqual(set(range(3)), all_t_labels)
  
      assert len(rl_scenario.eval_stream) == 2
      for i, exp in enumerate(rl_scenario.eval_stream):
          assert exp.task_label == i
          assert exp.environment.spec.id == envs[i].spec.id
  
imports: import unittest
  import numpy
label_desc: Use image node_id 2 for calling the RLScenarioTests obj's underlying member method code with example usage: obj.test_multiple_envs_shuffle() without return types