
    Owg                     v    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
y)	    N)CategoricalTF)paramsc                     | j                   S )z3Boolean 'allow_fill' parameter for Categorical.take)param)requests    `/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/arrays/categorical/test_take.py
allow_fillr	      s     ==    c                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)TestTakec                     t        ddg      }t        j                  d       5  |j                  ddg      }d d d        j	                  |      sJ y # 1 sw Y   xY w)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   sY    3*%''- 	'XXq"g&F	' }}S!!!	' 	's   AAc                     t        ddg      }t        j                  d       5  |j                  ddg       d d d        y # 1 sw Y   y xY w)Nr   r   r   )r   r   r   r   )r   r   s     r   test_take_positive_no_warningz&TestTake.test_take_positive_no_warning   sC    3*%''- 	HHaV	 	 	s   A  A	c                     t        g d      }|rd}nd}t        j                  t        |      5  |j	                  ddg|       d d d        y # 1 sw Y   y xY w)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   sP    /*-CFC]]:S1 	4HHaV
H3	4 	4 	4s   AAc                     t        g ddg      }|rd}nd}t        j                  t        |      5  |j	                  dg|       d d d        y # 1 sw Y   y xY w)	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'   sT    "#s4-CAC]]:S1 	1HHaSZH0	1 	1 	1s   AAc                     t        g dddg|      }|j                  g dd      }t        g d|j                  |      }t        j                  ||       y )	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   sN    .C:wW)6
 	##FH5r
   c                     t        ddgg d|      }|j                  ddgd      }t        ddg|j                  |      }t        j                  ||       y )	Nr   r   r   r   cr/   r1   r   Fr"   r4   r6   s        r   test_positional_take_unobservedz(TestTake.test_positional_take_unobserved9   sP    3*'R1a&U3SzcnngV
##FH5r
   c                     t        g d      }|j                  g dd      }t        dt        j                  t        j                  gddg      }t	        j
                  ||       y )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?   sM    /*+$7RVVRVV4#sL
##FH5r
   c                     t        g d      }|j                  g ddd      }t        g dg d      }t        j                  ||       y )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   s<    *%*"E{zB
##FH5r
   c                     t        g d      }|j                  g ddd      }t        g dg d      }t        j                  ||       y )Nr:   r   r1   r   r   TrC   r	   r   r+   rD   r@   s       r   test_take_fill_valuezTestTake.test_take_fill_valueM   s<    /**F?K
##FH5r
   c                     t        g d      }d}t        j                  t        |      5  |j	                  g ddd       d d d        y # 1 sw Y   y xY w)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   sJ    /*J]]9C0 	BHHZCDHA	B 	B 	Bs   AAN)__name__
__module____qualname__r   r   r)   r-   r8   r<   rA   rE   rI   rN    r
   r   r   r      s5    "
4166666Br
   r   )numpyr>   r$   pandasr   pandas._testing_testingr   fixturer	   r   rR   r
   r   <module>rX      sB        e}% &
KB KBr
   