
    5[gB                     2   d dl Z d dlZd dlmZmZ d dlmZ e j                  j                  dddg      d        Z
d Zd	 Ze j                  j                  dddg      d
        Ze j                  j                  dddg      d        Zd Zd Zd Zd Zd Zy)    N)assert_array_equalassert_equal)crosstabsparseFTc                    g d}g d}ddg}g d}t        j                  g dg dg      }t        |||       \  \  }}}t        ||       t        ||       | rt        |j	                         |       y t        ||       y )	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counts	            Z/var/www/html/bid-api/venv/lib/python3.12/site-packages/scipy/stats/tests/test_crosstab.pytest_crosstab_basicr      sz    AAVNNXXy(* +N$Q&9NUEEun-un-5==?N;5.1    c                      g d} g d}t        j                  g d      }t        |       \  \  }}t        ||       t        ||       y )Nr   r
   r   r   r
   r   r   r   )r
   r
   r   r   r   r   r   )xexpected_xvalsr   xvalsr   s        r   test_crosstab_basic_1dr%      s=    ANXXi(NqkOHUeun-un-r   c                     d} d}g d}| | | | |||| g}g d}ddg}| |g}g d}t        j                  g dg d	gg d
g dgg      }t        |||      \  \  }	}
}}t        |	|       t        |
|       t        ||       t        ||       y )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   s                r   test_crosstab_basic_3dr.   "   s    AA A	
Aq!Q1a A AVNVNNXX	 ) + ) ) +, -N $,Aq!#4 UE55un-un-un-un-r   c                    g d}g d}ddg}g d}t        j                  g dg dg      }t        ||d g dg|       \  \  }}}t        ||       t        ||       | rt        |j	                         |       y t        ||       y )	Nr   r    r   r	   r   r   r
   r   r   r   r
   r   r   r   r   r
   levelsr   r   r   s	            r   test_crosstab_levelsr5   7   s    AAVN!NXX|+- .N$Q42F,24NUEEun-un-5==?N;5.1r   c                    g d}g d}ddg}g d}t        j                  g dg dg      }t        ||ddgg dg|       \  \  }}}t        ||       t        ||       | rt        |j	                         |       y t        ||       y )	N)r   r   r	   r	   r   r   r	   )r   r
   r   r   r
   r   r   r   r   r	   r0   r1   r2   r3   r   r   s	            r   test_crosstab_extra_levelsr8   I   s     	"A AVN!NXX|+- .N$QAq6<2H,24NUEEun-un-5==?N;5.1r   c                  x    t        j                  t        d      5  t                d d d        y # 1 sw Y   y xY w)NzAt least onematch)pytestraises	TypeErrorr    r   r   test_validation_at_least_oner@   ]   s!    	y	7
 
8	7	7s   09c                      t        j                  t        d      5  t        ddgg d       d d d        y # 1 sw Y   y xY w)Nzmust have the same lengthr:   r   r
   )r   r
   r      r<   r=   
ValueErrorr   r?   r   r   test_validation_same_lengthsrE   b   s,    	z)D	E!Q& 
F	E	Es   6?c                      t        j                  t        d      5  t        g dg dg dd       d d d        y # 1 sw Y   y xY w)Nzonly two input sequencesr:   r'      rH   r	   )r   r   r   Tr   rC   r?   r   r   $test_validation_sparse_only_two_argsrI   g   s,    	z)C	DIy> 
E	D	D	   ;Ac                      t        j                  t        d      5  t        g dg dg df       d d d        y # 1 sw Y   y xY w)Nznumber of input sequencesr:   r'   rG   r0   )r4   rC   r?   r   r   'test_validation_len_levels_matches_argsrL   l   s,    	z)D	EI|o> 
F	E	ErJ   c                  h    t        ddgddg      } t        | j                  | j                  f|        y )Nr   r   r
   )r   r   elementsr   )ress    r   test_resultrP   q   s-    
Aq6Aq6
"C#,,		*C0r   )r<   numpyr   numpy.testingr   r   scipy.stats.contingencyr   markparametrizer   r%   r.   r5   r8   r@   rE   rI   rL   rP   r?   r   r   <module>rV      s      : , E4=12 22 ..* E4=12 22" E4=12 22&
'
?
?
1r   