3
Od<               @   s  d dl Z d dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZ d dlZd dlmZ d dlmZ ddlmZ dd	lmZ y$d dlZd
ejd< d dljZdZW n ek
r   dZY nX ddddddddddg
Zddddddddddg
Zddddddddddg
Z ddddddddddg
Z!ddddddddd dg
Z"d!d"d!dddddd#dg
Z#dd$dd%ddd&d'ddg
Z$ddddddddddg
Z%dddddd$d$dddg
Z&ddddddddd$dg
Z'G d(d) d)e(Z)G d*d+ d+e(Z*G d,d- d-e(Z+G d.d/ d/e(Z,G d0d1 d1e(Z-G d2d3 d3e(Z.G d4d5 d5e(Z/G d6d7 d7e(Z0G d8d9 d9e(Z1G d:d; d;e(Z2G d<d= d=e(Z3G d>d? d?e(Z4G d@dA dAe(Z5G dBdC dCe(Z6G dDdE dEe(Z7G dFdG dGe(Z8G dHdI dIe(Z9G dJdK dKe(Z:dLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddÐdĐdŐdƐdǐdȐdɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdԐdՐd֐dאdؐdِdڐdېdܐdݐdސdߐddddddddddgZ;G dd de(Z<G dd de(Z=G dd de(Z>G dd de(Z?G dd de(Z@G dd de(ZAG dd de(ZBG dd de(ZCdS (      N)RandomState)assert_array_equalassert_almost_equalassert_array_lessassert_array_almost_equalassert_assert_allcloseassert_equalsuppress_warnings)raises)stats   )check_named_results   )_get_wilcoxon_distrZAggbackendTFgjt?gZd;?gV-?g      ?gX9v?g-?gx&1?g+?g+?gCl?gV-?gʡE?g/$?gףp=
?gGz?gCl?gGz?grh|?g\(\?g/$?gh|?5?g1Zd?gMb?gjt?g}?5^I?g)\(?c               @   s$   e Zd Zdd Zdd Zdd ZdS )TestBayes_mvsc             C   s~   dddddddg}t j|\}}}t|jd t|jdd
d t|jd t|jddd t|jddd t|jdd
d d S )N   	               g      "@4`H#j@O[%@g+=)rtolg      $@ai	@Ӈu8@g&.>g_紫@   )decimalYs?疡1O@)r   r   )r   r   )r    r!   )r   	bayes_mvsr   	statisticr   minmax)selfdatameanvarstd r*   T/var/www/html/virt/lib64/python3.6/site-packages/scipy/stats/tests/test_morestats.py
test_basic-   s    zTestBayes_mvs.test_basicc             C   s   t ttjg  d S )N)assert_raises
ValueErrorr   r"   )r%   r*   r*   r+   test_empty_input?   s    zTestBayes_mvs.test_empty_inputc             C   s4   t jd}d}tj|}x|D ]}t|| qW d S )N   r#   r$   )r#   r$   )nparanger   r"   r   )r%   x
attributesresir*   r*   r+   test_result_attributesB   s
    


z$TestBayes_mvs.test_result_attributesN)__name__
__module____qualname__r,   r/   r7   r*   r*   r*   r+   r   ,   s   r   c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestMvsdistc             C   s   dddddddg}t j|\}}}t|j d t|jdddd t|j d t|jdddd t|j ddd t|jdddd d S )Nr   r   r   r   r   r   g      "@g?4`H#j@O[%@g+=)r   g      $@ai	@Ӈu8@g&.>g_紫@r   )r   Ys?疡1O@)r<   r=   )r>   r?   )r@   rA   )r   mvsdistr   r'   r   interval)r%   r&   r'   r(   r)   r*   r*   r+   r,   L   s    




zTestMvsdist.test_basicc             C   s   t ttjg  d S )N)r-   r.   r   rB   )r%   r*   r*   r+   r/   [   s    zTestMvsdist.test_empty_inputc             C   s   dg}t ttj| d S )Nr   )r-   r.   r   rB   )r%   r&   r*   r*   r+   test_bad_arg^   s    zTestMvsdist.test_bad_argc             C   s\   t j J t jdt dd tjdddgD  dd tjddddd	gD  W d Q R X d S )
Nerrorc             S   s   g | ]}|j  qS r*   )r'   ).0r3   r*   r*   r+   
<listcomp>h   s    z*TestMvsdist.test_warns.<locals>.<listcomp>r   r      c             S   s   g | ]}|j  qS r*   )r'   )rF   r3   r*   r*   r+   rG   i   s          )warningscatch_warningssimplefilterRuntimeWarningr   rB   )r%   r*   r*   r+   
test_warnsc   s    
zTestMvsdist.test_warnsN)r8   r9   r:   r,   r/   rD   rO   r*   r*   r*   r+   r;   K   s   r;   c               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestShapiroc       
      C   s  ddddddddd	d
