code: def test_categorical_vstack_with_local_different_rev_map() -> None:
      df1 = pl.DataFrame(
          {"a": pl.Series(["a", "b", "c"], dtype=pl.Categorical)}
      )
      df2 = pl.DataFrame(
          {"a": pl.Series(["d", "e", "f"], dtype=pl.Categorical)}
      )
      with pytest.warns(
          CategoricalRemappingWarning,
          match="Local categoricals have different encodings",
      ):
          df3 = df1.vstack(df2)
      assert df3.get_column("a").cat.get_categories().to_list() == [
          "a",
          "b",
          "c",
          "d",
          "e",
          "f",
      ]
      assert df3.get_column("a").cast(pl.UInt32).to_list() == [
          0,
          1,
          2,
          3,
          4,
          5,
      ]
  
imports: from __future__ import annotations
  import contextlib
  import io
  import operator
  from typing import TYPE_CHECKING, Any, Callable, Literal
  import pytest
  import polars
  from polars import StringCache
  from polars.exceptions import CategoricalRemappingWarning, StringCacheMismatchError
  from polars.testing import assert_frame_equal, assert_series_equal
label_desc: Use image node_id 42 for calling a global function with example usage: test_categorical_vstack_with_local_different_rev_map() without return types