
    Eg                         d dl Zd dlZd dlmZ d dlmZ  ej        ddg          d             Z	 G d d          Z
dS )	    N)CategoricalTF)paramsc                     | j         S )z3Boolean 'allow_fill' parameter for Categorical.take)param)requests    ^/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/arrays/categorical/test_take.py
allow_fillr	      s     =    c                   J    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZdS )TestTakec                     t          ddg          }t          j        d           5  |                    ddg          }d d d            n# 1 swxY w Y   |                    |          sJ d S )Nabr   )r   tmassert_produces_warningtakeequals)selfcatresults      r   test_take_default_allow_fillz%TestTake.test_take_default_allow_fill   s    3*%%'-- 	' 	'XXq"g&&F	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' }}S!!!!!!!s   A

AAc                     t          ddg          }t          j        d           5  |                    ddg           d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r   r   r   r   )r   r   s     r   test_take_positive_no_warningz&TestTake.test_take_positive_no_warning   s    3*%%'-- 	 	HHaV	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                     t          g d          }|rd}nd}t          j        t          |          5  |                    ddg|           d d d            d S # 1 swxY 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   msgs       r   test_take_boundszTestTake.test_take_bounds   s    ///** 	G-CCFC]:S111 	4 	4HHaV
H333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   AA"Ac                     t          g ddg          }|rd}nd}t          j        t          |          5  |                    dg|           d d d            d S # 1 swxY w Y   d S )	Nr   r   
categoriesr   z-cannot do a non-empty take from an empty axesr   r   r"   r#   r'   s       r   test_take_emptyzTestTake.test_take_empty'   s    "#s444 	B-CCAC]:S111 	1 	1HHaSZH000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   AA #A c                     t          g dddg|          }|                    g dd          }t          g d|j        |          }t          j        ||           d S )	N)r   r   r   r   r   r   r,   ordered)r         Fr"   r   r   r   r   r   r,   r   assert_categorical_equalr   r0   r   r   expecteds        r   test_positional_takezTestTake.test_positional_take1   sv    ...C:wWWW)))66OO
 
 
 	#FH55555r
   c                     t          ddgg d|          }|                    ddgd          }t          ddg|j        |          }t          j        ||           d S )	Nr   r   r   r   cr/   r1   r   Fr"   r4   r6   s        r   test_positional_take_unobservedz(TestTake.test_positional_take_unobserved9   sj    3*'RRR1a&U33SzcngVVV
#FH55555r
   c                     t          g d          }|                    g dd          }t          dt          j        t          j        gddg          }t	          j        ||           d S )Nr3   )r   r   r   Tr"   r   r   r+   )r   r   npnanr   r5   r   r   r   r7   s       r   test_take_allow_fillzTestTake.test_take_allow_fill?   sf    ///**+++$77RVRV4#sLLL
#FH55555r
   c                     t          g d          }|                    g ddd          }t          g dg d          }t          j        ||           d S )N)r   r   r1   )r   r   r1   Tr   )r	   
fill_value)r   r   r   r+   r   r   r   r5   r@   s       r    test_take_fill_with_negative_onez)TestTake.test_take_fill_with_negative_oneF   sa    ***%%***"EE{{{zzzBBB
#FH55555r
   c                     t          g d          }|                    g ddd          }t          g dg d          }t          j        ||           d S )Nr:   r   r1   r   r   TrC   r	   r   r+   rD   r@   s       r   test_take_fill_valuezTestTake.test_take_fill_valueM   sa    ///*****FF???KKK
#FH55555r
   c                     t          g d          }d}t          j        t          |          5  |                    g ddd           d d d            d S # 1 swxY w Y   d S )Nr:   z9Cannot setitem on a Categorical with a new category \(d\)r   rG   dTrH   )r   r$   r%   	TypeErrorr   )r   r   xprs      r   test_take_fill_value_new_raisesz(TestTake.test_take_fill_value_new_raisesT   s    ///**J]9C000 	B 	BHHZZZCDHAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	Bs   AAAN)__name__
__module____qualname__r   r   r)   r-   r8   r<   rA   rE   rI   rN    r
   r   r   r      s        " " "  
4 4 41 1 16 6 66 6 66 6 66 6 66 6 6B B B B Br
   r   )numpyr>   r$   pandasr   pandas._testing_testingr   fixturer	   r   rR   r
   r   <module>rX      s                     e}%%%  &%
KB KB KB KB KB KB KB KB KB KBr
   