ddddddddddg}t j|\}}t j|}t|ddd t|jddd t|ddd t|jddd ddddddddPd!d"d#dQdd%d&d'd(d)d*d+g}t j|\}}t j|}t|d,dd t|jd,dd t|d-d.d t|jd-d.d tjjd/ t jj	d0d.d1d2}t j|\}}t j|}t|d3dd t|jd3dd t|d4d.d t|jd4d.d d5d6d7d8d9d:d;d<d=d>d?d@dAdBd'dCdDdEdFdGdHdIdJdKdLg}dM}dN}	t j|\}}t j|}t||dOd t|j|dOd t||	d0d t|j|	d0d d S )RNg)\(?g{Gz@gq=
ףp@gHzG$@g@gQ	@gq=
ףp?gQ@gzG?g      @gQ?gRQ?gQ	@g(\?gzG?gzG@g(\#@g333333@gGz?gp=
ף@g   ?r   )r   g   Ɍ?g(\?g=
ףp=?g\(\@gffffff@g\(\?g(\?gGz@g(\?gףp=
@g?g)\(?gRQ?gp=
ף?g@g
ףp=
?g{Gz?g\(\@g{Gz@gQ@gIddY?gDio?rH   iNa rJ   d   )locscalesizeg   E?g   Oٴ?gn?gjt?gffffff?gMb?gjt?g;On?gjt?gX9v?gS?g(\?gI+?gʡE?gx?g|?5^?gCl?g1Zd@gS@g(\	@gGz@g rh@g"~j@gQ@gtV@gʡE @ghyܝ?g0M?rI   g(\gRQ)
r   shapiror   r#   pvaluer1   randomseednormrvs)
r%   x1wpwshapiro_testx2Zx3Zx4Z
W_expectedZ
p_expectedr*   r*   r+   r,   m   sJ    



zTestShapiro.test_basicc             C   s  ddddddddd	d
g
ddddddddddg
g}t j|\}}t j|}t|ddd t|jddd t|ddd t|jddd dddddddd/d!d"g
d#d0dd%d&d'd(d)d*d+g
g}t j|\}}t j|}t|d,dd t|jd,dd t|d-d.d t|jd-d.d d S )1Ng)\(?g{Gz@gq=
ףp@gHzG$@g@gQ	@gq=
ףp?gQ@gzG?g      @gQ?gRQ?gQ	@g(\?gzG?gzG@g(\#@g333333@gGz?gp=
ף@g   ?r   )r   g   Ɍ?g(\?g=
ףp=?g\(\@gffffff@g\(\?g(\?gGz@g(\?gףp=
@g?g)\(?gRQ?gp=
ף?g@g
ףp=
?g{Gz?g\(\@g{Gz@gQ@gIddY?gDio?rH   g(\gRQ)r   rU   r   r#   rV   )r%   r[   r\   r]   r^   r_   r*   r*   r+   test_2d   s$    

zTestShapiro.test_2dc             C   s&   t ttjg  t ttjg g g g d S )N)r-   r.   r   rU   )r%   r*   r*   r+   r/      s    zTestShapiro.test_empty_inputc             C   s4   t ttjddg t ttjtjg dggtd d S )Nr   r   )dtype)r-   r.   r   rU   r1   arrayobject)r%   r*   r*   r+   test_not_enough_values   s    z"TestShapiro.test_not_enough_valuesc             C   s   dg}t ttj| d S )Nr   )r-   r.   r   rU   )r%   r3   r*   r*   r+   rD      s    zTestShapiro.test_bad_argc             C   s`   t jd}t j|d< tj|\}}tj|}t|t j t|jt j t|d t|jd d S )Ng      $@r   g      ?)	r1   r2   nanr   rU   r	   r#   r   rV   )r%   r3   r\   r]   r^   r*   r*   r+   test_nan_input   s    



zTestShapiro.test_nan_inputN)	r8   r9   r:   r,   r`   r/   rd   rD   rf   r*   r*   r*   r+   rP   l   s   ,rP   c               @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )TestAndersonc             C   s   t d}|jdd}|jdd}tj|\}}}t|d d	 | tj|\}}}t||d
d   tjd}d|d< tj|\}}}t|d d S )NiI2   )rT   r   r   
   r   g	@)	r   standard_exponentialstandard_normalr   andersonr   r1   onesr   )r%   rsr[   r_   Acritsigvr*   r*   r+   test_normal   s    

zTestAnderson.test_normalc             C   s   t d}|jdd}|jdd}tj|d\}}}t||d	d   tjdd tj|d\}}}W d Q R X t||d
 k d S )NiIrh   )rT   Zexponr   ignore)allr   rk   rj   )	r   rl   rm   r   rn   r   r1   errstater   )r%   rp   r[   r_   rq   rr   rs   r*   r*   r+   
test_expon   s    zTestAnderson.test_exponc             C   s   t jd}d|d< tj|d\}}}t|}tjj|\}}tjj|||}tjj|||}	t j	d|d }
| t j
d|
 d ||	d d d    }t|| d S )NrQ   g        r   gumbelr   r   rj   )r1   ro   r   rn   lengumbel_lfitlogcdflogsfr2   r'   r   )r%   rt   Za2rr   rs   nZxbarsr~   r   r6   Zexpected_a2r*   r*   r+   test_gumbel   s    
*zTestAnderson.test_gumbelc             C   s   t ttjdgdd d S )Nr   plate_of_shrimp)dist)r-   r.   r   rn   )r%   r*   r*   r+   rD      s    zTestAnderson.test_bad_argc             C   s0   t d}|jdd}tj|}d}t|| d S )NiIrh   )rT   r#   critical_valuessignificance_level)r#   r   r   )r   rl   r   rn   r   )r%   rp   r3   r5   r4   r*   r*   r+   r7      s
    
z#TestAnderson.test_result_attributesc       	      C   sF   t d}|jdd}tj|d\}}}tj|d\}}}t|| d S )NiIrQ   )rT   rz   r|   )r   rz   r   rn   r   )	r%   rp   r3   A1crit1sig1A2crit2sig2r*   r*   r+   test_gumbel_l  s
    zTestAnderson.test_gumbel_lc       
      C   sh   t d}|jdd}tjd}tj|d\}}}tj|d\}}}	t||dd   t||d k d S )	NiIrQ   )rT   Zgumbel_rr   r   rk   rj   )r   rz   r1   ro   r   rn   r   r   )
r%   rp   r[   r_   r   r   r   r   r   r   r*   r*   r+   test_gumbel_r  s    
zTestAnderson.test_gumbel_rN)
r8   r9   r:   ru   ry   r   rD   r7   r   r   r*   r*   r*   r+   rg      s   

rg   c               @   sT   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdS )TestAndersonKSampc          	   C   s   ddddddddg}t jd	d
ddddddg}t jddddddddg}t jddddddddg}tj||||fdd\}}}t|d d! td"d#d$d%d&g|d'd( d) t|d*d+d, d S )-NgYC@g     D@gfffffE@g     @F@g     F@g      G@gG@g      M@gC@gfffffC@gC@g33333D@gfffffD@g33333sE@gfffffE@gfffffF@g      A@g     A@g     C@g      D@g     E@g      F@g     F@gffffffA@g33333A@gB@gfffffB@gD@gffffffE@F)midrankg@rH   gCl?gvq-?g,Ԛ?gl@gPk	@r   rJ   rI   gJ4a?gMb0?)atol)r1   rb   r   anderson_ksampr   r   r   )r%   t1t2t3t4Tktmpr*   r*   r+   test_example1a  s    z TestAndersonKSamp.test_example1ac          	   C   s   t jddddddddg}t jd	d
ddddddg}t jddddddddg}t jddddddddg}tj||||fdd\}}}t|d d! td"d#d$d%d&g|d'd( d) t|d*d+d, d S )-NgYC@g     D@gfffffE@g     @F@g     F@g      G@gG@g      M@gC@gfffffC@gC@g33333D@gfffffD@g33333sE@gfffffE@gfffffF@g      A@g     A@g     C@g      D@g     E@g      F@g     F@gffffffA@g33333A@gB@gfffffB@gD@gffffffE@T)r   gQ@rH   gCl?gvq-?g,Ԛ?gl@gPk	@r   rJ   rI   gMb`?gMb0?)r   )r1   rb   r   r   r   r   r   )r%   r   r   r   r   r   r   r   r*   r*   r+   test_example1b,  s    z TestAndersonKSamp.test_example1bc             C   s>  ddddddg}ddd	d
dddddddddg}ddddddddddg
}ddddd d!dd"d#d$d%d&d'd(ddd)d*d+d,d-d'd.dg}d/d0d1d2d0g}d3dd4dd5d6d1d7dd8d(d9g}d:d;d#d<d=d>d?d@dAdBdg}d.dCdDddEddd?dFdGd@d7dHd$dId6dEdJdKddGdJddJdLddMdLdNdOg}dPdQdJdRdSddTdUdVdWdMdLdXdYdZd[dd\d]d^d_d`ddaddbd"g}	dcd'dddedd_dKddfdgd%dhd]dIdIdddidjdPdkd.dldg}
dmdd6dndodKd<dpdqg	}dcdrdIdsdtd6g}duddddvdIdwdxdydzdKd/g}ddd{ddd[d|dd(d}d~d9ddzdd dg}t j|||||||||	|
||||fdd\}}}t|ddK tdddddg|ddI dR t|ddd d S )N   r0   )      !      i  r   :   %   rQ   A   r      i     $      v   "         C   9   >   r      Z   ri   <      =   1      8      O   T   ,   ;         i6  L               F   e   J   0   i  r      i     7   i@  h         /            i  W   x      G   *   rJ      rH      r   4   _   a   3   rI         D   M   P   j      R   6      .   o   '   ?         rh   f   H         X            r   ig  i  i[  r   i     i  #   i  b   U   [   +                   B   F)r   gM
@g^I+?g~:?g+e?gH.!@gcZB>h@r   g	^)p?gMb0?)r   )r   r   r   r   r   )r%   r   r   r   r   t5t6t7t8t9t10t11t12t13t14r   r   r   r*   r*   r+   test_example2a<  s4    " z TestAndersonKSamp.test_example2ac             C   s>  ddddddg}ddd	d
dddddddddg}ddddddddddg
}ddddd d!dd"d#d$d%d&d'd(ddd)d*d+d,d-d'd.dg}d/d0d1d2d0g}d3dd4dd5d6d1d7dd8d(d9g}d:d;d#d<d=d>d?d@dAdBdg}d.dCdDddEddd?dFdGd@d7dHd$dId6dEdJdKddGdJddJdLddMdLdNdOg}dPdQdJdRdSddTdUdVdWdMdLdXdYdZd[dd\d]d^d_d`ddaddbd"g}	dcd'dddedd_dKddfdgd%dhd]dIdIdddidjdPdkd.dldg}
dmdd6dndodKd<dpdqg	}dcdrdIdsdtd6g}duddddvdIdwdxdydzdKd/g}ddd{ddd[d|dd(d}d~d9ddzdd dg}t j|||||||||	|
||||fdd\}}}t|ddK tdddddg|ddI dR t|ddd d S )Nr   r0   r   r   r   r   i  r   r   r   rQ   r   r   r   i  r   r   r   r   r   r   r   r   r   r   r   r   r   ri   r   r   r   r   r   r   r   r   r   r   r   r   r   i6  r   r   r   r   r   r   r   r   r   i  r   r   i  r   r   i@  r   r   r   r   r   r   r   i  r   r   r   r   r   rJ   r   rH   r   r   r   r   r   r   rI   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   r   r   r   r   r   r   r   r   r   ig  i  i[  r   i  r   i  r   i  r   r   r   r   r   r   r   r   r   r   T)r   g'1Z
@g^I+?g~:?g+e?gH.!@gcZB>h@r   g	^)p?gMb0?)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+   test_example2b\  s4    " z TestAndersonKSamp.test_example2bc          "   C   s.  t jddd}t 0}|jtdd tj||d gdd\}}}W d Q R X t|dd	 t|d
 t ,}|jtdd tj||d g\}}}W d Q R X t|dd	 t|d
 t 0}|jtdd tj||d gdd\}}}W d Q R X t|d#d t|d t ,}|jtdd tj||d g\}}}W d Q R X t|d$d t|d tj||d gdd\}}}t|dd t	|dddd tj||d g\}}}t|dd t	|dddd tj||d gdd\}}}t|dd t	|dddd tj||d gdd\}}}t|d d t	|d!d"dd d S )%Nr   rQ   zp-value floored)messageg     @D@F)r   g=
ףpD@rH   gMbP?gGzD@zp-value cappedg      ?g?ܵ?rI   g      ?g?ܵ?g      @g!u?gףp=
׳?g{Gzt?r   )r   r   r   gBiq?g鷯?g      '@g:M@g46<Rv?gMb@?g      +@g6>W[1@g1ZGUS?g-C6?g?ܵg?ܵ)
r1   linspacer
   filterUserWarningr   r   r   r	   r   )r%   r[   supr   _r   r*   r*   r+   test_R_kSamples|  sB    !&
"
&
"
z!TestAndersonKSamp.test_R_kSamplesc             C   s   t ttjtjd d S )NrJ   )r-   r.   r   r   r1   ro   )r%   r*   r*   r+   test_not_enough_samples  s    z)TestAndersonKSamp.test_not_enough_samplesc             C   s"   t ttjtjdtjdf d S )NrJ   )r-   r.   r   r   r1   ro   )r%   r*   r*   r+   test_no_distinct_observations  s    z/TestAndersonKSamp.test_no_distinct_observationsc             C   s   t ttjtjdg f d S )NrJ   )r-   r.   r   r   r1   ro   )r%   r*   r*   r+   test_empty_sample  s    z#TestAndersonKSamp.test_empty_samplec          	   C   sR   ddddddddg}t jd	d
ddddddg}tj||fdd}d}t|| d S )NgYC@g     D@gfffffE@g     @F@g     F@g      G@gG@g      M@gC@gfffffC@gC@g33333D@gfffffD@g33333sE@gfffffE@gfffffF@F)r   r#   r   r   )r#   r   r   )r1   rb   r   r   r   )r%   r   r   r5   r4   r*   r*   r+   r7     s
    z(TestAndersonKSamp.test_result_attributesN)r8   r9   r:   r   r   r
  r  r  r  r  r  r7   r*   r*   r*   r+   r     s     Pr   c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )
TestAnsaric             C   sl   dddddg}ddddddddg}t  "}|jtd tj||\}}W d Q R X t|dd t|d	d d S )
Nr   r   rH   rI   r   z%Ties preclude use of exact statistic.g     7@r   g8#oG?)r
   r  r  r   ansarir   )r%   r3   yr  Wpvalr*   r*   r+   
