o
    Ge                     @   s   d dl Z d dlZd dl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S )    N)assert_array_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|j| 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   A	r   abexpected_avalsexpected_bvalsexpected_countavalsbvalscount r   i/var/www/html/SPIRAL.web.tool/spiral_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|j| 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   


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|| | rAt|j| 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   


r1   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   "r7   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 lengthr2   r   r   )r   r   r	      r4   r5   
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 sequencesr2   r"      r=   r   )r   r	   r	   Tr   r9   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 sequencesr2   r"   r<   r*   )r.   r9   r   r   r   r   'test_validation_len_levels_matches_argsl   r?   r@   )r4   numpyr   numpy.testingr   scipy.stats.contingencyr   markparametrizer   r!   r)   r/   r1   r7   r;   r>   r@   r   r   r   r   <module>   s     



