B
    0d?                 @   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%<=)rtol)r   r   )exposed_casesexposed_totalcontrol_casescontrol_totalZexpected_rrresult r   V/var/www/html/venv/lib/python3.7/site-packages/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   r   r   r   g       @g+=)r   r   )g       @g       @g-q=)r   r   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   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   )r   r   r#   nanr   r   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   r   r   r   g        )r   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   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 d Q R X d S )Nz must be an integer not less than)match)pytestraises
ValueErrorr   )ecetccctr   r   r   test_relative_risk_bad_valueU   s    r3   c            	   C   s,   t jtdd tdddd W d Q R X d S )Nzmust be an integer)r+   r   r	   g       @(   )r,   r-   	TypeErrorr   r   r   r   r   test_relative_risk_bad_type^   s    r6   )r,   numpyr#   Znumpy.testingr   r   Zscipy.stats.contingencyr   markZparametrizer&   r$   r   r   r"   r%   r'   r(   r)   r3   r6   r   r   r   r   <module>   s(   		