test_small  s    zTestAnsari.test_smallc             C   s^   t jd}t jd}t "}|jtd tj||\}}W d Q R X t|dd t|dd d S )Nr   k   rQ   c   r   r   m   l   r   r   `   r   q   t   n   r   i   g   r   z%Ties preclude use of exact statistic.g     0g@r   g|:?)r   r  rQ   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   rQ   r   r  r%  r   r&  r&  r!  r  r   r  )r1   rb   r
   r  r  r   r  r   )r%   ZramsayZparekhr  r  r  r*   r*   r+   test_approx  s     zTestAnsari.test_approxc             C   s@   t jddddgddddd	d
g\}}t|dd t|dd d S )Nr   r   rH   rI   r0   rJ   r   r   ri   r   g      $@r   g?r   )r   r  r   )r%   r  r  r*   r*   r+   
test_exact  s    $zTestAnsari.test_exactc             C   s(   t ttjg dg t ttjdgg  d S )Nr   )r-   r.   r   r  )r%   r*   r*   r+   rD     s    zTestAnsari.test_bad_argc          
   C   s^   dddddg}ddddddddg}t  }|jtd tj||}W d Q R X d	}t|| d S )
Nr   r   rH   rI   r   z%Ties preclude use of exact statistic.r#   rV   )r#   rV   )r
   r  r  r   r  r   )r%   r3   r  r  r5   r4   r*   r*   r+   r7     s    z!TestAnsari.test_result_attributesN)r8   r9   r:   r  r'  r(  rD   r7   r*   r*   r*   r+   r    s
   	r  c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestBartlettc          
   C   sB   t ttttttttt	g
}t
j| \}}t|dd t|dd d S )NgzU@ /4@r   gG?)g1g2g3g4g5g6g7g8g9g10r   bartlettr   )r%   argsTr  r*   r*   r+   	test_data  s    zTestBartlett.test_datac             C   s   t ttjdg d S )Nr   )r-   r.   r   r4  )r%   r*   r*   r+   rD     s    zTestBartlett.test_bad_argc          
   C   s4   t ttttttttt	g
}t
j| }d}t|| d S )Nr#   rV   )r#   rV   )r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r   r4  r   )r%   r5  r5   r4   r*   r*   r+   r7     s    
z#TestBartlett.test_result_attributesc             C   s6   t ttttttttt	g f}t
tjtjftj|  d S )N)r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r	   r1   re   r   r4  )r%   r5  r*   r*   r+   test_empty_arg  s    zTestBartlett.test_empty_argc             C   s*   t jddgddgg}tttjt| d S )Nr   r   rH   rI   )r1   rb   r-   r.   r   r4  r*  )r%   r3   r*   r*   r+   test_1d_input$  s    zTestBartlett.test_1d_inputN)r8   r9   r:   r7  rD   r7   r8  r9  r*   r*   r*   r+   r)    s
   r)  c               @   sT   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdS )
TestLevenec          
   C   sB   t ttttttttt	g
}t
j| \}}t|dd t|dd d S )NgYpK?r   gI{]?)r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r   levener   )r%   r5  r  r  r*   r*   r+   r7  +  s    zTestLevene.test_datac             C   sF   t jtttdd\}}t jtttddd\}}t|| t|| d S )Nr'   )centertrimmedg        )r<  proportiontocut)r   r;  r*  r+  r,  r   )r%   W1pval1W2pval2r*   r*   r+   test_trimmed12  s
    
zTestLevene.test_trimmed1c       
      C   s   ddddddddg}d	dd
dddddg}t jjd t jj|}tj||ddd\}}tj||ddd\}}tj|dd |dd dd\}}	t|| t|| t||	 d S )Ng333333?g       @g      @g      @g      @g      @g      @g      Y@g        g      @g      @g      @g      i@i  r=  g      ?)r<  r>  r   r'   )r<  rj   rj   )r1   rW   rX   permutationr   r;  r   )
r%   r3   r  r_   ZW0Zpval0r?  r@  rA  rB  r*   r*   r+   test_trimmed2;  s    

$

zTestLevene.test_trimmed2c             C   sn   t jddd}t jjd t jj|}|d }tj||dd\}}tj||dd\}}t|| t|| d S )	Nr   r   i  rH   r'   )r<  Zmedianrj   )r1   r  rW   rX   rD  r   r;  r   )r%   r3   r_   r  r?  r@  rA  rB  r*   r*   r+   test_equal_mean_medianM  s    
z!TestLevene.test_equal_mean_medianc             C   s&   t jddd}tttj||dd d S )Nr   r   g?)portiontocutrj   )r1   r  r-   	TypeErrorr   r;  )r%   r3   r*   r*   r+   test_bad_keywordW  s    zTestLevene.test_bad_keywordc             C   s&   t jddd}tttj||dd d S )Nr   r   trim)r<  rj   )r1   r  r-   r.   r   r;  )r%   r3   r*   r*   r+   test_bad_center_value[  s    z TestLevene.test_bad_center_valuec             C   s   t ttjdg d S )Nr   )r-   r.   r   r;  )r%   r*   r*   r+   test_too_few_args_  s    zTestLevene.test_too_few_argsc          
   C   s4   t ttttttttt	g
}t
j| }d}t|| d S )Nr#   rV   )r#   rV   )r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r   r;  r   )r%   r5  r5   r4   r*   r*   r+   r7   b  s    
z!TestLevene.test_result_attributesc             C   s*   t jddgddgg}tttjt| d S )Nr   r   rH   rI   )r1   rb   r-   r.   r   r;  r*  )r%   r3   r*   r*   r+   r9  i  s    zTestLevene.test_1d_inputN)r8   r9   r:   r7  rC  rE  rF  rI  rK  rL  r7   r9  r*   r*   r*   r+   r:  )  s   	
r:  c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )
TestBinomPc             C   sR   t jdd}t|dd t jdd}t|dd t jdd	gdd}t|dd d S )NrQ      g-"^?r   r   i  g`w?i     g      @rI   )r   gz?g      ?)r   
binom_testr   )r%   r  r*   r*   r+   r7  p  s    zTestBinomP.test_datac             C   s   t ttjdddg d S )Nr   r   rH   )r-   r.   r   rP  )r%   r*   r*   r+   test_bad_len_xx  s    zTestBinomP.test_bad_len_xc             C   s(   t ttjdg t ttjdgdd d S )NrQ   rh   )r   )r-   r.   r   rP  )r%   r*   r*   r+   
test_bad_n|  s    zTestBinomP.test_bad_nc             C   s   t ttjddgdd d S )Nrh   g       @)r   )r-   r.   r   rP  )r%   r*   r*   r+   
test_bad_p  s    zTestBinomP.test_bad_pc             C   sX   t jddddd}t|d t jddddd}t|d	 t jdddd
d}t|d d S )Nr      g      ?r   less)r   alternativeg-$Ǻl?greatergs0,j.?z	two-sidedgJfJ"f?gUUUUUU?gUUUUUU?gUUUUUU?)r   rP  r   )r%   r5   r*   r*   r+   test_alternatives  s    

