
    Cpj                        S SK r S SKrS SKJrJr  S SKJr  \ R                  R                  SSS/5      S 5       r
\ R                  R                  SSS/5      S 5       r\ R                  R                  SSS/5      S	 5       r\ R                  R                  SSS/5      S
 5       r\ R                  R                  SSS/5      S 5       rS rS rS rS rg)    N)assert_array_equalassert_equal)crosstabsparseFTc                     / SQn/ SQnSS/n/ SQn[         R                  " / SQ/ SQ/5      n[        XU S9u  u  pgn[        Xc5        [        Xt5        U (       a  [        UR	                  5       U5        g [        X5        g )	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	            [/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/scipy/stats/tests/test_crosstab.pytest_crosstab_basicr      sp    AAVNNXXy(* +N$Q&9NUEu-u-5==?N;51    c                     / SQn/ SQn[         R                  " / SQ5      n[        XS9u  u  pE[        XB5        U (       a  [        UR	                  5       U5        g [        XS5        g )Nr   r
   r   r   r
   r   r   r   )r
   r
   r   r   r   )r   xexpected_xvalsr   xvalsr   s         r   test_crosstab_basic_1dr$      sM     	ANXXi(Nq0OHUu-5==?N;51r   c                 @   SnSn/ SQnXXX"X!/n/ SQnSS/nX/n/ SQn[         R                  " / SQ/ S	Q// S
Q/ SQ//5      n	[        X4XPS9u  u  pp[        X5        [        X5        [        X5        U (       a  [        UR	                  5       U	5        g [        X5        g )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   r   r!   yzr"   expected_yvalsexpected_zvalsr   r#   yvalszvalsr   s                 r   test_crosstab_basic_3dr-   &   s     	AA A	
qQ1 A AVNVNNXX	 ) + ) ) +, -N $,A!#C U5u-u-u-5==?N;51r   c                 
   / SQn/ SQnSS/n/ SQn[         R                  " / SQ/ SQ/5      n[        XS / SQ/U S9u  u  pgn[        Xc5        [        Xt5        U (       a  [        UR	                  5       U5        g [        X5        g )	Nr   r    r   r	   r   r   r
   r   r   r   r
   r   r   r   r   r
   levelsr   r   r   s	            r   test_crosstab_levelsr4   ?   sz    AAVN!NXX|+- .N$Q42F,24NUEu-u-5==?N;51r   c                    / SQn/ SQnSS/n/ SQn[         R                  " / SQ/ SQ/5      n[        XSS// SQ/U S9u  u  pgn[        Xc5        [        Xt5        U (       a  [        UR	                  5       U5        g [        X5        g )	N)r   r   r	   r	   r   r   r	   )r   r
   r   r   r
   r   r   r   r   r	   r/   r0   r1   r2   r   r   s	            r   test_crosstab_extra_levelsr7   Q   s     	"A AVN!NXX|+- .N$QAq6<2H,24NUEu-u-5==?N;51r   c                  ~    [         R                  " [        SS9   [        5         S S S 5        g ! , (       d  f       g = f)NzAt least onematch)pytestraises	TypeErrorr    r   r   test_validation_at_least_oner?   e   s!    	y	7
 
8	7	7s   .
<c                      [         R                  " [        SS9   [        SS// SQ5        S S S 5        g ! , (       d  f       g = f)Nzmust have the same lengthr9   r   r
   )r   r
   r      r;   r<   
ValueErrorr   r>   r   r   test_validation_same_lengthsrD   j   s,    	z)D	E!Q& 
F	E	Es	   4
Ac                      [         R                  " [        SS9   [        / SQ/ SQ/ SQ4S9  S S S 5        g ! , (       d  f       g = f)Nznumber of input sequencesr9   r&   )   rF   r	   r/   )r3   rB   r>   r   r   'test_validation_len_levels_matches_argsrG   o   s,    	z)D	EI|o> 
F	E	Es	   6
Ac                  h    [        SS/SS/5      n [        U R                  U R                  4U 5        g )Nr   r   r
   )r   r   elementsr   )ress    r   test_resultrK   t   s-    
Aq6Aq6
"C#,,		*C0r   )r;   numpyr   numpy.testingr   r   scipy.stats.contingencyr   markparametrizer   r$   r-   r4   r7   r?   rD   rG   rK   r>   r   r   <module>rQ      s      : , E4=12 22  E4=1
2 2
2 E4=12 220 E4=12 22" E4=12 22&
'
?
1r   