code: def test_categorical_dtype():
      cat_dtype = dd.categorical.categorical_dtype(
          meta=a, categories=["a", "b", "c"], ordered=False
      )
      assert_eq(cat_dtype.categories, pd.Index(["a", "b", "c"]))
      assert_eq(cat_dtype.ordered, False)
  
      cat_dtype = dd.categorical.categorical_dtype(
          meta=a, categories=["a", "b", "c"]
      )
      assert_eq(cat_dtype.categories, pd.Index(["a", "b", "c"]))
      assert_eq(cat_dtype.ordered, False)
  
      cat_dtype = dd.categorical.categorical_dtype(
          meta=a, categories=[1, 100, 200], ordered=True
      )
      assert_eq(cat_dtype.categories, pd.Index([1, 100, 200]))
      assert_eq(cat_dtype.ordered, True)
  
imports: from __future__ import annotations
  import contextlib
  import operator
  import warnings
  import numpy
  import pandas
  import pytest
  import dask
  import dask.dataframe
  from dask.dataframe import _compat
  from dask.dataframe._compat import PANDAS_GE_150, PANDAS_GE_200, PANDAS_GE_210, tm
  from dask.dataframe._pyarrow import to_pyarrow_string
  from dask.dataframe.core import _concat
  from dask.dataframe.utils import assert_eq, clear_known_categories, get_string_dtype, make_meta, pyarrow_strings_enabled
label_desc: Use image node_id 4 for calling a global function with example usage: test_categorical_dtype() without return types