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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|| | rt|j| n
t|| d S )Nr   	            r   nparrayr   r   A	r   abZexpected_avalsZexpected_bvalsexpected_countZavalsZbvalscount r   C/tmp/pip-unpacked-wheel-96ln3f52/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|| | rt|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|| | rt|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&   Z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    



