code: def assert_series_equal(
      left: Union[ps.Series, pd.Series],
      right: Union[ps.Series, pd.Series],
      check_dtype: bool = True,
      check_index_type: Union[bool, Literal["equiv"]] = "equiv",
      check_series_type: bool = True,
      check_names: bool = True,
      check_exact: bool = False,
      check_datetimelike_compat: bool = False,
      check_categorical: bool = True,
      check_category_order: bool = True,
      check_freq: bool = True,
      check_flags: bool = True,
      rtol: float = 1.0e-5,
      atol: float = 1.0e-8,
      obj: str = "Series",
      *,
      check_index: bool = True,
      check_like: bool = False,
  ) -> None:
      """
      Check that left and right Series are equal.
  
      .. versionadded:: 4.0.0
  
      Parameters
      ----------
      left : Series
      right : Series
      check_dtype : bool, default True
          Whether to check the Series dtype is identical.
      check_index_type : bool or {'equiv'}, default 'equiv'
          Whether to check the Index class, dtype and inferred_type
          are identical.
      check_series_type : bool, default True
           Whether to check the Series class is identical.
      check_names : bool, default True
          Whether to check the Series and Index names attribute.
      check_exact : bool, default False
          Whether to compare number exactly.
      check_datetimelike_compat : bool, default False
          Compare datetime-like which is comparable ignoring dtype.
      check_categorical : bool, default True
          Whether to compare internal Categorical exactly.
      check_category_order : bool, default True
          Whether to compare category order of internal Categoricals.
      check_freq : bool, default True
          Whether to check the `freq` attribute on a DatetimeIndex or TimedeltaIndex.
      check_flags : bool, default True
          Whether to check the `flags` attribute.
      rtol : float, default 1e-5
          Relative tolerance. Only used when check_exact is False.
      atol : float, default 1e-8
          Absolute tolerance. Only used when check_exact is False.
      obj : str, default 'Series'
          Specify object name being compared, internally used to show appropriate
          assertion message.
      check_index : bool, default True
          Whether to check index equivalence. If False, then compare only values.
      check_like : bool, default False
          If True, ignore the order of the index. Must be False if check_index is False.
          Note: same labels must be with the same data.
  
      Examples
      --------
      >>> from pyspark.pandas import testing as tm
      >>> a = ps.Series([1, 2, 3, 4])
      >>> b = ps.Series([1, 2, 3, 4])
      >>> tm.assert_series_equal(a, b)
      """
      if isinstance(left, ps.Series):
          left = left.to_pandas()
      if isinstance(right, ps.Series):
          right = right.to_pandas()
  
      pd.testing.assert_series_equal(  # type: ignore[call-arg]
          left,
          right,
          check_dtype=check_dtype,
          check_index_type=check_index_type,  # type: ignore[arg-type]
          check_series_type=check_series_type,
          check_names=check_names,
          check_exact=check_exact,
          check_datetimelike_compat=check_datetimelike_compat,
          check_categorical=check_categorical,
          check_category_order=check_category_order,
          check_freq=check_freq,
          check_flags=check_flags,
          rtol=rtol,  # type: ignore[arg-type]
          atol=atol,  # type: ignore[arg-type]
          obj=obj,
          check_index=check_index,
          check_like=check_like,
      )
  
imports: from typing import Literal, Union
  import pyspark.pandas
label_desc: Use image node_id 2 for calling a global function with example usage: assert_series_equal(left, right, check_dtype, check_index_type, check_series_type, check_names, check_exact, check_datetimelike_compat, check_categorical, check_category_order, check_freq, check_flags, rtol, atol, obj) without return types