o
    ôT·j­  ã                   @   sR   d dl Zd dlZd dlmZ d dlmZ ejddgd�dd„ ƒZ	G dd	„ d	ƒZ
dS )
é    N)ÚCategoricalTF)Úparamsc                 C   s   | j S )z3Boolean 'allow_fill' parameter for Categorical.take)Úparam)Úrequest© r   úl/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/pandas/tests/arrays/categorical/test_take.pyÚ
allow_fill   s   r   c                   @   s\   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ ZdS )ÚTestTakec                 C   sV   t ddgƒ}t d ¡� | ddg¡}W d   ƒ n1 sw   Y  | |¡s)J ‚d S )NÚaÚbr   éÿÿÿÿ)r   ÚtmÚassert_produces_warningÚtakeÚequals)ÚselfÚcatÚresultr   r   r   Útest_take_default_allow_fill   s
   ÿz%TestTake.test_take_default_allow_fillc                 C   sJ   t ddgƒ}t d ¡� | ddg¡ W d   ƒ d S 1 sw   Y  d S )Nr
   r   r   )r   r   r   r   )r   r   r   r   r   Útest_take_positive_no_warning   s   "ÿz&TestTake.test_take_positive_no_warningc                 C   s`   t g d¢ƒ}|rd}nd}tjt|d�� |jddg|d� W d   ƒ d S 1 s)w   Y  d S )N©r
   r   r
   úindices are out-of-boundsz2index 4 is out of bounds for( axis 0 with)? size 3©Úmatché   é   ©r   ©r   ÚpytestÚraisesÚ
IndexErrorr   ©r   r   r   Úmsgr   r   r   Útest_take_bounds   s   "ÿzTestTake.test_take_boundsc                 C   sb   t g ddgd�}|rd}nd}tjt|d�� |jdg|d� W d   ƒ d S 1 s*w   Y  d S )	Nr
   r   ©Ú
categoriesr   z-cannot do a non-empty take from an empty axesr   r   r   r   r!   r   r   r   Útest_take_empty'   s   "ÿzTestTake.test_take_emptyc                 C   sL   t g d¢ddg|d�}|jg d¢dd�}t g d¢|j|d�}t ||¡ d S )	N)r
   r
   r   r   r   r
   ©r%   Úordered)r   é   é   Fr   ©r
   r
   r   ©r   r   r%   r   Úassert_categorical_equal©r   r(   r   r   Úexpectedr   r   r   Útest_positional_take1   s   ÿzTestTake.test_positional_takec                 C   sL   t ddgg d¢|d�}|jddgdd�}t ddg|j|d�}t ||¡ d S )	Nr
   r   ©r
   r   Úcr'   r)   r   Fr   r,   r.   r   r   r   Útest_positional_take_unobserved9   s   z(TestTake.test_positional_take_unobservedc                 C   sH   t g d¢ƒ}|jg d¢dd�}t dtjtjgddgd�}t ||¡ d S )Nr+   )r   r   r   Tr   r
   r   r$   )r   r   ÚnpÚnanr   r-   ©r   r   r   r/   r   r   r   Útest_take_allow_fill?   s   zTestTake.test_take_allow_fillc                 C   óD   t g d¢ƒ}|jg d¢ddd�}t g d¢g d¢d�}t ||¡ d S )N)r   r   r)   )r   r   r)   Tr   )r   Ú
fill_value)r   r   r   r$   ©r   r   r   r-   r6   r   r   r   Ú test_take_fill_with_negative_oneF   ó   z)TestTake.test_take_fill_with_negative_onec                 C   r8   )Nr1   ©r   r)   r   r
   T©r9   r   r   r$   r:   r6   r   r   r   Útest_take_fill_valueM   r<   zTestTake.test_take_fill_valuec                 C   sX   t g d¢ƒ}d}tjt|d�� |jg d¢ddd� W d   ƒ d S 1 s%w   Y  d S )Nr1   z9Cannot setitem on a Categorical with a new category \(d\)r   r=   ÚdTr>   )r   r   r   Ú	TypeErrorr   )r   r   Úxprr   r   r   Útest_take_fill_value_new_raisesT   s
   "ÿz(TestTake.test_take_fill_value_new_raisesN)Ú__name__Ú
__module__Ú__qualname__r   r   r#   r&   r0   r3   r7   r;   r?   rC   r   r   r   r   r	      s    

r	   )Únumpyr4   r   Úpandasr   Úpandas._testingÚ_testingr   Úfixturer   r	   r   r   r   r   Ú<module>   s    
