
    Ui                     L    d dl Z d dlZd dlmZmZ d dlmZ  G d d          ZdS )    N)assert_equalassert_array_equal)CensoredDatac                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
ej                            d	ej        ej        g          d
             Zd Zd ZdS )TestCensoredDatac                    dg}dg}ddg}ddgg}t          ||||          }t          |j        |           t          |j        |           t          |j        |           t          |j        |           |                                }t          |t          j        |||t          j	        |d          f                     d S )N   r            )leftrightinterval)axis)
r   r   _uncensored_left_right	_interval	_uncensornpconcatenatemean)self
uncensoredr   r   r   dataudatas          |/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/scipy/stats/tests/test_censored_data.py
test_basiczTestCensoredData.test_basic   s    S
sAF8JT%-/ / /T%z222TZ&&&T[%(((T^X...  UBNJe,.GH1,E,E,E,G H H 	I 	I 	I 	I 	I    c                 |   t          j        g d          }t          j        g dt                    }t          j        ||          }t          |j        ||                     t          |j        ||                    t          |j        g            t          |j	        t          j
        d                     d S 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_censoredz$TestCensoredData.test_right_censored   s    H[[[!!hyyy555*1k::T%q+777T[!K.111TZ$$$T^RXf%5%566666r   c                 |   t          j        g d          }t          j        g dt                    }t          j        ||          }t          |j        ||                     t          |j        ||                    t          |j        g            t          |j	        t          j
        d                     d S r!   )r   r%   r&   r   left_censoredr   r   r   r   r   r(   r)   s       r   test_left_censoredz#TestCensoredData.test_left_censored$   s    H[[[!!hyyy555)![99T%q+777TZ;000T["%%%T^RXf%5%566666r   c                 2   g d}g d}t          j        ||          }t          |j        t	          j        t          t          ||                                         |j        j	        dk    sJ |j
        j	        dk    sJ |j        j	        dk    sJ d S )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_basicz-TestCensoredData.test_interval_censored_basic-   s          -!!<<<4>28DQOO+D+DEEE%----z4''''{ D((((((r   c                 R   dt           j         dddddg}ddt           j        ddd	t           j        g}t          j        ||
          }t	          |j        ddgdd	gg           t	          |j        ddg           t	          |j        dg           t	          |j        ddg           d S )Nr1   g      *r2   r4   g      $@g      g     @r3   g      &@r5   )	r   infr   r9   r   r   r   r   r   r=   s       r   test_interval_censored_mixedz-TestCensoredData.test_interval_censored_mixed6   s    
 26'5#sD$7&"&#sD"&9-!!<<<4>S#Jt+EFFF4+c3Z8884:x0004;66666r   c           
      t   t          j        ddgddgddgdt           j        gdt           j        gt           j         dgddgg          }t          |          }t	          |j        ddg           t	          |j        dg           t	          |j        ddg           t	          |j        ddgddgg           d S )Nr   r	   r
   r   	      r   )	r   r%   rB   r   r   r   r   r   r   )r   r   r   s      r   test_interval_to_other_typesz-TestCensoredData.test_interval_to_other_typesC   s    
 8aVVV[[!vgq\V% & & X...T%1v...TZ!%%%T[1a&)))T^q!fq!f%566666r   c                     t          g g g g           }|j        j        dk    sJ |j        j        dk    sJ |j        j        dk    sJ |j        j        dk    sJ t          |          dk    sJ d S )N)r   r   r   r   r8   r$   r   )r   r   r<   r   r   r   len)r   r   s     r   test_empty_arraysz"TestCensoredData.test_empty_arraysU   s    r"rJJJ%----z4''''{ D((((~#v----4yyA~~~~~~r   c                    t          j        t          d          5  t          g dg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          g dg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          g dg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          g dg           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          d
