
    Mh%                     t    S SK rS SKrS SKJrJrJrJr  S SKJ	r	   " S S5      r
 " S S5      r " S S	5      rg)
    N)NaTSparseDtype	Timestampisna)SparseArrayc            	       ,   \ rS rSr\R
                  R                  S/ SQSS4/ SQSS4/ S	QS
S4/5      S 5       r\R
                  R                  S/ SQSS4/ SQSS4/ S	QS
S4/5      S 5       r\R
                  R                  S/ SQSS4/ SQSS4/ SQSS4/5      S 5       r	\R
                  R                  S/ SQSS4/ SQSS4/ SQSS4/5      S 5       r
S r\R
                  R                  S\R                  " SS\R                  S/5      \R                  " / SQ5      /5      \R
                  R                  SSS\R                  /5      \R
                  R                  SSS\R                  4/5      S 5       5       5       rS rS rS rS  rS!rg")#TestReductions   zdata,pos,neg)TTTTF)      r   r   r   )      ?       @r   r           c                    [        U5      R                  5       nU(       d   e[        XS9R                  5       nU(       d   eX1S'   [        U5      R                  5       nU(       a   e[        XS9R                  5       nU(       a   eg N
fill_valuer   )r   allselfdataposnegouts        \/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/sparse/test_reductions.pytest_allTestReductions.test_all   u     $##%
s$/335
sQ$##%w$/335w3    c                    [         R                  " [        U5      5      nU(       d   e[         R                  " [        XS95      nU(       d   eX1S'   [         R                  " [        U5      5      nU(       a   e[         R                  " [        XS95      nU(       a   eSn[        R                  " [
        US9   [         R                  " [        U5      [         R                  " / 5      S9  S S S 5        g ! , (       d  f       g = fNr   r   $the 'out' parameter is not supportedmatchr   )npr   r   pytestraises
ValueErrorarrayr   r   r   r   r   msgs         r   test_numpy_allTestReductions.test_numpy_all%   s     ff[&'
sff[67
sQff[&'wff[67w 5]]:S1FF;t$"((2,7 211s   <3C88
D)FTF)r   r   r   r   )r   r   r   r   c                    [        U5      R                  5       nU(       d   e[        XS9R                  5       nU(       d   eX1S'   [        U5      R                  5       nU(       a   e[        XS9R                  5       nU(       a   eg r   )r   anyr   s        r   test_anyTestReductions.test_anyA   r   r   c                    [         R                  " [        U5      5      nU(       d   e[         R                  " [        XS95      nU(       d   eX1S'   [         R                  " [        U5      5      nU(       a   e[         R                  " [        XS95      nU(       a   eSn[        R                  " [
        US9   [         R                  " [        U5      US9  S S S 5        g ! , (       d  f       g = fr!   )r&   r0   r   r'   r(   r)   r+   s         r   test_numpy_anyTestReductions.test_numpy_anyX   s     ff[&'
sff[67
sQff[&'wff[67w4]]:S1FF;t$#. 211s   <C$$
C2c                 Z   [         R                  " S5      R                  [        5      n[	        U5      R                  5       nUS:X  d   e[         R                  US'   [	        USS9R                  5       nUS:X  d   e[	        U[         R                  S9R                  5       nUS:X  d   eg )N
        F@   r   r         D@)r&   arangeastypefloatr   sumnanr   r   r   s      r   test_sumTestReductions.test_sums   s    yy}##E*$##%d{{&&Q$1-113d{{$2662668d{{r   arr)r   r   r   r   zmin_count, expected)   r      c                     [        XS9nUR                  US9n[        R                  " U5      (       a  [        R                  " U5      (       d   eg Xd:X  d   eg )Nr   	min_count)r   r>   r&   isnan)r   rC   r   rH   expectedsparrayresults          r   test_sum_min_count!TestReductions.test_sum_min_count   sN     c9y188H88F####%%%r   c                     [        SS/S-  [        R                  SS9nUR                  SS9nUS:X  d   eUR                  SS9n[	        U5      (       d   eg )NFTr9   )dtyper   r   rG      )r   r&   bool_r>   r   )r   	spar_boolress      r   test_bool_sum_min_count&TestReductions.test_bool_sum_min_count   sV     1dS	mmam(axxmmbm)Cyyyr   c                    [         R                  " S5      R                  [        5      n[         R                  " [        U5      5      nUS:X  d   e[         R                  US'   [         R                  " [        USS95      nUS:X  d   e[         R                  " [        U[         R                  S95      nUS:X  d   eSn[        R                  " [        US9   [         R                  " [        U5      [         R                  S	9  S S S 5        S
n[        R                  " [        US9   [         R                  " [        U5      US9  S S S 5        g ! , (       d  f       NQ= f! , (       d  f       g = f)Nr7   r8   r9   r   r   r:   &the 'dtype' parameter is not supportedr#   rP   r"   r%   )r&   r;   r<   r=   r>   r   r?   r'   r(   r)   int64r   r   r   r,   s       r   test_numpy_sumTestReductions.test_numpy_sum   s    yy}##E*ff[&'d{{&&Qff[!45d{{ff["&&9:d{{6]]:S1FF;t$BHH5 2 5]]:S1FF;t$#. 21	 21 21s   -E)E"
E"
E0c                     [         R                  " S5      R                  [        5      n[	        U5      R                  5       nUS:X  d   e[         R                  US'   [	        U5      R                  5       nUS:X  d   eg )Nr7         @r9   rq@)r&   r;   r<   r=   r   meanr?   r@   s      r   	test_meanTestReductions.test_mean   se    yy}##E*$$$&czz&&Q$$$&hr   c                    [         R                  " S5      R                  [        5      n[         R                  " [        U5      5      nUS:X  d   e[         R                  US'   [         R                  " [        U5      5      nUS:X  d   eSn[        R                  " [        US9   [         R                  " [        U5      [         R                  S9  S S S 5        Sn[        R                  " [        US9   [         R                  " [        U5      US	9  S S S 5        g ! , (       d  f       NQ= f! , (       d  f       g = f)
Nr7   r_   r9   r`   rX   r#   rY   r"   r%   )r&   r;   r<   r=   ra   r   r?   r'   r(   r)   rZ   r[   s       r   test_numpy_meanTestReductions.test_numpy_mean   s    yy}##E*ggk$'(czz&&Qggk$'(h6]]:S1GGK%RXX6 2 5]]:S1GGK%3/ 21	 21 21s   &-D6D/
D,/
D= N)__name__
__module____qualname____firstlineno__r'   markparametrizer   r-   r1   r4   rA   r&   r*   r?   rM   rU   r\   rb   re   __static_attributes__rg   r   r   r	   r	      s   [[u-1c3'	
 [[u-1c3'	
88( [[!4/1c3'	
 [[!4/1c3'	
//&
 [[	1a#	$bhhy&9: [[\Aq"&&>:[[2Va[4IJ& K ;	&/(0r   r	   c                      \ rS rSr\R
                  R                  S\R                  " S5      S/S/4\R                  " S5      * S/S/4\R                  " SSS\R                  S/5      S/S/4\R                  " \R                  /S	-  5      \R                  /\R                  /4\R                  " / 5      \R                  /\R                  /4/5      S
 5       r\R
                  R                  SSS/5      S 5       rS r\R
                  R                  SSS/5      \R
                  R                  S\R                  " / 5      \R                  " \R                  \R                  /5      /5      \R
                  R                  S\" \R                  \R                  5      \R                  4\" \R                  S5      \R                  4\" S\5      \4\" S\" S5      5      \4/5      S 5       5       5       rSrg)
TestMinMax   z"raw_data,max_expected,min_expectedg      @rE   r   r   r   r9   c                    [        U5      nUR                  5       nUR                  5       nXR;   d   eXc;   d   eUR                  SS9nUR                  SS9n[        R                  " U5      R                  5       (       a;  [        R                  " U5      (       d   e[        R                  " U5      (       d   eg XR;   d   eXc;   d   eg )NFskipna)r   maxminr&   rI   r0   )r   raw_datamax_expectedmin_expectedrC   
max_result
min_results          r   test_nan_fill_valueTestMinMax.test_nan_fill_value   s     (#WWY
WWY
))))))WWEW*
WWEW*
88H!!##88J''''88J''''------r   z$fill_value,max_expected,min_expected)d   r   r   )r   r   c                     [        [        R                  " USS/5      [        SU5      S9nUR	                  5       nXR:X  d   eUR                  5       nXc:X  d   eg )Nr   r   intrY   )r   r&   r*   r   rv   rw   )r   r   ry   rz   rC   r{   r|   s          r   test_fill_valueTestMinMax.test_fill_value   sZ     HHj!Q'(E:0N
 WWY
)))WWY
)))r   c                 >   Sn[        [        R                  " XU/5      [        SU5      S9n[	        UR
                  5      S:X  d   eUR                  5       U:X  d   eUR                  5       U:X  d   eUR                  SS9U:X  d   eUR                  SS9U:X  d   eg )Nr   r   rY   r   Frt   )r   r&   r*   r   len_valid_sp_valuesrv   rw   )r   fvrC   s      r   test_only_fill_valueTestMinMax.test_only_fill_value   s    "((BB<0E28NO3''(A---wwyBwwyBwwew$***wwew$***r   funcrw   rv   r   zdtype,expectedzdatetime64[ns]z
2018-05-05c                     [        X#S9n[        XQ5      " 5       nU[        L a(  U[        L d  [        R                  " U5      (       d   eg g [        R
                  " U5      (       d   eg )NrY   )r   getattrr   r&   isnatrI   )r   r   r   rP   rJ   rC   rL   s          r    test_na_value_if_no_valid_values+TestMinMax.test_na_value_if_no_valid_values   sW     $,#%s?S=BHHV$4$444$4=88F####r   rg   N)rh   ri   rj   rk   r'   rl   rm   r&   r;   r*   r?   r}   r   r   r   float64r   r   r   rn   rg   r   r   rp   rp      s   [[,YYs^aS1#&iin_qcB4(XXq!Q*+aS1#6XXrvvhl#bffXx8XXb\BFF8bffX.	
	.	.  [[.	
**+ [[VeU^4[[VbhhrlBHHbffbff=M4N%OP[[RVV,bff5S)2662)3/5)9\+BCSI		
$ Q 5$r   rp   c                      \ rS rSr\R
                  R                  S\" / SQ5      SS4\" / SQ5      SS4\" \R                  SSS\R                  S/5      SS	4\" \R                  SSS\R                  S/5      S	S4\" \R                  SSS\R                  S/SS
9S	S4\" \R                  SSS\R                  S/SS
9S	S4\" \R                  SSS\R                  S/SS
9S	S4\" \R                  SSS\R                  S/SS
9S	S4\" \R                  SSS\R                  S/SS
9S	S4\" S/S-  S/-   SS
9SS4\" S/S-  S/-   SS
9SS4\" S/S-  S/-   SS
9SS4\" S/S/S-  -   SS
9SS4\" S/S/S-  -   SS
9SS4\" S/S/S-  -   SS
9SS4\" S/S/S-  -   SS
9SS4/5      S 5       r
\R
                  R                  S\" / 5      S4\" / 5      S4/5      S 5       rSrg)TestArgmaxArgmini  z#arr,argmax_expected,argmin_expected)r   r   r   r   r   r   r   )r   r   r   r   r   r9   r   rD   r7   c                 `    UR                  5       nUR                  5       nXB:X  d   eXS:X  d   eg )N)argmaxargmin)r   rC   argmax_expectedargmin_expectedargmax_resultargmin_results         r   test_argmax_argmin#TestArgmaxArgmin.test_argmax_argmin  s2    , 



//////r   z
arr,methodr   r   c                     SU S3n[         R                  " [        US9   US:X  a  UR                  5       OUR	                  5         S S S 5        g ! , (       d  f       g = f)Nzattempt to get z of an empty sequencer#   r   )r'   r(   r)   r   r   )r   rC   methodr,   s       r   test_empty_array!TestArgmaxArgmin.test_empty_array+  sF    
  x'<=]]:S1"h.CJJLCJJL 211s   'A
Arg   N)rh   ri   rj   rk   r'   rl   rm   r   r&   r?   r   r   rn   rg   r   r   r   r     s]   [[-)1a0,-q!4"&&!Q266267A>"&&!Q2661561="&&!Q26615"Eq!L"&&!Q26615!DaK"&&!Q26615!DaK"&&!Q26615!DaK"&&!Q26615!DaK!rRDQ7B?!rRDR8!R@!rRDQ7B?"bQ7A>!sRxA61="bR8!Q?!sRxA61=!	
*0+*0 [[
b/8	${2&ABA	Ar   r   )numpyr&   r'   pandasr   r   r   r   pandas.core.arrays.sparser   r	   rp   r   rg   r   r   <module>r      s@       2t0 t0nH$ H$V#A #Ar   