U
    »mœd*  ã                   @   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g¡dd„ ƒZ
d	d
„ Zdd„ Ze j 	dddg¡dd„ ƒZe j 	dddg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )é    N)Úassert_array_equalÚassert_equal)ÚcrosstabÚsparseFTc           	      C   sš   dddddddg}dddddddg}ddg}dddg}t  dddgdddgg¡}t||| d�\\}}}t||ƒ t||ƒ | rŒt|j|ƒ n
t||ƒ d S )Nr   é	   é   é   é   ©r   ©ÚnpÚarrayr   r   ÚA©	r   ÚaÚbZexpected_avalsZexpected_bvalsÚexpected_countZavalsZbvalsÚcount© r   úX/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/scipy/stats/tests/test_crosstab.pyÚtest_crosstab_basic   s    
ÿ

r   c                  C   sR   dddddddg} dddg}t  dddg¡}t| ƒ\\}}t||ƒ t||ƒ d S )Nr   r   r	   ©r   r   r   r   )ÚxÚexpected_xvalsr   Úxvalsr   r   r   r   Útest_crosstab_basic_1d   s    

r   c                  C   sÎ   d} d}ddddddddg}| | | | |||| g}ddddddddg}ddg}| |g}dddg}t  dddgdddggdddgdddggg¡}t|||ƒ\\}	}
}}t|	|ƒ t|
|ƒ t||ƒ t||ƒ d S )Nr   r   r   r   r   r   r	   r   )r   r   r   ÚyÚzr   Zexpected_yvalsZexpected_zvalsr   r   ZyvalsZzvalsr   r   r   r   Útest_crosstab_basic_3d"   s(    
ÿÿþ


r   c           	      C   s®   dddddddg}dddddddg}ddg}ddddg}t  ddddgddddgg¡}t||d ddddgg| d�\\}}}t||ƒ t||ƒ | r t|j|ƒ n
t||ƒ d S )Nr   r   r   r   r	   ©Úlevelsr   r   r   r   r   r   Útest_crosstab_levels7   s    
ÿÿ

r!   c           	      C   s¶   ddddddddg}ddddddddg}ddg}ddddg}t  ddddgddddgg¡}t||ddgddddgg| d�\\}}}t||ƒ t||ƒ | r¨t|j|ƒ n
t||ƒ d S )Nr   r   éÿÿÿÿr   r   r	   r   r   r   r   r   r   Útest_crosstab_extra_levelsI   s    
ÿÿ

r#   c                	   C   s$   t jtdd�� tƒ  W 5 Q R X d S )NzAt least one©Úmatch)ÚpytestÚraisesÚ	TypeErrorr   r   r   r   r   Útest_validation_at_least_one]   s    r)   c                	   C   s4   t jtdd�� tddgddddgƒ W 5 Q R X d S )Nzmust have the same lengthr$   r   r   r	   é   ©r&   r'   Ú
ValueErrorr   r   r   r   r   Útest_validation_same_lengthsb   s    r-   c                	   C   s@   t jtdd��( tdddgdddgdddgdd	� W 5 Q R X d S )
Nzonly two input sequencesr$   r   r   é   r   r	   Tr
   r+   r   r   r   r   Ú$test_validation_sparse_only_two_argsg   s    r/   c                	   C   sB   t jtdd��* tdddgdddgddddgfd	� W 5 Q R X d S )
Nznumber of input sequencesr$   r   r   r.   r   r   r	   )r    r+   r   r   r   r   Ú'test_validation_len_levels_matches_argsl   s    r0   c                  C   s(   t ddgddgƒ} t| j| jf| ƒ d S )Nr   r   r   )r   r   Úelementsr   )Úresr   r   r   Útest_resultq   s    r3   )r&   Únumpyr   Znumpy.testingr   r   Zscipy.stats.contingencyr   ÚmarkZparametrizer   r   r   r!   r#   r)   r-   r/   r0   r3   r   r   r   r   Ú<module>   s    



