code: def test_compare_categorical_single_non_existent(
      op: Callable[[pl.Series, pl.Series], pl.Series],
      expected: pl.Series,
  ) -> None:
      s = pl.Series(
          [None, "a", "b", "c", "b", "a"], dtype=pl.Categorical
      )
      s2 = "d"
      assert_series_equal(op(s, s2), expected)  # type: ignore[arg-type]
      s_cat = pl.Series(["d"], dtype=pl.Categorical)
      assert_series_equal(op(s, s_cat), expected)
      assert_series_equal(op(s, s_cat.cast(pl.String)), expected)
  
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 14 for calling a global function with example usage: test_compare_categorical_single_non_existent(op, expected) without return types