code: def test_read_excel_multi_sheets(
      read_spreadsheet: Callable[..., dict[str, pl.DataFrame]],
      source: str,
      params: dict[str, str],
      request: pytest.FixtureRequest,
  ) -> None:
      spreadsheet_path = request.getfixturevalue(source)
      frames_by_id = read_spreadsheet(
          spreadsheet_path,
          sheet_id=[2, 1],
          sheet_name=None,
          **params,
      )
      frames_by_name = read_spreadsheet(
          spreadsheet_path,
          sheet_id=None,
          sheet_name=["test2", "test1"],
          **params,
      )
      for frames in (frames_by_id, frames_by_name):
          assert list(frames_by_name) == ["test2", "test1"]
  
          expected1 = pl.DataFrame({"hello": ["Row 1", "Row 2"]})
          expected2 = pl.DataFrame({"world": ["Row 3", "Row 4"]})
  
          assert_frame_equal(frames["test1"], expected1)
          assert_frame_equal(frames["test2"], expected2)
  
imports: from __future__ import annotations
  import warnings
  from collections import OrderedDict
  from datetime import date, datetime
  from io import BytesIO
  from typing import TYPE_CHECKING, Any, Callable, Literal
  import pytest
  import polars
  import polars.selectors
  from polars.exceptions import NoDataError, ParameterCollisionError
  from polars.testing import assert_frame_equal
label_desc: Use image node_id 8 for calling a global function with example usage: test_read_excel_multi_sheets(read_spreadsheet, source, params, request) without return types