zTestBinomP.test_alternativesN)r8   r9   r:   r7  rQ  rR  rS  rX  r*   r*   r*   r+   rM  n  s
   rM  c               @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )TestFlignerc             C   s&   t jd}ttj||d dd d S )NrJ   r   nf	@Dq?r   )rZ  r[  )r1   r2   r   r   fligner)r%   r[   r*   r*   r+   r7    s    
zTestFligner.test_datac       	         sv   t jjd  fdd}|t}|t}|t}tj|||dd\}}tj|||ddd\}}t|| t|| d S )	N{   c                s    t j| d jt|   j S )Ng|=)r1   Zasarrayrandnr{   tolist)g)rp   r*   r+   <lambda>  s    z+TestFligner.test_trimmed1.<locals>.<lambda>r'   )r<  r=  g        )r<  r>  )	r1   rW   r   r*  r+  r,  r   r\  r   )	r%   Z_perturbZg1_Zg2_Zg3_Xsq1r@  Xsq2rB  r*   )rp   r+   rC    s    
zTestFligner.test_trimmed1c             C   sz   ddddddddg}d	dd
dddddg}t j||ddd\}}t j|dd |dd dd\}}t|| t|| d S )Ng333333?g       @g      @g      @g      @g      @g      @g      Y@g        g      @g      @g      @g      i@r=  g      ?)r<  r>  r   r'   )r<  rj   rj   )r   r\  r   )r%   r3   r  rb  r@  rc  rB  r*   r*   r+   rE    s    
$
zTestFligner.test_trimmed2c             C   s&   t jddd}tttj||dd d S )Nr   r   g?)rG  rj   )r1   r  r-   rH  r   r\  )r%   r3   r*   r*   r+   rI    s    zTestFligner.test_bad_keywordc             C   s&   t jddd}tttj||dd d S )Nr   r   rJ  )r<  rj   )r1   r  r-   r.   r   r\  )r%   r3   r*   r*   r+   rK    s    z!TestFligner.test_bad_center_valuec             C   s   t ttjdg d S )Nr   )r-   r.   r   r\  )r%   r*   r*   r+   test_bad_num_args  s    zTestFligner.test_bad_num_argsc             C   s.   t jd}tt jt jftj||d g  d S )NrJ   r   )r1   r2   r	   re   r   r\  )r%   r3   r*   r*   r+   r8    s    
zTestFligner.test_empty_argN)
r8   r9   r:   r7  rC  rE  rI  rK  rd  r8  r*   r*   r*   r+   rY    s   rY  c               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestMoodc             C   s&   t jd}ttj||d dd d S )NrJ   r   g8!?iT?r   8!)rg  rf  )r1   r2   r   r   mood)r%   r[   r*   r*   r+   	test_mood  s    
zTestMood.test_moodc             C   s`   t jjd t jjdd}t jjdd}tj||\}}tj||\}}t||g| |g d S )Ni  ri   r   r0   )r1   rW   rX   r^  r   rh  r   )r%   r[   r_   Zz1p1Zz2p2r*   r*   r+   test_mood_order_of_args  s    z TestMood.test_mood_order_of_argsc             C   s   d9dd:ddd;ddd	d<ddd=d>dd?d@dddg}dAdddBdCdddDddEdd dFdGd#dHd%d&d'd(d)dId+d,d-dJd/dKd1d2g}t j|}t j|}dL|_dM|_ttj||d d6dNd8g d S )ONg?g۟?gy<7x?g1)E?g9cç?g
FA?g<=ӟ	2?g{![?g_l?gڻ{?gGSsA0?g1?g 3?g@gL?g_l?g,*.?gː53?gvNqG?gW=?gd"?g `Y#?g^g?gN?gBa?gp5_%?g(?gv]l?gg?g?gr6ʺ?ḡj?gK!?g{?g&?g*h}@gZ?gyBU?g .ۋ4?g|w;?g&ck @gRj2?g}+w(o?g@F?g}_9t?g =@g	S?gx(?gg7Y?g{ih?ri   r   r0   )axisg4?g^}E	?ggy<7xg
FAgڻ{ӿg 3gg_lg,*.gd"gNgBagv]lοggK!ٿg{g*h}gRj2g =gx()ri   r   )r0   r   g4)r1   rb   shaper   r   rh  )r%   r[   r_   r*   r*   r+   test_mood_with_axis_none  s.    


z!TestMood.test_mood_with_axis_nonec          	   C   s   d}t jjd t jjd|}t jjd|}tj||\}}xFt|D ]:}t|| || gtj|d d |f |d d |f  qFW |j }|j }tj||dd\}}xFt|D ]:}t|| || gtj||d d f ||d d f  qW d S )NrJ   i  ri   r0   r   )rm  )	r1   rW   rX   r^  r   rh  ranger   Z	transpose)r%   nyr[   r_   	z_vectestpval_vectestjr6   r*   r*   r+   test_mood_2d  s    *zTestMood.test_mood_2dc             C   sN  d
}t jjd t jj| }t jj| }xtdD ]}tj|||d\}}ddgd	dgd	dgf}xt||| d	  D ]}xt||| d  D ]}	|d	kr|d d ||	f }
|d d ||	f }nR|dkr||d d |	f }
||d d |	f }n$|||	d d f }
|||	d d f }t|||	f |||	f gtj|
| qW qzW q4W d S )Nri   rJ   r   i  rH   )rm  r   r   r   )ri   rJ   r   )r1   rW   rX   r^  rp  r   rh  r   )r%   rn  r[   r_   rm  rr  rs  Zaxes_idxr6   rt  Zslice1Zslice2r*   r*   r+   test_mood_3d  s(    zTestMood.test_mood_3dc             C   s   t ttjdgg  d S )Nr   )r-   r.   r   rh  )r%   r*   r*   r+   test_mood_bad_arg6  s    zTestMood.test_mood_bad_argN)	r8   r9   r:   ri  rl  ro  ru  rv  rw  r*   r*   r*   r+   re    s   
re  c               @   sV   e Zd Zdd Zdd Zdd Zejje	 ddd	d
 Z
dd Zdd Zdd ZdS )TestProbplotc             C   s   t jjd tjjdd}tj|dd\}}dddddddddddddddd
d	dddg}t|t j| t|| tj|dd\}}dddg}t|| d S )Ni90  r   )rT   F)r}   g+/?gY3?gt?g5Z0?gFj?g!2?gsR{?g7?g>h?gcz隇?TgƝV?g?gà?g+/gY3gtg5Z0gFjg!2gsR{ܿg7Կg>hǿgcz隇)	r1   rW   rX   r   rY   rZ   probplotr   sort)r%   r3   osmosrZosm_expectedr5   Zres_fitZres_fit_expectedr*   r*   r+   r,   >  s    

zTestProbplot.test_basicc       
      C   s   t jjd tjjdd}tj|d dd\}}tj|ddd\}}tj|f dd\}}t|| t|| t|| t|| tj|f dd\}}	d S )Ni@ rQ   )rT   F)sparamsr}   r   )r1   rW   rX   r   rY   rZ   ry  r   )
r%   r3   osm1osr1osm2osr2Zosm3Zosr3r{  r|  r*   r*   r+   test_sparams_keywordN  s    



z!TestProbplot.test_sparams_keywordc             C   s   t jjd tjjdd}tj|dddd\}}tj|dtjdd\}}t|| t|| t	t
tj|dd	 t	ttj|g d	 G d
d dt}tj|ddd\}}tj|| dd\}}t|| t|| d S )Ni90  r   )rT   FtrH   )r}   r   r}  zwrong-dist-name)r   c               @   s   e Zd ZdZdd ZdS )z3TestProbplot.test_dist_keyword.<locals>.custom_distz6Some class that looks just enough like a distribution.c             S   s   t jj|ddS )Nr   )rR   )r   rY   ppf)r%   qr*   r*   r+   r  j  s    z7TestProbplot.test_dist_keyword.<locals>.custom_dist.ppfN)r8   r9   r:   __doc__r  r*   r*   r*   r+   custom_disth  s   r  r   )r}  r}   )r   r}   )rH   )rH   )r   )r1   rW   rX   r   rY   rZ   ry  r  r   r-   r.   AttributeErrorrc   )r%   r3   r~  r  r  r  r  r*   r*   r+   test_dist_keyword]  s    


zTestProbplot.test_dist_keywordzno matplotlib)reasonc       
      C   s  t jjd tj }|jd tjjddd}tj	|td\}}tj
  tj	|d d\}}tj	|dtd}tj
  tj	|dd d}tt|t|  kot|  kot|  kod	kn   t|| t|| t|| t|| tj }|jd}	tj	|d|	d tj
  d S )
Nit r   rH   rQ   )rT   )plotF)r}   r  r   )r1   rW   rX   pltfigureadd_subplotr   r  rZ   ry  closer   r{   r   )
r%   figr3   Zres1Zfitres1Zres2Zfitres2Zres3Zres4axr*   r*   r+   test_plot_kwargr  s&    
@




zTestProbplot.test_plot_kwargc             C   s   t ttjdgdd d S )Nr   r   )r   )r-   r.   r   ry  )r%   r*   r*   r+   test_probplot_bad_args  s    z#TestProbplot.test_probplot_bad_argsc             C   sZ   t tjg ddtjg tjg f t tjg ddtjg tjg ftjtjdff d S )NF)r}   Tg        )r	   r   ry  r1   rb   re   )r%   r*   r*   r+   
test_empty  s
    zTestProbplot.test_emptyc             C   sT   t jdd> ttjdgddt jdgt jdgft jt jdff W d Q R X d S )Nrv   )invalidr   T)r}   g        )r1   rx   r	   r   ry  rb   re   )r%   r*   r*   r+   test_array_of_size_one  s    z#TestProbplot.test_array_of_size_oneN)r8   r9   r:   r,   r  r  pytestmarkskipifhave_matplotlibr  r  r  r  r*   r*   r*   r+   rx  <  s   rx  c               @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zejjdd#d$dgd%dd&d'dgd(d)dd*d+d,ddggdd Zd d! Zd"S )-TestWilcoxonc             C   sh   t ttjdgddg t ttjddgddgd t ttjddgddgdd t ttjdgd dd d S )Nr   r   dummy)rV  ri   Zxyz)mode)r-   r.   r   wilcoxon)r%   r*   r*   r+   test_wilcoxon_bad_arg  s
    z"TestWilcoxon.test_wilcoxon_bad_argc             C   sR   t jd}tttj||ddd tttj||ddd ttj||dddd d S )Nr   wilcoxapprox)r  prattzsplitr   rI         ?i       @Z@)r  r  )r1   r2   r-   r.   r   r  r	   )r%   r3   r*   r*   r+   test_zero_diff  s    
zTestWilcoxon.test_zero_diffc             C   sX   ddddg}ddddg}t  &}|jtdd tj||dd	d
}W d Q R X t|d d S )Nr   r   rH   rI   rJ   zSample size too small)r  r  r  )zero_methodr          |N?)r  r  )r
   r  r  r   r  r   )r%   r3   r  r  r5   r*   r*   r+   
test_pratt  s    zTestWilcoxon.test_prattc             C   sN   ddddd
ddddddg}t j|ddd}t j|ddd}t j|d	dd}d S )Nr   r   rH   r   r  r  )r  r  r  r  rj   )r   r  )r%   Zarrr  r*   r*   r+   test_wilcoxon_arg_type  s    z#TestWilcoxon.test_wilcoxon_arg_typec             C   sh  dddddddddg	}t d2d}tjdd	 t||D }tj|j}tj||d
dd\}}t|d t|d tj||ddd\}}t|d t|d tj||ddd\}}t|d t|d tj	dddddddddddd g}tj	d!d"d#d$d d%d&dd'dd(d)g}tj||d*dd+\}}t
|d, t|d-d.d/ tj||d0dd+\}}t
|d, t|d1d.d/ d S )3Nr   rI   r   r0   r   rJ   r   c             S   s   g | ]\}}|g| qS r*   r*   )rF   urt   r*   r*   r+   rG     s    z7TestWilcoxon.test_accuracy_wilcoxon.<locals>.<listcomp>r  r  )r  i  g.i?r  i  gFYv]Uj?r  iG  g%^ Ez?r   r&  r   r         y   r      r!     p         w            s   r      F)
correctionr  r   g^҂<?gư>)r   Tg:b+?)rp  r1   ZconcatenatezipzerosrT   r   r  r   rb   r	   )r%   freqnumsr3   r  r6  r   r*   r*   r+   test_accuracy_wilcoxon  s*    






