o
    Ö­jB  ã                   @   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||ƒ | r;t| ¡ |ƒ d S 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   Útoarray©	r   ÚaÚbÚexpected_avalsÚexpected_bvalsÚexpected_countÚavalsÚbvalsÚcount© r   ú\/var/www/html/CropPilot/venv/lib/python3.10/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    Úexpected_yvalsÚexpected_zvalsr   r!   ÚyvalsÚ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| ¡ |ƒ d S 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   
ÿÿ

r0   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||ƒ | rBt| ¡ |ƒ d S 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   
ÿÿ

r2   c                   C   s:   t jtdd�� tƒ  W d   ƒ d S 1 sw   Y  d S )NzAt least one©Úmatch)ÚpytestÚraisesÚ	TypeErrorr   r   r   r   r   Útest_validation_at_least_one]   s   "ÿr8   c                   C   sF   t jtdd�� tddgg d¢ƒ W d   ƒ d S 1 sw   Y  d S )Nzmust have the same lengthr3   r	   r   )r	   r   r
   é   ©r5   r6   Ú
ValueErrorr   r   r   r   r   Útest_validation_same_lengthsb   s   "ÿr<   c                   C   sP   t jtdd�� tg d¢g d¢g d¢dd� W d   ƒ d S 1 s!w   Y  d S )Nzonly two input sequencesr3   r#   ©é   r>   r   )r	   r
   r
   Tr   r:   r   r   r   r   Ú$test_validation_sparse_only_two_argsg   ó   "ÿr?   c                   C   sP   t jtdd�� tg d¢g d¢g d¢fd� W d   ƒ d S 1 s!w   Y  d S )Nznumber of input sequencesr3   r#   r=   r+   )r/   r:   r   r   r   r   Ú'test_validation_len_levels_matches_argsl   r@   rA   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   rD   )r5   Únumpyr   Únumpy.testingr   r   Úscipy.stats.contingencyr   ÚmarkÚparametrizer   r"   r*   r0   r2   r8   r<   r?   rA   rD   r   r   r   r   Ú<module>   s"    



