code: def test_bind_two_bundles(ray_start_4_cpus):
      """Test that binding two remote objects to a ready resource works.
  
      - Request resources with 2 bundles (1 CPU and 2 CPUs)
      - Bind two remote tasks to these bundles, execute
      - Assert that resource allocation returns the correct resources: 1 CPU and 2 CPUs
      """
      manager = FixedResourceManager()
      manager.request_resources(REQUEST_1_2_CPU)
  
      assert manager.has_resources_ready(REQUEST_1_2_CPU)
  
      @ray.remote
      def get_assigned_resources():
          return ray.get_runtime_context().get_assigned_resources()
  
      acq = manager.acquire_resources(REQUEST_1_2_CPU)
      [av1] = acq.annotate_remote_entities([get_assigned_resources])
  
      res1 = ray.get(av1.remote())
  
      assert sum(v for k, v in res1.items() if k.startswith("CPU")) == 1
  
      [av1, av2] = acq.annotate_remote_entities(
          [get_assigned_resources, get_assigned_resources]
      )
  
      res1, res2 = ray.get([av1.remote(), av2.remote()])
      assert sum(v for k, v in res1.items() if k.startswith("CPU")) == 1
      assert sum(v for k, v in res2.items() if k.startswith("CPU")) == 2
  
file_path: ray/python/ray/air/tests/execution/test_resource_manager_fixed.py
imports: import pytest
  import ray
  from ray.air.execution.resources.fixed import FixedResourceManager
  from ray.air.execution.resources.request import ResourceRequest
  from ray.util.scheduling_strategies import PlacementGroupSchedulingStrategy
label_desc: Use image node_id 4 for calling a global function with example usage: test_bind_two_bundles(ray_start_4_cpus) and returns: ray