""

z#TestWilcoxon.test_accuracy_wilcoxonc             C   sh   t jddddddddd	d
ddg}t jdddddddd
ddddg}tj||ddd}d}t|| d S )Nr   r&  r   r   r  r  r  r   r  r!  r  r  r  r  r  r  r  r  r  r   r  Fr  )r  r  r#   rV   )r#   rV   )r1   rb   r   r  r   )r%   r3   r  r5   r4   r*   r*   r+   test_wilcoxon_result_attributes  s
    ""z,TestWilcoxon.test_wilcoxon_result_attributesc             C   sn   t jdgd dd\}}d}t|d t||dd t jdgd d	dd
\}}d}t|d t||dd d S )Ng?ri   r  )r  g4IťY?r   gư>)r   T)r  r  gc2_?)r   r  r	   r   )r%   statr   Z
expected_pr*   r*   r+   test_wilcoxon_tie  s    	

zTestWilcoxon.test_wilcoxon_tiec          #   C   sp  ddddddddddg
}dddddd	d
dddg
}t  *}|jtdd tj||ddd\}}W d Q R X t|d t|ddd t  ,}|jtdd tj||dddd\}}W d Q R X t|d t|ddd t  *}|jtdd tj||ddd\}}W d Q R X t|d t|ddd t  ,}|jtdd tj||dddd\}}W d Q R X t|d t|ddd d S )N}   r  r         r#  z   r   |   r]        zSample size too small)r  rU  r  )rV  r  r   g13}?r   )r   T)rV  r  r  g7a%?rW  g?gڏoJT?)r
   r  r  r   r  r	   r   )r%   r3   r  r  r\   r   r*   r*   r+   test_onesided  s0    	 

 

zTestWilcoxon.test_onesidedc             C   sP   xJt ddD ]<}t|}t||d  d d t| tt|d|  qW d S )Nr   r   r   )rp  r   r	   r{   sum)r%   r   Zcntr*   r*   r+   test_exact_basic#  s    zTestWilcoxon.test_exact_basicc             C   sV  t jdddd(ddd)dd*d
g
}t jddd+dd,d-d.d/d0d1g
}tj||ddd\}}t|ddd tj||ddd\}}t|ddd tj||ddd\}}t|ddd t jdd d! }t jd dd2}tj||ddd\}}t|d#dd tj||ddd\}}t|d$dd tj||ddd\}}t|d%dd t jd&d" }tttj|dd' d S )3Ng(\?g=
ףp=?g(\?gQ?gQ?g{Gz?gp=
ף?gq=
ףp?g      ?gQ?gQ?g?g?g333333?g?g?gzG?gQ?g(\?gRQ?z	two-sidedexact)rV  r  g֔  ?r   )r   rU  gYJ?rW  g*  ?r   r   g      ?r   g(?g(?gS?r   )r  gQ޿gp=
ףg      gɿggܿgzGgQοg(\gRQrj   )r1   rb   r   r  r   r2   r-   r.   )r%   r3   r  r  r   dr*   r*   r+   test_exact_pval)  s(    

zTestWilcoxon.test_exact_pvalr3   r   r   rH   rI   rJ   r   r   r   c             C   s@   t j|\}}tj|}||dk j }t|| t|d d S )Nr   r   )r   r  r1   rb   r  r	   )r%   r3   r\   r   Zwtruer*   r*   r+   test_exact_p_1G  s
    

zTestWilcoxon.test_exact_p_1c             C   s   t jddd }t jddd}ttj||tj||dd t jdd}t "}|jtdd	 tj|\}}W d Q R X ttj|d
d||f t jdd}ttj|tj|d
d d S )Nr   r   g      ?r   r  )r  r   zExact p-value calculation)r  r  r   rj   )r1   r2   r	   r   r  r
   r  r  )r%   r3   r  r  r  r\   r   r*   r*   r+   	test_autoQ  s    zTestWilcoxon.test_autoNrj   rk   rj   r  rj   rk   r  i)r8   r9   r:   r  r  r  r  r  r  r  r  r  r  r  r  parametrizer  r  r*   r*   r*   r+   r    s   	
	& r  c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
	TestKstatc                s   t jjd t jjd  fdddD }d	d
ddg}t||dd tj dd}tj dd}tj dd}t|||f|d d ddd d S )Ni}  i90  c                s   g | ]}t j |qS r*   )r   kstat)rF   r   )r&   r*   r+   rG   h  s    z>TestKstat.test_moments_normal_distribution.<locals>.<listcomp>r   r   rH   rI   gHQ,?glZ)rI?g88}?gcJN?g-C6?)r   )momentg{Gz?g{Gz?)r   r   )r   r   rH   rI   rj   )r1   rW   rX   r^  r   r   r  )r%   Zmomentsexpectedm1m2Zm3r*   )r&   r+    test_moments_normal_distributione  s    z*TestKstat.test_moments_normal_distributionc             C   s   t ttjg  d S )N)r-   r.   r   r  )r%   r*   r*   r+   r/   s  s    zTestKstat.test_empty_inputc             C   s*   t jd}t j|d< ttj|t j d S )Ng      $@r   )r1   r2   re   r	   r   r  )r%   r&   r*   r*   r+   rf   v  s    

zTestKstat.test_nan_inputc             C   s.   t jd}xdD ]}tttj||d qW d S )Nri   r   /$@)r   )r   r  )r1   r2   r-   r.   r   r  )r%   r&   r   r*   r*   r+   test_kstat_bad_arg|  s    

zTestKstat.test_kstat_bad_argN)r8   r9   r:   r  r/   rf   r  r*   r*   r*   r+   r  d  s   r  c               @   s$   e Zd Zdd Zdd Zdd ZdS )TestKstatVarc             C   s   t ttjg  d S )N)r-   r.   r   kstatvar)r%   r*   r*   r+   r/     s    zTestKstatVar.test_empty_inputc             C   s*   t jd}t j|d< ttj|t j d S )Ng      $@r   )r1   r2   re   r	   r   r  )r%   r&   r*   r*   r+   rf     s    

zTestKstatVar.test_nan_inputc             C   s    dg}d}t ttj||d d S )Nr   ri   )r   )r-   r.   r   r  )r%   r&   r   r*   r*   r+   rD     s    zTestKstatVar.test_bad_argN)r8   r9   r:   r/   rf   rD   r*   r*   r*   r+   r    s   r  c               @   sN   e Zd Zdd Zdd Zdd Zejje	 ddd	d
 Z
dd Zdd ZdS )TestPpccPlotc             C   s&   t jjd tjjdddd | _d S )Nit rJ   i  )rT   )r1   rW   rX   r   loggammarZ   r3   )r%   r*   r*   r+   setup_method  s    zTestPpccPlot.setup_methodc             C   sN   d}t j| jd
d|d\}}dddddg}t|tjdd|d	 t|| d S )NrJ   ri   )Ng9%	?gxM _?g";9?g®XZ?g?)numii)r   	ppcc_plotr3   r   r1   r  )r%   r  svalsppccppcc_expectedr*   r*   r+   r,     s    zTestPpccPlot.test_basicc             C   s   t j| jdddd\}}t j| jddt jd\}}t||dd t||dd t j| jdd\}}t||dd t||dd d S )	Nri   tukeylambda)r   g#B;)r   iii)r   r  r3   r  r   )r%   Zsvals1Zppcc1Zsvals2Zppcc2Zsvals3Zppcc3r*   r*   r+   	test_dist  s    zTestPpccPlot.test_distzno matplotlib)r  c             C   sZ   t j }|jd}tj| jddt d |j| |jd}tj| jdd|d t j  d S )Nr   r   )r  ii)r  r  r  r   r  r3   delaxesr  )r%   r  r  r*   r*   r+   r    s    


zTestPpccPlot.test_plot_kwargc             C   s4   t ttj| jdd t ttjdddgdddd d S )Nr   r   r   rH   r   )r   )r-   r.   r   r  r3   )r%   r*   r*   r+   test_invalid_inputs  s    z TestPpccPlot.test_invalid_inputsc             C   s@   t jg dd\}}t|tjdddd t|tjdtd d S )Nr   r   r   )r  )ra   )r   r  r   r1   r  r  float)r%   r  r  r*   r*   r+   r    s    zTestPpccPlot.test_emptyN)r8   r9   r:   r  r,   r  r  r  r  r  r  r  r  r*   r*   r*   r+   r    s   r  c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestPpccMaxc             C   s   dg}t ttj|dd d S )Nr   r   )r   )r-   r.   r   ppcc_max)r%   r&   r*   r*   r+   test_ppcc_max_bad_arg  s    z!TestPpccMax.test_ppcc_max_bad_argc             C   s<   t jjd tjjdddddd }ttj|dd	d
 d S )Ni gffffff?r   g      ?i'  )rR   rS   rT   g     @g{?r   )r   gffffffg{)r1   rW   rX   r   r  rZ   r   r  )r%   r3   r*   r*   r+   test_ppcc_max_basic  s    zTestPpccMax.test_ppcc_max_basicc             C   sz   t jjd tjjdddddd }tj|dd	}tj|tjd	}t|ddd t|ddd tj|}t|ddd d S )Ni gffffff?r   g      ?i'  )rR   rS   rT   g     @r  )r   g{?rJ   )r   gffffffg{g{g{)r1   rW   rX   r   r  rZ   r  r   )r%   r3   Zmax1Zmax2Zmax3r*   r*   r+   r    s    
zTestPpccMax.test_distc             C   sj   t jjd tjjdddddd }tttj|dd
 t	tj|dd
