U
    ?h?                     @   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   V/var/www/html/venv/lib/python3.8/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   Z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   )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#   (   )r0   r1   	TypeErrorr   r   r   r   r   test_relative_risk_bad_type^   s    r:   )r0   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   
	

