a
    ˆù»j�  ã                   @   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€   g d¢}g d¢}ddg}g d¢}t  g d¢g d¢g¡}t||| d�\\}}}t||ƒ t||ƒ | rrt|j|ƒ n
t||ƒ d S )	N©r   r   é	   r   r   r   r   )é   é   é   r	   r   r
   r
   r   r   ©r	   r   r
   )r	   r   r	   )r	   r   r   ©r   ©ÚnpÚarrayr   r   ÚA©	r   ÚaÚbZexpected_avalsZexpected_bvalsÚexpected_countZavalsZbvalsÚcount© r   úEE:\soccer\ml_env\Lib\site-packages\scipy/stats/tests/test_crosstab.pyÚtest_crosstab_basic   s    
ÿ

r   c                  C   sD   g d¢} g d¢}t  g d¢¡}t| ƒ\\}}t||ƒ t||ƒ d S )N©r	   r   r
   r	   r   r
   r
   r   )r   r   r
   ©r   r   r   r   )ÚxÚexpected_xvalsr   Úxvalsr   r   r   r   Útest_crosstab_basic_1d   s    
r   c                  C   s¬   d} d}g d¢}| | | | |||| g}g d¢}ddg}| |g}g d¢}t  g d¢g d	¢gg d
¢g d¢gg¡}t|||ƒ\\}	}
}}t|	|ƒ t|
|ƒ t||ƒ t||ƒ d S )Nr   r   )r   r   r   r   r   r   r   r   )r	   r   r
   r	   r   r
   r
   r	   r   r   r   )r	   r	   r   ©r   r	   r	   )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Š   g d¢}g d¢}ddg}g d¢}t  g d¢g d¢g¡}t||d g d¢g| d�\\}}}t||ƒ t||ƒ | r|t|j|ƒ n
t||ƒ d S )	Nr   r   r   r   ©r   r	   r   r
   ©r   r	   r   r	   ©r   r	   r   r   ©Úlevelsr   r   r   r   r   r   Útest_crosstab_levels7   s    
ÿÿ

r(   c           	      C   sŽ   g d¢}g d¢}ddg}g d¢}t  g d¢g d¢g¡}t||ddgg d¢g| d�\\}}}t||ƒ t||ƒ | r€t|j|ƒ n
t||ƒ d S )	N)r   r   r   r   r   r   r   éÿÿÿÿ)r	   r   r
   r	   r   r
   r
   r
   r   r   r#   r$   r%   r&   r   r   r   r   r   Útest_crosstab_extra_levelsI   s    
ÿÿ

r*   c                   C   s8   t jtdd�� tƒ  W d   ƒ n1 s*0    Y  d S )NzAt least one©Úmatch)ÚpytestÚraisesÚ	TypeErrorr   r   r   r   r   Útest_validation_at_least_one]   s    r0   c                   C   sD   t jtdd��" tddgg d¢ƒ W d   ƒ n1 s60    Y  d S )Nzmust have the same lengthr+   r	   r   )r	   r   r
   é   ©r-   r.   Ú
ValueErrorr   r   r   r   r   Útest_validation_same_lengthsb   s    r4   c                   C   sN   t jtdd��, tg d¢g d¢g d¢dd� W d   ƒ n1 s@0    Y  d S )Nzonly two input sequencesr+   r   ©é   r6   r   )r	   r
   r
   Tr   r2   r   r   r   r   Ú$test_validation_sparse_only_two_argsg   s    r7   c                   C   sN   t jtdd��, tg d¢g d¢g d¢fd� W d   ƒ n1 s@0    Y  d S )Nznumber of input sequencesr+   r   r5   r#   )r'   r2   r   r   r   r   Ú'test_validation_len_levels_matches_argsl   s    r8   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    r;   )r-   Únumpyr   Znumpy.testingr   r   Zscipy.stats.contingencyr   ÚmarkZparametrizer   r   r"   r(   r*   r0   r4   r7   r8   r;   r   r   r   r   Ú<module>   s    