ddd t	tj|dd
ddd d S )Ni gffffff?r         ?i'  )rR   rS   rT   g     @              ?)Zbrackr   r   g{?r   )r   gffffff)r  r  r  )r   r   g{rk   )rk   r   g{)
r1   rW   rX   r   r  rZ   r-   r.   r  r   )r%   r3   r*   r*   r+   
test_brack  s    
zTestPpccMax.test_brackN)r8   r9   r:   r  r  r  r  r*   r*   r*   r+   r    s   r  c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestBoxcox_llfc             C   s^   t jjd tjjddd}d}tj||}|j d t jt j	|j
 d  }t|| d S )Ni1  i'  ri   )rT   rR   r   g       @r   )r1   rW   rX   r   rY   rZ   
boxcox_llfrT   logr  r)   r   )r%   r3   lmbdallfZllf_expectedr*   r*   r+   r,     s    $zTestBoxcox_llf.test_basicc             C   sN   t jjd tjjddd}d}tj||}tj|t|}t||dd d S )Ni1  rQ   ri   )rT   rR   r   g-q=)r   )	r1   rW   rX   r   rY   rZ   r  listr   )r%   r3   r  r  llf2r*   r*   r+   test_array_like  s    zTestBoxcox_llf.test_array_likec             C   sZ   t jjd tjjddd}d}tj||}tj|t j||gj}t	||g|dd d S )Ni1  rQ   ri   )rT   rR   r   g-q=)r   )
r1   rW   rX   r   rY   rZ   r  vstackr6  r   )r%   r3   r  r  r  r*   r*   r+   test_2d_input  s    zTestBoxcox_llf.test_2d_inputc             C   s   t tjtjdg  d S )Nr   )r   r1   isnanr   r  )r%   r*   r*   r+   r    s    zTestBoxcox_llf.test_emptyc             C   s&   ddddg}t jd|}t|d d S )Ng     h@g      m@g     x@r   g#:x1@ig#:x1)r   r  r   )r%   r&   r  r*   r*   r+   test_gh_6873  s    zTestBoxcox_llf.test_gh_6873N)r8   r9   r:   r,   r  r  r  r  r*   r*   r*   r+   r    s
   r  iU>  iϵ i i_
 i7 i is iv  i+ i* i-q ir: i  i i i i_ i4  i iD  i i, iE i\  i i| ig  iM iӢ i[  i! i if6 iP i i iI i/ iF& i i i`# i i  i& i i iQ ia i
 iXZ iw  i_ im  iD i- iB  i:C i	 i' i  i % ix i  iz_ iQ i!# i= i  ix i
 iU7 i_ i1k iW9 i& ix iI i  iT i
 i i  irv im i͟  i iO iv i) iP i4 i= ii  iU i i ig> ix	 i` i| i0 i` iM	 i ' i[ i8 i  i3[ i  i) i`N i
	 i  i[ i:+ ip i	% i
  iV i[$ iX  i_ ib ieZ i i`?	 it i  i iE i iT iy i imv i< iZ i! i i(  ir
 i i iɪ i| i i> ii  i i* i# ix i i& i i# i1g iP i) iۆ i{% i? i۽ i| i i& i- iư) i+c i7  iQ i	o i& i|_ iy
 i6 i  i i i:J i#j i8 i  i%  i i%W i( i` i: ina  i  i i% i$ i4 iA( iq  i  i" iy iXZ i izr i i$ i; is igY i i7 ip	 ip iL6" iDH i i!3 i iI( i|C iш i im  iS i  i{8 i  i i iP i2L i( i@ is iu i2 i_ ij i)m igZ i_ iu	 i9 ik  i'; i ii iK i܃ i i= iv i= i ia  ir  i i i}W i*  i  iJ i i  i2  iUF iNj	 iV," ip iA i% i iv9 iI5 i  iT- i  i8~ i?e` i1 iV  i/X i= i4 i iح i^ i i/ ig i( i i|B; ip i ic iE' iE i$
 i i{ ik i: iI iA_ i iP ioP  i6_ i iܲ iO	 iA7 iL  iA i iV  iwm i iZh i|V iԇC iw i& i~ i i'  i!  i i
 i} ie i3 i i i_ i  i@) i  iV ii iF i? i&
 i"Y iw i  iH iS ird ib i@ iK iA; iz| id+ i	 i
8 i"  i	 iO i_ i$l i!9 ii iT iuL iQ'% iqp iC i]K@ i! i i  iIp| i i?	B i i io0 i i

 i  i5% i i i* i i iv0 i* i* iw i  ive i$ i i- iD~ i- i i,4 ib i  i iP0 i) im i	 iR iQ i
 i i c               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )
TestBoxcoxc             C   s   t jjd tjjdddd }tj|dd}t||d  tj|dd}t|dd|   tj|dd}t|t j| tjt	|dd}t|t j| d S )	Ni90  rJ   rh   )rT   r   )r  r   rj   )
r1   rW   rX   r   r  rZ   boxcoxr   r  r  )r%   r3   xtr*   r*   r+   test_fixed_lmbdaO  s    zTestBoxcox.test_fixed_lmbdac             C   sb   t jjd t jjd d}tjjddd}|| d |  }tj|\}}t|d
| dd	 d S )Ni i  g      @ri   iP  )rR   rT   r   r   )r   rj   )r1   rW   rX   r   rY   rZ   r  r   )r%   r  r3   x_invr  maxlogr*   r*   r+   test_lmbda_None^  s    zTestBoxcox.test_lmbda_Nonec             C   s   t jjd tjjdddd }tj|dd\}}}t|ddg tj|d	d\}}}t|d
dg tjjdddd }tj|dd\}}}t|ddg tj|dd\}}}t|ddg d S )Ni  rJ   rh   )rT   g      ?)alphagx@gv[%@g?gxˉEk?g8Bhk @r   i  r0   gMbP?g\?gx̡&@g+?g7(U@gp:sY@)r1   rW   rX   r   r  rZ   r  r   )r%   r3   r  rC   r*   r*   r+   
test_alphaj  s    zTestBoxcox.test_alphac             C   sR   t jddg}tttj| tttjt jdg tttjt jdgdgg d S )Nr   r   rj   )r1   rb   r-   r.   r   r  )r%   r3   r*   r*   r+   test_boxcox_bad_arg{  s    zTestBoxcox.test_boxcox_bad_argc             C   s   t tjg jdk d S )Nr   )r   )r   r   r  rn  )r%   r*   r*   r+   r    s    zTestBoxcox.test_emptyc             C   s    t jt\}}t|ddd d S )NgsHjdr?gh㈵>)r   gsHjdr)r   r  _boxcox_datar   )r%   r  Zlamr*   r*   r+   r    s    zTestBoxcox.test_gh_6873N)	r8   r9   r:   r  r
  r  r  r  r  r*   r*   r*   r+   r  M  s   	r  c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestBoxcoxNormmaxc             C   s&   t jjd tjjdddd | _d S )Ni90  rJ   rh   )rT   )r1   rW   rX   r   r  rZ   r3   )r%   r*   r*   r+   r    s    zTestBoxcoxNormmax.setup_methodc             C   s   t j| j}t|ddd d S )Ngm?gư>)r   )r   boxcox_normmaxr3   r   )r%   r	  r*   r*   r+   test_pearsonr  s    zTestBoxcoxNormmax.test_pearsonrc             C   s<   t j| jdd}t|ddd t j| j\}}t|| d S )NZmle)methodg	.!?gư>)r   )r   r  r3   r   r  )r%   r	  r  Zmaxlog_boxcoxr*   r*   r+   test_mle  s    zTestBoxcoxNormmax.test_mlec             C   s&   t j| jdd}t|ddgdd d S )Nrw   )r  gm?g	.!?gư>)r   )r   r  r3   r   )r%   Z
maxlog_allr*   r*   r+   test_all  s    zTestBoxcoxNormmax.test_allN)r8   r9   r:   r  r  r  r  r*   r*   r*   r+   r    s   r  c               @   sF   e Zd Zdd Zdd Zejje dddd Z	d	d
 Z
dd ZdS )TestBoxcoxNormplotc             C   s&   t jjd tjjdddd | _d S )Nit rJ   i  )rT   )r1   rW   rX   r   r  rZ   r3   )r%   r*   r*   r+   r    s    zTestBoxcoxNormplot.setup_methodc             C   sN   d}t j| jd
d|d\}}dddddg}t|tjdd|d	 t|| d S )NrJ   ri   )r  g!X4}?g΁i?g-	15?gW$?g\ܱ{?)r  ii)r   boxcox_normplotr3   r   r1   r  )r%   r  Zlmbdasr  r  r*   r*   r+   r,     s    zTestBoxcoxNormplot.test_basiczno matplotlib)r  c             C   sZ   t j }|jd}tj| jddt d |j| |jd}tj| jdd|d t j  d S )Nr   r   )r  ii)r  r  r  r   r  r3   r  r  )r%   r  r  r*   r*   r+   r    s    


z"TestBoxcoxNormplot.test_plot_kwargc             C   s.   t ttj| jdd t ttjddgdd d S )Nr   r   rj   )r-   r.   r   r  r3   )r%   r*   r*   r+   r    s    z&TestBoxcoxNormplot.test_invalid_inputsc             C   s   t tjg ddjdk d S )Nr   r   )r   r   r  rT   )r%   r*   r*   r+   r    s    zTestBoxcoxNormplot.test_emptyN)r8   r9   r:   r  r,   r  r  r  r  r  r  r  r*   r*   r*   r+   r    s
   r  c               @   s$   e Zd Zdd Zdd Zdd ZdS )TestYeojohnson_llfc             C   sN   t jjd tjjddd}d}tj||}tj|t|}t||dd d S )Ni1  rQ   r   )rT   rR   r   g-q=)r   )	r1   rW   rX   r   rY   rZ   yeojohnson_llfr  r   )r%   r3   r  r  r  r*   r*   r+   r    s    z"TestYeojohnson_llf.test_array_likec             C   sZ   t jjd tjjddd}d}tj||}tj|t j||gj}t	||g|dd d S )Ni1  rQ   ri   )rT   rR   r   g-q=)r   )
