code: def test_pick_ordering_full_order(self, ray_start_regular_shared):
      # Test that the least loaded actor is always picked.
      pool = _ActorPool()
      # Add 4 actors to the pool.
      actors = [self._add_ready_worker(pool) for _ in range(4)]
      # Pick 4 actors.
      picked_actors = [pool.pick_actor() for _ in range(4)]
      # Check that the 4 distinct actors that were added to the pool were all
      # returned.
      assert set(picked_actors) == set(actors)
      # Check that the per-state pool sizes are as expected.
      assert pool.num_total_actors() == 4
      assert pool.num_pending_actors() == 0
      assert pool.num_running_actors() == 4
      assert pool.num_active_actors() == 4
      assert pool.num_idle_actors() == 0
  
imports: import collections
  import time
  import pytest
  import ray
  from ray.data._internal.compute import ActorPoolStrategy
  from ray.data._internal.execution.operators.actor_pool_map_operator import AutoscalingConfig, AutoscalingPolicy, _ActorPool
  from ray.data._internal.execution.util import make_ref_bundles
  from ray.tests.conftest import *
label_desc: Use image node_id 8 for calling the TestActorPool obj's underlying member method code with example usage: obj.test_pick_ordering_full_order(ray_start_regular_shared) without return types