
    Q3j
                     f   d Z ddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZ ej                  j                  dg d      d        Zej                  j                  dg d      d	        Zd
 Zd Zej                  j                  dded   d   fded   d   fded   d   fg      d        Zd Zd Zy)z(Tests for dataframe detection functions.    N)dependent_packages)is_df_or_seriesis_pandas_dfis_polars_df)_convert_containerconstructor_name)pyarrowpandaspolarsc                     t        g dg dg|       }t        |      sJ t        t        j                  g d            rJ y )N            r      r   r   r   )r   r   npasarrayr   dfs     O/DATA/.local/lib/python3.12/site-packages/sklearn/utils/tests/test_dataframe.pytest_is_df_or_seriesr      s<    	Y	24D	EB2rzz)45555    c                 f    t        g dg dg|       }| dv rt        |      rJ y t        |      sJ y )Nr   r   )r	   r   )r   r   r   s     r   !test_is_pandas_df_other_librariesr      s<    	Y	24D	EB00####Br   c                      t        j                  d      } | j                  g dg      }t        |      sJ t        t	        j
                  g d            rJ t        d      rJ y)z8Check behavior of is_pandas_df when pandas is installed.r
   r   r   N)pytestimportorskip	DataFramer   r   r   )pdr   s     r   test_is_pandas_dfr#      sV    			X	&B	yk	"BBJJy1222Ar   c                 b    t        t        j                  g d            rJ t        d      rJ y)z0Check is_pandas_df when pandas is not installed.r   r   N)r   r   r   )hide_available_pandass    r   &test_is_pandas_df_pandas_not_installedr&   %   s*     BJJy1222Ar   zconstructor_name, minversionr	   r
   r   c                 j    t        g dg dg| |      }| dv rt        |      rJ y t        |      sJ y )Nr   r   )
minversion)r	   r
   )r   r   )r   r(   r   s      r   !test_is_polars_df_other_librariesr)   ,   sF     
	I
B
 00####Br   c                  @     G d d      }  |        }t        |      rJ y)z@Check is_polars_df for object that looks like a polars dataframec                       e Zd Zd Zy)Ntest_is_polars_df_for_duck_typed_polars_dataframe.<locals>.NotAPolarsDataFramec                 $    g d| _         d| _        y )Nr   	my_schemacolumnsschemaselfs    r   __init__zWtest_is_polars_df_for_duck_typed_polars_dataframe.<locals>.NotAPolarsDataFrame.__init__D   s    $DL%DKr   N__name__
__module____qualname__r4    r   r   NotAPolarsDataFramer,   C   s    	&r   r:   Nr   )r:   not_a_polars_dfs     r   1test_is_polars_df_for_duck_typed_polars_dataframer=   @   s'    & &
 *+OO,,,,r   c                  <     G d d      } t         |              rJ y)z?Check that is_polars_df return False for non-dataframe objects.c                       e Zd Zd Zy)*test_is_polars_df.<locals>.LooksLikePolarsc                 (    ddg| _         ddg| _        y )Nabr/   r2   s    r   r4   z3test_is_polars_df.<locals>.LooksLikePolars.__init__P   s    :DL*DKr   Nr5   r9   r   r   LooksLikePolarsr@   O   s    	%r   rD   Nr;   )rD   s    r   test_is_polars_dfrE   L   s"    % %
 O-....r   )__doc__numpyr   r   sklearn._min_dependenciesr   sklearn.utils._dataframer   r   r   sklearn.utils._testingr   markparametrizer   r   r#   r&   r)   r=   rE   r9   r   r   <module>rM      s    .   8 P P 5 +-LM6 N6 +-LM  N  "	&y1!45	%h/23	%h/23	 	 	-/r   