
    -i                     D    S SK r S SKrS SKJrJr  S SKJr   " S S5      rg)    N)assert_equalassert_array_equal)CensoredDatac                       \ rS rSrS rS rS rS rS rS r	S r
S	 r\R                  R                  S
\R                   \R"                  /5      S 5       rS rS rSrg)TestCensoredData	   c                 t   S/nS/nSS/nSS//n[        XUUS9n[        UR                  U5        [        UR                  U5        [        UR                  U5        [        UR
                  U5        UR                  5       n[        U[        R                  " XU[        R                  " USS945      5        g )N   r            )leftrightinterval)axis)
r   r   _uncensored_left_right	_interval	_uncensornpconcatenatemean)self
uncensoredr   r   r   dataudatas          W/var/www/html/venv/lib/python3.13/site-packages/scipy/stats/tests/test_censored_data.py
test_basicTestCensoredData.test_basic   s    S
sAF8J%-/T%%z2TZZ&T[[%(T^^X. UBNNJe,.GGH1,E,G H 	I    c                 x   [         R                  " / SQ5      n[         R                  " / SQ[        S9n[        R                  " X5      n[        UR                  X)    5        [        UR                  X   5        [        UR                  / 5        [        UR                  [         R                  " S5      5        g N)r   r         @)r   r
   r   )dtyper   r   )r   arrayboolr   right_censoredr   r   r   r   r   emptyr   xis_censoredr   s       r   test_right_censored$TestCensoredData.test_right_censored   sy    HH[!hhy5**1:T%%q7T[[!.1TZZ$T^^RXXf%56r!   c                 x   [         R                  " / SQ5      n[         R                  " / SQ[        S9n[        R                  " X5      n[        UR                  X)    5        [        UR                  X   5        [        UR                  / 5        [        UR                  [         R                  " S5      5        g r#   )r   r'   r(   r   left_censoredr   r   r   r   r   r*   r+   s       r   test_left_censored#TestCensoredData.test_left_censored$   sy    HH[!hhy5))!9T%%q7TZZ0T[["%T^^RXXf%56r!   c                 \   / SQn/ SQn[         R                  " XS9n[        UR                  [        R
                  " [        [        X5      5      5      5        UR                  R                  S:X  d   eUR                  R                  S:X  d   eUR                  R                  S:X  d   eg )N)      ?       @      @g      @)      ?r$   g      @g      @lowhighr   )r   interval_censoredr   r   r   r'   listzipr   shaper   r   r   abr   s       r   test_interval_censored_basic-TestCensoredData.test_interval_censored_basic-   s      --!<4>>288DQO+DE%%---zz4'''{{  D(((r!   c                 l   S[         R                  * SSSSS/nSS[         R                  SSS	[         R                  /n[        R                  " XS
9n[	        UR
                  SS/SS	//5        [	        UR                  SS/5        [	        UR                  S/5        [	        UR                  SS/5        g )Nr5   g      *r6   r8   g      $@g      g     @r7   g      &@r9   )	r   infr   r=   r   r   r   r   r   rA   s       r   test_interval_censored_mixed-TestCensoredData.test_interval_censored_mixed6   s    
 266'5#sD$7&"&&#sD"&&9--!<4>>S#Jt+EF4++c3Z84::x04;;6r!   c           
         [         R                  " SS/SS/SS/S[         R                  /S[         R                  /[         R                  * S/SS//5      n[        US9n[	        UR
                  SS/5        [	        UR                  S/5        [	        UR                  SS/5        [	        UR                  SS/SS//5        g )Nr   r
   r   r   r      r   )	r   r'   rG   r   r   r   r   r   r   )r   r   r   s      r   test_interval_to_other_types-TestCensoredData.test_interval_to_other_typesC   s    
 88aVVV[[!vvgq\V% & X.T%%1v.TZZ!%T[[1a&)T^^q!fq!f%56r!   c                    [        / / / / S9nUR                  R                  S:X  d   eUR                  R                  S:X  d   eUR                  R                  S:X  d   eUR
                  R                  S:X  d   e[        U5      S:X  d   eg )N)r   r   r   r   r<   r&   r   )r   r   r@   r   r   r   len)r   r   s     r   test_empty_arrays"TestCensoredData.test_empty_arraysU   s    r"rJ%%---zz4'''{{  D(((~~##v---4yA~~r!   c                    [         R                  " [        SS9   [        / SQ/S9  S S S 5        [         R                  " [        SS9   [        / SQ/S9  S S S 5        [         R                  " [        SS9   [        / SQ/S9  S S S 5        [         R                  " [        SS9   [        / SQ/S9  S S S 5        [         R                  " [        S	S9   [        S
[        R
                  S/S9  S S S 5        [         R                  " [        S	S9   [        S
[        R
                  S/S9  S S S 5        [         R                  " [        S	S9   [        S
[        R
                  S/S9  S S S 5        [         R                  " [        S	S9   [        S
[        R
                  /SS//S9  S S S 5        [         R                  " [        SS9   [        S
S/SS/[        R                  [        R                  //S9  S S S 5        [         R                  " [        SS9   [        S
S/SS//S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNf= f! , (       d  f       GN<= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nzmust be a one-dimensionalmatchr
   r   r   )r   )r   )r   zmust be a two-dimensionalrL   zmust not contain nanr
   r   r   z both values must not be infiniter   z$left value must not exceed the rightr   )pytestraises
ValueErrorr   r   nanrG   r   s    r   test_invalid_constructor_args.TestCensoredData.test_invalid_constructor_args]   s   ]]:-HIYK0 J]]:-HIyk* J]]:-HI	{+ J]]:-HI9+. J ]]:-CDQN3 E]]:-CDq"&&!n- E]]:-CD2661~. E]]:-CDArvv;A"78 E ]]:!CEAq6Aq6BFFBFF3C"DEE ]]:!GIAq6Aq6"23I I- JIIIIIII EDDDDDDDE EI Isw   H.I 6I$I$I6J
JJ,/J>K.
H= 
I
I!$
I36
J
J
J),
J;>
K
Kfuncc                 &   [         R                  " [        SS9   U" / SQ// SQ5        S S S 5        [         R                  " [        SS9   U" / SQ/ SQ/5        S S S 5        [         R                  " [        SS9   U" SS[        R                  // SQ5        S S S 5        [         R                  " [        S	S9   U" / SQ/ S
Q5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N`= f! , (       d  f       g = f)Nz`x` must be one-dimensionalrT   rV   r   r
   r
   z"`censored` must be one-dimensionalz`x` must not containr
   r   must have the same lengthr   r   r
   r
   )rW   rX   rY   r   rZ   )r   r^   s     r   %test_invalid_left_right_censored_args6TestCensoredData.test_invalid_left_right_censored_argsx   s     ]]:!>@)i(@ ]]:!EGYK(G ]]:-CD!Q+ E]]:-HIL) JI@ @G G EDIIs/   C
C :C18D
C 
C.1
C?
Dc                    [         R                  " [        SS9   [        R                  " S//SS/S9  S S S 5        [         R                  " [        SS9   [        R                  " S/SS//S9  S S S 5        [         R                  " [        SS9   [        R                  " S	S
[
        R                  // SQ5        S S S 5        [         R                  " [        SS9   [        R                  " / SQ/ SQ5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nn= f! , (       d  f       g = f)Nz`low` must be a one-dimensionalrT   r      r   r9   z `high` must be a one-dimensionalz`low` must not containr
   r   r`   ra   rV   rb   )rW   rX   rY   r   r=   r   rZ   r[   s    r   test_invalid_censored_args+TestCensoredData.test_invalid_censored_args   s    ]]:!BD**uAq6BD ]]:!CE**s1a&BE ]]:-EF**Aq"&&>9E G]]:-HI**9lC JID DE E GFIIs/   DD+D#D4
D
D #
D14
Ec                     / SQn[        U5      nUR                  5       S:X  d   e[        S/S/SS//S9nUR                  5       S:X  d   eg )NrV   r   r$   
   r
   )r   r   r   r   )r   num_censored)r   r,   data1data2s       r   test_count_censored$TestCensoredData.test_count_censored   sV    Q!!#q(((RDQF8L!!#q(((r!    N)__name__
__module____qualname____firstlineno__r   r.   r2   rD   rH   rM   rQ   r\   rW   markparametrizer   r1   r)   rc   rg   rn   __static_attributes__rp   r!   r   r   r   	   st    I 77)77$46 [[Vl&@&@&2&A&A&C D
*D
*
D)r!   r   )	rW   numpyr   numpy.testingr   r   scipy.statsr   r   rp   r!   r   <module>r{      s      : $O) O)r!   