
    >qj                        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
e j                  j                  dddg      d        Ze j                  j                  dddg      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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	            ^/opt/rentech/trading_bot/.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        ||       | rt        |j	                         |       y t        ||       y )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$      sU     	ANXXi(Nq0OHUeun-5==?N;5.1r   c                 T   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        ||       | rt        |j	                         |	       y 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   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!F#C UE55un-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 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_levelsr4   ?   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	   r/   r0   r1   r2   r   r   s	            r   test_crosstab_extra_levelsr7   Q   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?   e   s*    	y	7 
  s   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 lengthr9   r   r
   )r   r
   r      r;   r<   
ValueErrorr   r>   r   r   test_validation_same_lengthsrD   j   s4    	z)D	E '!Q&' ' 's   6?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 sequencesr9   r&   )   rF   r	   r/   )r3   rB   r>   r   r   'test_validation_len_levels_matches_argsrG   o   s4    	z)D	E ?I|o>? ? ?s	   ;Ac                  h    t        ddgddg      } t        | j                  | j                  f|        y )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   