r1   rW   rX   r   rY   rZ   r  r   r6  r   )r%   r3   r  r  r  r*   r*   r+   r    s    z TestYeojohnson_llf.test_2d_inputc             C   s   t tjtjdg  d S )Nr   )r   r1   r  r   r  )r%   r*   r*   r+   r    s    zTestYeojohnson_llf.test_emptyN)r8   r9   r:   r  r  r  r*   r*   r*   r+   r    s   r  c               @   s   e Zd Zdd Zejjdddddgdd	 Zd
d Zdd Z	ejjde
je
jgdd Zejjde
je
je
je
jgdd ZdS )TestYeojohnsonc             C   s  t jjd tjjdddd }t j|dks2ttj|dd}t	|| tj|d
d}t	|dd|d    tj|dd}t	|t j
|d  tj|dd}t	|| tjjdddd }t j|dk sttj|dd}t	|t j
| d   tj|dd}t	|| tj|d	d}t	|d| d  d  tjjdddd }t j|dk  s\tt j|dk srt|dk}tj|dd}t	|| ||  tj|dd}t	|| dd|| d    tj|dd}t	|| t j
|| d  tj|dd}t	|| ||  | }tj|dd}t	|| t j
||  d   tj|dd}t	|| ||  tj|d	d}t	|| d||  d  d  d S )Ni90  rJ   rh   )rT   r   r   )r  r   rH   rj   rj   )r1   rW   rX   r   r  rZ   rw   AssertionError
yeojohnsonr   r  )r%   r3   r  posnegr*   r*   r+   r    sL    


 zTestYeojohnson.test_fixed_lmbdar  r   g?g      ?r   c             C   s   dd }t jjd d}t jjdd|d}|||}tj|\}}t||dd	 tdt jj	|| | d
d td|j
 dd td|j dd d S )Nc             S   s   t j| j| jd}| dk}t|t jdk rDt j| | d ||< n$t j| | | d d| d ||< t|d t jdkrdt jd|  | |   d dd|   || < ndt j| |    || < |S )N)ra   r   g      ?r   r   )r1   r  rn  ra   absspacingexppower)r3   r  r  r  r*   r*   r+   _inverse_transform  s    $z:TestYeojohnson.test_lmbda_None.<locals>._inverse_transformi i N  r   r   )rR   rS   rT   g{Gz?)r   r   )r   )r1   rW   rX   normalr   r  r   r   ZlinalgrY   r'   r)   )r%   r  r"  Z	n_samplesr3   r  r  r	  r*   r*   r+   r
    s    
zTestYeojohnson.test_lmbda_Nonec             C   s   t tjg jdk d S )Nr   )r   )r   r   r  rn  )r%   r*   r*   r+   r  6  s    zTestYeojohnson.test_emptyc             C   sN   t jjd tjjddd}tj|\}}tjt|\}}t||dd d S )Ni1  rQ   r   )rT   rR   g-q=)r   )	r1   rW   rX   r   rY   rZ   r  r  r   )r%   r3   Zxt1r  Zxt2r*   r*   r+   r  9  s
    zTestYeojohnson.test_array_likera   c          	   C   s:   t jd|d}d}tjt|d tj| W d Q R X d S )Nr   )ra   z>Yeo-Johnson transformation is not defined for complex numbers.)match)r1   r2   r  r   r.   r   r  )r%   ra   r3   err_msgr*   r*   r+   test_input_dtype_complex@  s    z'TestYeojohnson.test_input_dtype_complexc             C   sZ   t jd|d}t jdt jd}tj|\}}tj|\}}t||dd t||dd d S )Nr   )ra   gHz>)r   )r1   r2   Zfloat64r   r  r   )r%   ra   Zx_intZx_floatZxt_intZ	lmbda_intZxt_floatZlmbda_floatr*   r*   r+   test_input_dtype_integerH  s    z'TestYeojohnson.test_input_dtype_integerN)r8   r9   r:   r  r  r  r  r
  r  r  r1   Z	complex64Z
complex128r&  Zint8uint8Zint16Zint32r'  r*   r*   r*   r+   r    s   /%r  c               @   s$   e Zd Zdd Zdd Zdd ZdS )TestYeojohnsonNormmaxc             C   s&   t jjd tjjdddd | _d S )Ni90  rJ   rh   )rT   )r1   rW   rX   r   r  rZ   r3   )r%   r*   r*   r+   r  S  s    z"TestYeojohnsonNormmax.setup_methodc             C   s   t j| j}t|ddd d S )Ng?gư>)r   )r   yeojohnson_normmaxr3   r   )r%   r	  r*   r*   r+   r  W  s    zTestYeojohnsonNormmax.test_mlec             C   sD   ddddddddd	d
dddddg}t j|}tj|ddds@td S )Ngffffff@g @g      ?g       @gffffff?g333333@g      @gffffff@g?g@g      @g      @g"@g      @g      @gzG?gMbP?)r   g g      )r   r*  r1   Zallcloser  )r%   r3   r  r*   r*   r+   test_darwin_example[  s    
z)TestYeojohnsonNormmax.test_darwin_exampleN)r8   r9   r:   r  r  r+  r*   r*   r*   r+   r)  R  s   r)  c               @   s  e Zd Zejjdejdfejdfej	dfgdd Z
dd Zd	d
 Zdd Zdd Zejjdejdfejdfej	dfgdd Zejjdejejej	gdd Zejjdejejej	gdd Zejjdejejdddfejejdddfej	ejdddfgdd Zejjdejdejd d!d"d#d$d%gejd&d'gdfejd(ejd)d*d*d+d,d,gejdd-gdfej	d.ejd/d0d0d1d2d2gejd3d4gdfgd5d6 Zejjdejdfejdfej	dfgd7d8 Zejjdejejej	gd9d: Zejjdejejej	gd;d< Zejjd=d>d?d@dAdBdCejgejd>d?d@dAdBdCejgdDdEdFdGejdHdIgggejjdejejej	gdJdK Zejjd=d>d?d@dAdBdCejgejd>d?d@dAdBdCejgdDdEdFdGejdHdIgggejjdejejej	gdLdM ZdNdO ZdPdQ ZdRdS ZdTS )UTestCircFuncsztest_func,expectedgA:wv?gk~_ЀBE@gE|2@c             C   s0   t jddddddg}t||dd|d	d
 d S )Nic  rJ   r   ig  ri   i^  ih  )highgHz>)r   )r1   rb   r   )r%   	test_funcr  r3   r*   r*   r+   test_circfuncse  s    zTestCircFuncs.test_circfuncsc             C   s   t jdddddddg}|j }tj|dd	}t||d
d |j }tj|dd	}t||dd |j }tj	|dd	}t||dd d S )Nr   r   r   r      g     4@g3333333@ih  )r-  gh㈵>)r   g-C6?)
r1   rb   r'   r   circmeanr   r(   circvarr)   circstd)r%   r3   M1M2V1V2S1S2r*   r*   r+   test_circfuncs_smallm  s    z"TestCircFuncs.test_circfuncs_smallc          	      s   t jddddddgddd	d
ddgddddd	dgg tj dd}tj j dd}t||dd tj ddd} fddt jd D }t||dd tj ddd} fddt jd D }t||dd d S )Nic  rJ   r   ig  ri   i^  i_  r   rI   i`  r   i]  ie  r   if  id  ih  )r-  g+=)r   r   )r-  rm  c                s   g | ]}t j | d dqS )ih  )r-  )r   r1  )rF   r6   )r3   r*   r+   rG     s    z4TestCircFuncs.test_circmean_axis.<locals>.<listcomp>r   c                s&   g | ]}t j d d |f ddqS )Nih  )r-  )r   r1  )rF   r6   )r3   r*   r+   rG     s    )r1   rb   r   r1  ravelr   rp  rn  )r%   r4  r5  r*   )r3   r+   test_circmean_axis{  s    z TestCircFuncs.test_circmean_axisc          	      s   t jddddddgddd	d
ddgddddd	dgg tj dd}tj j dd}t||dd tj ddd} fddt jd D }t||dd tj ddd} fddt jd D }t||dd d S )Nic  rJ   r   ig  ri   i^  i_  r   rI   i`  r   i]  ie  r   if  id  ih  )r-  gdy=)r   r   )r-  rm  c                s   g | ]}t j | d dqS )ih  )r-  )r   r2  )rF   r6   )r3   r*   r+   rG     s    z3TestCircFuncs.test_circvar_axis.<locals>.<listcomp>r   c                s&   g | ]}t j d d |f ddqS )Nih  )r-  )r   r2  )rF   r6   )r3   r*   r+   rG     s    )r1   rb   r   r2  r;  r   rp  rn  )r%   r6  r7  r*   )r3   r+   test_circvar_axis  s    zTestCircFuncs.test_circvar_axisc          	      s   t jddddddgddd	d
ddgddddd	dgg tj dd}tj j dd}t||dd tj ddd} fddt jd D }t||dd tj ddd} fddt jd D }t||dd d S )Nic  rJ   r   ig  ri   i^  i_  r   rI   i`  r   i]  ie  r   if  id  ih  )r-  gdy=)r   r   )r-  rm  c                s   g | ]}t j | d dqS )ih  )r-  )r   r3  )rF   r6   )r3   r*   r+   rG     s    z3TestCircFuncs.test_circstd_axis.<locals>.<listcomp>r   c                s&   g | ]}t j d d |f ddqS )Nih  )r-  )r   r3  )rF   r6   )r3   r*   r+   rG     s    )r1   rb   r   r3  r;  r   rp  rn  )r%   r8  r9  r*   )r3   r+   test_circstd_axis  s    zTestCircFuncs.test_circstd_axisc             C   s*   ddddddg}t ||dd|d	d
 d S )Nic  rJ   r   ig  ri   i^  ih  )r-  gHz>)r   )r   )r%   r.  r  r3   r*   r*   r+   test_circfuncs_array_like  s    z'TestCircFuncs.test_circfuncs_array_liker.  c             C   s   t tj|g  d S )N)r   r1   r  )r%   r.  r*   r*   r+   r    s    zTestCircFuncs.test_emptyc             C   s.   ddddddt jg}tt j||dd d S )	Nic  rJ   r   ig  ri   i^  ih  )r-  )r1   re   r   r  )r%   r.  r3   r*   r*   r+   test_nan_propagate  s    z TestCircFuncs.test_nan_propagateg5:v@gfPb?)Nr   r   gڴV0@gLԿAB@g#q@gauy+@c          
   C   s   t jdddddddgdd	d
dddt jgdt jt jt jt jt jt jgg}xf|j D ]Z}||d|d}|d kr|tt j| qRt|d || dd tt j|dd  j  qRW d S )Nic  rJ   r   ig  ri   i^  r   i_  r   rI   i`  r   i]  ih  )r-  rm  r   gHz>)r   )r1   rb   re   keysr   r  r   rw   )r%   r.  r  r3   rm  outr*   r*   r+   test_nan_propagate_array  s    "z&TestCircFuncs.test_nan_propagate_arraygrQvv@g     v@g      @g      @g     8v@g      #@g     u@g5@v?g2>Bjv@gtUuYK@gR @gzw<5 ?g~/ϔ(@gK ?g sQP@gJPm$@gj  @g ?g)h;@g{ ?gun2@g+fa @c          
   C   s   t jddddddt jgddd	d
