a
    BCCf*                     @   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   [/var/www/html/django/DPS/env/lib/python3.9/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|| | rt|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    



