
    Owg-                        d dl m Z  d dlZd dlZd dlmZ d dlmZ d dl	m
c mZ  ej                  ej                   ej                  d      ej                  fej                   ej                  d      ej                  fej                   dej                   fej                   dej"                  fej                   dej$                  fej                   d	ej&                  fej                   d
ej&                  fej"                  dej"                  fej"                  dej"                  fej"                  dej$                  fej"                  d	ej&                  fej"                  d
ej&                  fej$                  dej$                  fej$                  dej$                  fej$                  dej$                  fej$                  d	ej&                  fej$                  d
ej&                  fej(                  dej&                  fej(                  dej&                  fej(                  dej&                  fej(                  d	ej(                  fej(                  d
ej&                  fg      d        Z G d d      Z G d d      Zy)    )datetimeN)iNaT         g       @y      @      @T )paramsc                     | j                   S )N)param)requests    M/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/test_take.pydtype_fill_out_dtyper      s    6 ==    c                   T    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 Zd Zy)TestTakec                    |\  }}}t         j                  j                  d      j                  ddd      j	                  |      }g d}t        j                  |||      }|g d   |g d   k(  j                         sJ |d   |k(  sJ |j                  |k(  sJ g d	}t        j                  |||      }|g d
   ||   k(  j                         sJ |j                  |k(  sJ y )N   r      r   r   r   )
fill_valuer   r   r   r   r   r      r   r   r   r   r   r   r   r   	nprandomdefault_rngintegersastypealgostake_ndalldtypeselfr   r&   r   	out_dtypedataindexerresults           r   test_1d_fill_nonnazTestTake.test_1d_fill_nonna+   s    ';$z9yy$$Q'00Aq9@@GtWDy!T)_499;;;ayJ&&&||y(((tWD|$W5::<<<||u$$$r   c                    |\  }}}t         j                  j                  d      j                  ddd      j	                  |      }g d}t        j                  ||d|      }|g dd d f   |g dd d f   k(  j                         sJ |dd d f   |k(  j                         sJ |j                  |k(  sJ t        j                  ||d	|      }|d d g df   |d d g df   k(  j                         sJ |d d df   |k(  j                         sJ |j                  |k(  sJ g d
}t        j                  ||d|      }|g dd d f   ||d d f   k(  j                         sJ |j                  |k(  sJ t        j                  ||d	|      }|d d g df   |d d |f   k(  j                         sJ |j                  |k(  sJ y )Nr   r      r   r   axisr   r   r   r   r   r   r   r   r'   s           r   test_2d_fill_nonnazTestTake.test_2d_fill_nonna;   s   ';$z9yy$$Q'00Av>EEeLtW1Ly!|$Y\(::??AAAq!t
*//111||y(((tW1Lq)|$Q	\(::??AAAq!t
*//111||y(((tW1L|Q'4
+;;@@BBB||u$$$tW1Lq,'47
+;;@@BBB||u$$$r   c                 `   |\  }}}t         j                  j                  d      j                  ddd      j	                  |      }g d}t        j                  ||d|      }|g dd d d d f   |g dd d d d f   k(  j                         sJ |dd d d d f   |k(  j                         sJ |j                  |k(  sJ t        j                  ||d	|      }|d d g dd d f   |d d g dd d f   k(  j                         sJ |d d dd d f   |k(  j                         sJ |j                  |k(  sJ t        j                  ||d|      }|d d d d g df   |d d d d g df   k(  j                         sJ |d d d d df   |k(  j                         sJ |j                  |k(  sJ g d
}t        j                  ||d|      }|g dd d d d f   ||d d d d f   k(  j                         sJ |j                  |k(  sJ t        j                  ||d	|      }|d d g dd d f   |d d |d d f   k(  j                         sJ |j                  |k(  sJ t        j                  ||d|      }|d d d d g df   |d d d d |f   k(  j                         sJ |j                  |k(  sJ y )Nr   r   )r0   r   r   r   r1   r   r   r   r   r   r   r   r'   s           r   test_3d_fill_nonnazTestTake.test_3d_fill_nonnaS   s   ';$z9yy$$Q'00AyAHHOtW1Ly!Q'4	1a+@@EEGGGq!Qw:-22444||y(((tW1Lq)Q'49a+@@EEGGGq!Qw:-22444||y(((tW1Lq!Y'41i+@@EEGGGq!Qw:-22444||y(((tW1L|Q)*d7Aq=.AAFFHHH||u$$$tW1Lq,)*d1gq=.AAFFHHH||u$$$tW1Lq!\)*d1a=.AAFFHHH||u$$$r   c                 B   t         j                  j                  d      j                  d      j	                  t         j
                        }g d}t        j                  ||      }|j                  |      }t         j                  |d<   t        j                  ||       y )Nr   
   r   r   r   r   r   r   r   r    standard_normalr"   float32r#   r$   takenantmassert_almost_equalr(   arrr+   r,   expecteds        r   test_1d_other_dtypeszTestTake.test_1d_other_dtypesu   sp    ii##A&66r:AA"**MsG,88G$vv
vx0r   c                    t         j                  j                  d      j                  d      j	                  t         j
                        }g d}t        j                  ||d      }|j                  |d      }t         j                  |d<   t        j                  ||       t        j                  ||d      }|j                  |d      }t         j                  |d d df<   t        j                  ||       y )Nr   )r7   r0   r8   r   r2   r   r   r9   r@   s        r   test_2d_other_dtypeszTestTake.test_2d_other_dtypes~   s    ii##A&66w?FFrzzR sG!488G!8,vv
vx0 sG!488G!8,&&B
vx0r   c                 .   t        j                  g dt              }t        j                  |g d      }|j                  g d      }t        j                  ||       t        j                  |g d      }|j                  t         j                  k(  sJ y )Nr   r   r   r&   r   r   r   r   r   r   r   
r   arrayboolr#   r$   r<   r>   assert_numpy_array_equalr&   object_r(   rA   r,   rB   s       r   test_1d_boolzTestTake.test_1d_bool   sf    hhy-sL188L)
##FH5sJ/||rzz)))r   c                    t        j                  g dg dg dgt              }t        j                  |g d      }|j                  g dd      }t        j                  ||       t        j                  |g dd      }|j                  g dd      }t        j                  ||       t        j                  |g d	      }|j                  t         j                  k(  sJ y )
NrH   )r   r   r   )r   r   r   rI   rJ   r   rE   r   rK   rL   rQ   s       r   test_2d_boolzTestTake.test_2d_bool   s    hh	9i8EsL188Lq81
##FH5sLq988Lq81
##FH5sJ/||rzz)))r   c                 
   t         j                  j                  d      j                  d      j	                  t         j
                        }g d}t        j                  ||d      }|j                  |d      }t         j                  |ddgd d f<   t        j                  ||       t        j                  ||d      }|j                  |d      }t         j                  |d d ddgf<   t        j                  ||       y )Nr   )r   r   r   r   r   r   r   r   rE   r   r   r9   r@   s        r   test_2d_float32zTestTake.test_2d_float32   s    ii##A&66v>EEbjjQ# sG!488G!8, ff!Q
vx0 sG!488G!8, ffQF
vx0r   c           
         t         j                  j                  d      j                  ddd      dz  }|j	                  d      }g d}t        j                  ||d	
      }|j                  |d	
      }t        |j	                  t         j                        ddgd d f<   t        j                  ||       t        j                  ||d	t        ddd            }|j                  |d	
      }t        ddd      |ddgd d f<   t        j                  ||       t        j                  ||d
      }|j                  |d
      }t        |j	                  t         j                        d d ddgf<   t        j                  ||       t        j                  ||dt        ddd            }|j                  |d
      }t        ddd      |d d ddgf<   t        j                  ||       y )Nr   i  iY r/   l    h] zdatetime64[ns]rI   rV   r   rE   r   i  r   r1   )r   r   r    r!   viewr#   r$   r<   r   int64r>   r?   r   r@   s        r   test_2d_datetime64zTestTake.test_2d_datetime64   s    II!!!$--j*fM 	 hh-h.# sG!488G!8,-1bhhA	*
vx0sG!qRS@TU88G!8,&tQ2!Q
vx0 sG!488G!8,-1bhhAq6	*
vx0sG!qRS@TU88G!8,&tQ2QF
vx0r   c                 x   t        j                  d      j                  dd      }t        j                  |ddg      }t        j
                  g dg dg      }t        j                  ||       t        j                  |ddgdd	      }t        j
                  g dg d
g      }t        j                  ||       y )N   r   r   r   r   r   )	   r7      T
allow_fillr   )r   r   r   )r   arangereshaper#   r<   rM   r>   rO   rQ   s       r   test_take_axis_0zTestTake.test_take_axis_0   s    iim##Aq)C!R)88Y45
##FH5 C!RTaH88Y	23
##FH5r   c                 .   t        j                  d      j                  dd      }t        j                  |ddgd      }t        j
                  ddgdd	gd
dgddgg      }t        j                  ||       t        j                  |ddgddd      }t        j
                  ddgddgd
dgddgg      }t        j                  ||       t        j                  t        d      5  t        j                  |ddgddd       d d d        y # 1 sw Y   y xY w)Nr]   r   r   r   r   r   rE   r   r0         r^   r_   T)r2   ra   r   indices are out-of-boundsmatch)r   rb   rc   r#   r<   rM   r>   rO   pytestraises
IndexErrorrQ   s       r   test_take_axis_1zTestTake.test_take_axis_1   s    iim##Aq)C!Rq188aVaVaVaW=>
##FH5 C!RqTaP88aVaVaVaV<=
##FH5 ]]:-HI 	KJJsQFtJ	K 	K 	Ks   %DDc                    t        j                  g d      }t        j                  ddg      }t        j                  t        d      5  t        j                  ||ddg       d d d        t        j                  g dt              }t        j                  ||ddg      }t        j                  d	dggt              }t        j                  ||       y # 1 sw Y   uxY w)
Nr   r   r   r   r   zfill_value must be a scalarri   Tr`   rI   r   )
r   rM   rk   rl   
ValueErrorr#   r<   objectr>   rO   r@   s        r   !test_take_non_hashable_fill_valuez*TestTake.test_take_non_hashable_fill_value   s    hhy!((Ar7#]]:-JK 	FJJsG!E	F hhy/CTqcJ88QHF3
##FH5	F 	Fs   
CC"N)__name__
__module____qualname__r-   r3   r5   rC   rF   rR   rT   rW   r[   rd   rn   rs    r   r   r   r   *   s@    % %0 %D11"**1"1>	6K
6r   r   c                   l    e Zd Zd Zd Zej                  j                  dddg      d        Zd Z	d Z
y	)
TestExtensionTakec                 b   t        j                  ddg      }d}t        j                  t        |      5  t        j                  |ddgd       d d d        d}t        j                  t        |      5  t        j                  |ddgd	       d d d        y # 1 sw Y   JxY w# 1 sw Y   y xY w)
Nr   r   rh   ri   r   Tra   z2index 2 is out of bounds for( axis 0 with)? size 2F)r   rM   rk   rl   rm   r#   r<   )r(   rA   msgs      r   test_bounds_check_largez)TestExtensionTake.test_bounds_check_large  s    hh1v)]]:S1 	5JJsQFt4	5 C]]:S1 	6JJsQFu5	6 	6		5 	5	6 	6s   B5B%B"%B.c                    t        j                  g dt         j                        }g d}d}t        j                  t
        |      5  t        j                  ||d       d d d        t        j                  ||      }t        j                  g dt         j                        }t        j                  ||       y # 1 sw Y   ]xY w)	Nrp   rI   )r   r   z7'indices' contains values less than allowed \(-2 < -1\)ri   Tr{   )r   r   r   )