ddt jgt jt jt jt jt jt jt jgg}xh|j D ]\}||dd|d}|d krt||| dd qVt|d d || dd tt j|d  qVW d S )Nic  rJ   r   ig  ri   i^  i_  r   rI   i`  r   i]  ih  omit)r-  
nan_policyrm  gHz>)r   r   rj   rj   )r1   rb   re   rA  r   r   r  )r%   r.  r  r3   rm  rB  r*   r*   r+   test_nan_omit_array  s    $z!TestCircFuncs.test_nan_omit_arrayc             C   s0   ddddddt jg}t||ddd	|d
d d S )Nic  rJ   r   ig  ri   i^  ih  rD  )r-  rE  gHz>)r   )r1   re   r   )r%   r.  r  r3   r*   r*   r+   test_nan_omit  s    zTestCircFuncs.test_nan_omitc             C   s2   t jt jt jt jt jg}tt j||dd d S )NrD  )rE  )r1   re   r   r  )r%   r.  r3   r*   r*   r+   test_nan_omit_all  s    zTestCircFuncs.test_nan_omit_allc             C   sj   t jt jt jt jt jt jgt jt jt jt jt jgg}||ddd}tt j|j  tt|dk d S )NrD  r   )rE  rm  r   )r1   rb   re   r   r  rw   r{   )r%   r.  r3   rB  r*   r*   r+   test_nan_omit_all_axis   s
    z$TestCircFuncs.test_nan_omit_all_axisr3   ic  rJ   r   ig  ri   i^  i_  r   rI   i`  r   i]  c             C   s   t t||ddd d S )Nih  raise)r-  rE  )r-   r.   )r%   r.  r3   r*   r*   r+   test_nan_raise	  s    zTestCircFuncs.test_nan_raisec             C   s   t t||ddd d S )Nih  foobar)r-  rE  )r-   r.   )r%   r.  r3   r*   r*   r+   test_bad_nan_policy  s    z!TestCircFuncs.test_bad_nan_policyc             C   s$   d}|}t j|}t||dd d S )Ng      ?gh㈵>)r   )r   r1  r   )r%   r3   r4  r5  r*   r*   r+   test_circmean_scalar  s    
z"TestCircFuncs.test_circmean_scalarc             C   s@   t jtjdddtjtj }t|tjk  t|tj k d S )Nr   r   g?)r   r1  r1   r2   pir   )r%   mr*   r*   r+   test_circmean_range!  s    z!TestCircFuncs.test_circmean_rangec             C   sZ   t jddgdd}ttj|ddd ttj|dddd	d
 ttj|dddd	d
 d S )N   ri   r(  )ra   r  )r-  g     @e@g.}}VW{@gHz>)r   g)#p_4@)r1   rb   r	   r   r1  r   r2  r3  )r%   r3   r*   r*   r+   test_circfuncs_unit8(  s    z"TestCircFuncs.test_circfuncs_unit8N)r8   r9   r:   r  r  r  r   r1  r2  r3  r/  r:  r<  r=  r>  r?  r  r@  r1   re   rC  rb   rF  rG  rH  rI  rK  rM  rN  rQ  rS  r*   r*   r*   r+   r,  d  s   

 r,  c               @   sd   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd ZdS )TestMedianTestc             C   s   t ttjdddg d S )Nr   r   rH   )r-   r.   r   median_test)r%   r*   r*   r+   test_bad_n_samples3  s    z!TestMedianTest.test_bad_n_samplesc             C   s   t ttjg dddg d S )Nr   r   rH   )r-   r.   r   rU  )r%   r*   r*   r+   r  7  s    z TestMedianTest.test_empty_samplec             C   s,   t ttjddddgdddgddgdd d S )Nr   r   r   rv   )ties)r-   r.   r   rU  )r%   r*   r*   r+   test_empty_when_ties_ignored;  s    z+TestMedianTest.test_empty_when_ties_ignoredc             C   s@   t ttjdddgdddg t ttjdddgdddgdd d S )Nr   above)rW  )r-   r.   r   rU  )r%   r*   r*   r+   test_empty_contingency_rowC  s    z)TestMedianTest.test_empty_contingency_rowc             C   s"   t ttjdddgddgdd d S )Nr   r   rH   rI   rJ   foo)rW  )r-   r.   r   rU  )r%   r*   r*   r+   test_bad_tiesO  s    zTestMedianTest.test_bad_tiesc             C   s"   t ttjdddgddgdd d S )Nr   r   rH   rI   rJ   rL  )rE  )r-   r.   r   rU  )r%   r*   r*   r+   rM  S  s    z"TestMedianTest.test_bad_nan_policyc             C   s"   t ttjdddgddgdd d S )Nr   r   rH   rI   rJ   r[  )r[  )r-   rH  r   rU  )r%   r*   r*   r+   rI  V  s    zTestMedianTest.test_bad_keywordc             C   s`   dddg}dddg}t j||\}}}}t|d t|ddgddgg t|d t|d d S )Nr   r   rH   g       @r   )r   rU  r	   r   )r%   r3   r  r  r   Zmedtblr*   r*   r+   test_simpleZ  s    



zTestMedianTest.test_simplec             C   s   ddddg}ddg}ddd	g}t j|||\}}}}t|d t|d
ddgddd
gg t j|||dd\}}}}t|d t|d
ddgdd
d
gg t j|||dd\}}}}t|d t|d
ddgdd
d
gg d S )Nr   r   rH   rI   rJ   r   r   r   r   r   rv   )rW  rY  )r   rU  r	   )r%   r3   r  zr  r   rP  r]  r*   r*   r+   test_ties_optionsi  s    



z TestMedianTest.test_ties_optionsc             C   s   ddt jg}dddg}tj||dd}tj||dd\}}}}t|t jt jt jd f t|d	 t|d
 t|d t|t jddgddgg tttj||dd d S )Nr   r   rI   rJ   r   	propagate)rE  rD  g     ?gإvao?g      @r   rJ  )	r1   re   r   rU  r	   r   rb   r-   r.   )r%   r3   r  Zmt1r   r   rP  r  r*   r*   r+   test_nan_policy_options}  s    



z&TestMedianTest.test_nan_policy_optionsc             C   s<  dddddg}ddddg}t j||\}}}}t|d t|ddgddgg t j|\}}}	}
t|| t|| t j||dd	\}}}}t|d t|ddgddgg t j|dd	\}}}	}
t|| t|| t j||d
d\}}}}t|d t|ddgddgg t j|d
d\}}}	}
t|| t|| d S )Nr   r   rH   rI   rJ   r   r   r   )Zlambda_F)r  )r   rU  r	   Zchi2_contingencyr   )r%   r3   r  r  r   rP  r]  Zexp_statZexp_pZdofer*   r*   r+   r,     s(    







zTestMedianTest.test_basicN)r8   r9   r:   rV  r  rX  rZ  r\  rM  rI  r^  r`  rb  r,   r*   r*   r*   r+   rT  1  s   rT  )DrK   Znumpyr1   Znumpy.randomr   Znumpy.testingr   r   r   r   r   r   r	   r
   r  r   r-   Zscipyr   Zcommon_testsr   Z
_hypotestsr   Z
matplotlibZrcParamsZmatplotlib.pyplotZpyplotr  r  	Exceptionr*  r+  r,  r-  r.  r/  r0  r1  r2  r3  rc   r   r;   rP   rg   r   r  r)  r:  rM  rY  re  rx  r  r  r  r  r  r  r  r  r  r  r  r  r)  r,  rT  r*   r*   r*   r+   <module>   s   (


![S G,E#Dgb G7%,$$$$$$$$$$$$$$$$$$$$$ $$$$
C$r N