code: def test_collect_model_ids(self):
      multiplexer = _ModelMultiplexWrapper(
          None, None, max_num_models_per_replica=1
      )
      multiplexer.models = {"1": "1", "2": "2"}
      assert sorted(
          multiplexer._get_loading_and_loaded_model_ids()
      ) == ["1", "2"]
      multiplexer._model_load_tasks = {"3"}
      assert sorted(
          multiplexer._get_loading_and_loaded_model_ids()
      ) == [
          "1",
          "2",
          "3",
      ]
  
imports: import asyncio
  import os
  from typing import List
  import pytest
  import requests
  import ray
  from ray import serve
  from ray._private.test_utils import SignalActor, wait_for_condition
  from ray._private.utils import get_or_create_event_loop
  from ray.serve._private.constants import SERVE_MULTIPLEXED_MODEL_ID
  from ray.serve.context import _get_internal_replica_context
  from ray.serve.handle import RayServeHandle
  from ray.serve.multiplex import _ModelMultiplexWrapper
label_desc: Use image node_id 3 for calling the TestMultiplexWrapper obj's underlying member method code with example usage: obj.test_collect_model_ids() without return types