code: def test_categorical_parquet_statistics(tmp_path: Path) -> None:
      tmp_path.mkdir(exist_ok=True)
  
      df = pl.DataFrame(
          {
              "book": [
                  "bookA",
                  "bookA",
                  "bookB",
                  "bookA",
                  "bookA",
                  "bookC",
                  "bookC",
                  "bookC",
              ],
              "transaction_id": [1, 2, 3, 4, 5, 6, 7, 8],
              "user": [
                  "bob",
                  "bob",
                  "bob",
                  "tim",
                  "lucy",
                  "lucy",
                  "lucy",
                  "lucy",
              ],
          }
      ).with_columns(pl.col("book").cast(pl.Categorical))
  
      file_path = tmp_path / "books.parquet"
      df.write_parquet(file_path, statistics=True)
  
      parallel_options: list[ParallelStrategy] = [
          "auto",
          "columns",
          "row_groups",
          "none",
      ]
      for par in parallel_options:
          df = (
              pl.scan_parquet(file_path, parallel=par)
              .filter(pl.col("book") == "bookA")
              .collect()
          )
      assert df.shape == (4, 3)
  
imports: from __future__ import annotations
  from collections import OrderedDict
  from pathlib import Path
  from typing import TYPE_CHECKING, Any
  import pandas
  import pytest
  import polars
  from polars.testing import assert_frame_equal
label_desc: Use image node_id 6 for calling a global function with example usage: test_categorical_parquet_statistics(tmp_path) without return types