o
    d.                     @   s   d dl mZ d dlZd dlZd dlZd dlmZ	 e
dZejdejddd egdd	 Zejdd
d Zejddd Zejddd Zdd Zdd Zdd ZdS )    )PathN
pyreadstatz,ignore::pandas.errors.ChainedAssignmentError
path_klassc                 C   s   | S )N )pr   r   ^/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/io/test_spss.py<lambda>   s    r   c                 C   s   | |dddd}t j|dd}t jddid	gd
}t |d |d< t|| t j|dd}t jddid	gd
}t|| d S )Niodataspsslabelled-num.savTconvert_categoricalsVAR00002This is oner   )indexF      ?pd	read_spss	DataFrameCategoricaltmassert_frame_equal)r   datapathfnamedfexpectedr   r   r   test_spss_labelled_num   s   r   c                 C   s~   | dddd}t j|dd}t ddd gi}t |d |d< t|| t j|d	d}t dd
tjgi}t|| d S )Nr	   r
   r   zlabelled-num-na.savTr   r   r   Fr   )r   r   r   r   r   r   npnanr   r   r   r   r   r   r   test_spss_labelled_num_na   s   r"   c                 C   s|   | dddd}t j|dd}t ddd	gi}t |d |d< t|| t j|d
d}t dddgi}t|| d S )Nr	   r
   r   zlabelled-str.savTr   genderMaleFemaleFMFr   r!   r   r   r   test_spss_labelled_str-   s   r(   c                 C   s|   | dddd}t j|dd}t dg di}t |d |d< t|| t j|d	d}t dg d
i}t|| d S )Nr	   r
   r   umlauts.savTr   var1)   the ä umlautu   the ü umlautr+   u   the ö umlautFr   g       @r   g      @r   r!   r   r   r   test_spss_umlauts<   s   
r-   c                 C   sP   | dddd}t jtdd tj|dd W d    d S 1 s!w   Y  d S )	Nr	   r
   r   r   zusecols must be list-like.matchr   )usecols)pytestraises	TypeErrorr   r   )r   r   r   r   r   test_spss_usecolsM   s   "r4   c                    s   | dddd}t j|d|d}t jdg did	d
|dkr8tdddlm  t  fddjD t	| d S )Nr	   r
   r   r)   F)r   dtype_backendr*   r,   Int64)dtypepyarrowr   )ArrowExtensionArrayc                    s$   i | ]}| j | d dqS )T)from_pandas)array).0colr9   r   par   r   
<dictcomp>b   s    z3test_spss_umlauts_dtype_backend.<locals>.<dictcomp>)
r   r   r   r1   importorskippandas.arraysr9   columnsr   r   )r   r5   r   r   r   r>   r   test_spss_umlauts_dtype_backendU   s   
rD   c                  C   sF   d} t jt| d tjddd W d    d S 1 sw   Y  d S )NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r.   testnumpy)r5   )r1   r2   
ValueErrorr   r   )msgr   r   r   test_invalid_dtype_backendk   s
   "rI   )pathlibr   rF   r   r1   pandasr   pandas._testing_testingr   rA   r   markfilterwarningsparametrizer   r"   r(   r-   r4   rD   rI   r   r   r   r   <module>   s$    







