U
    Hvf?                     @   s   d dl Z d dlZd dlmZmZ d dlmZ e j	dddd dd dej
fd	d
d dejfgdd Zdd Zdd Zdd Zdd Zdd Zdd Ze j	dddddgdd Zd d! ZdS )"    N)assert_allcloseassert_equal)relative_riskzGexposed_cases, exposed_total, control_cases, control_total, expected_rr)            gUUUUUU?)r   
         r   r	   r   r
      c                 C   s"   t | |||}t|j |dd d S )NgvIh%<=Zrtol)r   r   )exposed_casesexposed_totalcontrol_casescontrol_totalZexpected_rrresult r   H/tmp/pip-unpacked-wheel-96ln3f52/scipy/stats/tests/test_relative_risk.pytest_relative_risk
   s
    	 r   c                  C   sF   t ddddd} | j }| jdd}t|d t|j|jfd	d
d d S )N            r   r   r   r   gffffff?)Zconfidence_levelgUUUUUU?)g?ge[@gƠ>r   )r   confidence_intervalr   lowhighr   rrcir   r   r   &test_relative_risk_confidence_interval   s     
r!   c                  C   sH   t ddddd} | j }t|ddd | d	}t|j|jfd
dd d S )Nr      r
      r          @g+=r   r   )r$   r$   g-q=)r   r   r   r   r   r   r   r   r    test_relative_risk_ci_conflevel0-   s     
r%   c                  C   s6   t ddddd} | d}t|j|jfdtjf d S )Nr   r"   r
   r#   r   r   r   )r   r   r   r   r   npinfr   r    r   r   r    test_relative_risk_ci_conflevel16   s     
r)   c                  C   sD   t ddddd} t| j tj |  }t|j|jftjtjf d S )Nr   r"   r#   r   )r   r   r&   nanr   r   r   r(   r   r   r   #test_relative_risk_ci_edge_cases_00=   s     r+   c                  C   s@   t ddddd} t| j d |  }t|j|jfdtjf d S )Nr   r"   r   r#   r   g        )r   r   r   r   r   r&   r*   r(   r   r   r   #test_relative_risk_ci_edge_cases_01E   s     r,   c                  C   sD   t ddddd} t| j tj |  }t|j|jftjtjf d S )Nr   r"   r   r#   r   )r   r   r&   r'   r   r   r   r*   r(   r   r   r   #test_relative_risk_ci_edge_cases_10M   s     r-   zec, et, cc, ct)r   r   r	   r   )r	   r   r
   )r   r	   r   r   )r   r	   r.   r   c              	   C   s,   t jtdd t| ||| W 5 Q R X d S )Nz must be an integer not less thanmatch)pytestraises
ValueErrorr   )Zecetccctr   r   r   test_relative_risk_bad_valueU   s    r7   c                	   C   s,   t jtdd tdddd W 5 Q R X d S )Nzmust be an integerr/   r   r	   r$   (   )r1   r2   	TypeErrorr   r   r   r   r   test_relative_risk_bad_type^   s    r:   )r1   Znumpyr&   Znumpy.testingr   r   Zscipy.stats.contingencyr   markZparametrizer*   r'   r   r!   r%   r)   r+   r,   r-   r7   r:   r   r   r   r   <module>   s2   
	

