code: def test_categorical_fill_null_stringcache() -> None:
      df = pl.LazyFrame(
          {"index": [1, 2, 3], "cat": ["a", "b", None]},
          schema={"index": pl.Int64(), "cat": pl.Categorical()},
      )
      a = df.select(pl.col("cat").fill_null("hi")).collect()
  
      assert a.to_dict(as_series=False) == {"cat": ["a", "b", "hi"]}
      assert a.dtypes == [pl.Categorical]
  
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 31 for calling a global function with example usage: test_categorical_fill_null_stringcache() without return types