r   rM   rZ   rk   rl   rq   r#   r<   r>   rO   )r(   rA   r+   r|   r,   rB   s         r   test_bounds_check_smallz)TestExtensionTake.test_bounds_check_small  s    hhy1H]]:S1 	6JJsG5	6 C)88IRXX6
##FH5	6 	6s   	B>>Cra   TFc                 b   t        j                  g t         j                        }t        j                  |g |      }t        j                  ||       dj                  ddg      }t        j                  t        |      5  t        j                  |dg|       d d d        y # 1 sw Y   y xY w)NrI   r{   |z.cannot do a non-empty take from an empty axes.rh   ri   r   )r   rM   rZ   r#   r<   r>   rO   joinrk   rl   rm   )r(   ra   rA   r,   r|   s        r   test_take_emptyz!TestExtensionTake.test_take_empty  s    hhr*C
;
##C0hh@+
 ]]:S1 	8JJsQCJ7	8 	8 	8s   B%%B.c                     t        j                  t        j                  g       ddgdd      }t        j                  ddg      }t	        j
                  ||       y )Nr   Tg        r`   )r#   r<   r   rM   r>   rO   )r(   r,   rB   s      r   test_take_na_emptyz$TestExtensionTake.test_take_na_empty(  sE    BHHRL2r(tPST88S#J'
##FH5r   c                     g d}d}t        j                  t        |      5  t        j                  |ddg      }d d d        t        j                  ddg      }t        j                  |       y # 1 sw Y   7xY w)Nrp   z0take accepting non-standard inputs is deprecatedri   r   r   )r>   assert_produces_warningFutureWarningr#   r<   r   rM   rO   )r(   rA   r|   r,   rB   s        r   test_take_coerces_listz(TestExtensionTake.test_take_coerces_list-  sg    @''SA 	-ZZaV,F	-88QF#
##FH5	- 	-s   A11A:N)rt   ru   rv   r}   r   rk   markparametrizer   r   r   rw   r   r   ry   ry      s?    	6
6 [[\D%=98 :86
6r   ry   )r   numpyr   rk   pandas._libsr   pandas._testing_testingr>   pandas.core.algorithmscore
algorithmsr#   fixtureint8int16int32float64
complex128rP   bool_r   r   ry   rw   r   r   <module>r      s        & & 	("((3-)	("((3-*	1bhh	3

#	:r}}-	4$	2rzz"	Q

#	S"**%	Z/	T2::&	R$	2==)	R]]+	
BMM2	bjj)	BJJ'	1bjj!	3

#	:rzz*	4"	2rzz"-454Q6 Q6h56 56r   