t          j        dg           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          d
t          j        dg           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          d
t          j        dg           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          d
t          j        gddgg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          d
dgddgt          j        t          j        gg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          d
dgddgg           d d d            d S # 1 swxY w Y   d S )Nzmust be a one-dimensionalmatchr	   r
   r   )r   )r   )r   zmust be a two-dimensionalrG   zmust not contain nanr	   r
   r   z both values must not be infiniterE   z$left value must not exceed the rightr   )pytestraises
ValueErrorr   r   nanrB   r   s    r   test_invalid_constructor_argsz.TestCensoredData.test_invalid_constructor_args]   sv   ]:-HIII 	1 	1YYYK0000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1]:-HIII 	+ 	+yyyk****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+]:-HIII 	, 	,			{++++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,]:-HIII 	/ 	/999+....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ]:-CDDD 	4 	4QN3333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4]:-CDDD 	. 	.q"&!n----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.]:-CDDD 	/ 	/261~....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/]:-CDDD 	9 	9Arv;A"78888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 ]:!CE E E 	F 	FAq6Aq6BFBF3C"DEEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F ]:!GI I I 	4 	4Aq6Aq6"23333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   <A A "BB	B(CCC.DDD4EE"%E"F..F25F2G>>HH$!III7.J11J58J5K;;K?K?funcc                 :   t          j        t          d          5   |g dgg d           d d d            n# 1 swxY w Y   t          j        t          d          5   |g dg dg           d d d            n# 1 swxY w Y   t          j        t          d          5   |ddt          j        gg d           d d d            n# 1 swxY w Y   t          j        t          d	          5   |g dg d
           d d d            d S # 1 swxY w Y   d S )Nz`x` must be one-dimensionalrM   rO   r   r	   r	   z"`censored` must be one-dimensionalz`x` must not containr	   r
   must have the same lengthr   r   r	   r	   )rP   rQ   rR   r   rS   )r   rV   s     r   %test_invalid_left_right_censored_argsz6TestCensoredData.test_invalid_left_right_censored_argsx   sE    ]:!>@ @ @ 	) 	)D)))iii(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) ]:!EG G G 	) 	)DYYYK(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) ]:-CDDD 	, 	,D!Q+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,]:-HIII 	* 	*DLLL)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*sC   :>> A>>BB$CCC2DDDc                    t          j        t          d          5  t          j        dggddg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        dgddgg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        d	d
t
          j        gg d           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        g dg d           d d d            d S # 1 swxY w Y   d S )Nz`low` must be a one-dimensionalrM   r      r   r5   z `high` must be a one-dimensionalz`low` must not containr	   r
   rX   rY   rO   rZ   )rP   rQ   rR   r   r9   r   rS   rT   s    r   test_invalid_censored_argsz+TestCensoredData.test_invalid_censored_args   s   ]:!BD D D 	C 	C*uAq6BBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C ]:!CE E E 	C 	C*s1a&BBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C ]:-EFFF 	F 	F*Aq"&>999EEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F]:-HIII 	D 	D*999lllCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	DsG   AA
A)BBB6%C''C+.C+D44D8;D8c                     g d}t          |          }|                                dk    sJ t          dgdgddgg          }|                                dk    sJ d S )NrO   r   r"   
   r	   )r   r   r   r
   )r   num_censored)r   r*   data1data2s       r   test_count_censoredz$TestCensoredData.test_count_censored   st    IIQ!!##q((((RDQF8LLL!!##q((((((r   N)__name__
__module____qualname__r   r,   r/   r@   rC   rH   rK   rU   rP   markparametrizer   r.   r'   r[   r^   rd    r   r   r   r   	   s        I I I 7 7 77 7 7) ) )7 7 77 7 7$  4 4 46 [Vl&@&2&A&C D D
* 
*D D
*
D 
D 
D) ) ) ) )r   r   )	rP   numpyr   numpy.testingr   r   scipy.statsr   r   rj   r   r   <module>rn      s         : : : : : : : : $ $ $ $ $ $O) O) O) O) O) O) O) O) O) O)r   