code: def test_categorical_zip_with_local_different_rev_map() -> None:
      s1 = pl.Series(["cat1", "cat2", "cat1"], dtype=pl.Categorical)
      mask = pl.Series([True, False, False])
      s2 = pl.Series(["cat2", "cat2", "cat3"], dtype=pl.Categorical)
      with pytest.warns(
          CategoricalRemappingWarning,
          match="Local categoricals have different encodings",
      ):
          s3 = s1.zip_with(mask, s2)
      categories = s3.cat.get_categories()
      assert len(categories) == 3
      assert set(categories) == {"cat1", "cat2", "cat3"}
  
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 41 for calling a global function with example usage: test_categorical_zip_with_local_different_rev_map() without return types