403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_statistics.cpython-36.opt-2.pyc
3

�
�^D)�@sHddlZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
Z
dd�Zdd�Zdd	�Z
d_dd
�ZGdd�d�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGd d!�d!ej�ZGd"d#�d#ej�ZGd$d%�d%ej�ZGd&d'�d'ej�ZGd(d)�d)ej�ZGd*d+�d+ej�ZGd,d-�d-ej�ZGd.d/�d/ej�Z Gd0d1�d1ej�Z!Gd2d3�d3ej�Z"Gd4d5�d5�Z#Gd6d7�d7�Z$Gd8d9�d9e#e$�Z%Gd:d;�d;e�Z&Gd<d=�d=e�Z'Gd>d?�d?e�Z(Gd@dA�dAe#�Z)GdBdC�dCee)e$�Z*GdDdE�dEee)e$�Z+GdFdG�dGee)�Z,GdHdI�dIee$�Z-GdJdK�dKe,e$�Z.GdLdM�dMe,e$�Z/GdNdO�dOe,�Z0GdPdQ�dQee)e$�Z1GdRdS�dSe#�Z2GdTdU�dUe2ee$�Z3GdVdW�dWe2ee$�Z4GdXdY�dYe2e�Z5GdZd[�d[e2e�Z6d\d]�Z7e8d^k�rDej9�dS)`�N)�Decimal)�FractioncCstjd|�S)N�)�math�copysign)�x�r�4/opt/alt/python36/lib64/python3.6/test_statistics.py�signsr
cCsZt|�t|�k	rdSt|t�r2tj|�o0tj|�S|j�d}|j�d}||koX|dkS)NF��n�N)rr
)�type�
isinstance�floatr�isnanZas_tuple)�a�bZaexpZbexprrr	�
_nan_equals
rcCs:tt|�t|��}t||�}|r*||ntd�}||fS)N�inf)�max�absr)�actual�expected�base�abs_err�rel_errrrr	�_calc_errors;s
r��-���q=�H�����z>cCs�|dks|dkrtd��tj|�s,tj|�r0dS||kr<dStj|�sPtj|�rTdSt||�}t||tt|�t|���}||kS)Nrz%error tolerances must be non-negativeFT)�
ValueErrorrr�isinfrr)r�y�tol�relZactual_errorZ
allowed_errorrrr	�approx_equalKs"r%c@seZdZdS)�
_DoNothingN)�__name__�
__module__�__qualname__rrrr	r&�s$r&c@s<eZdZdZZddd�Zdd�Zddd�Zed	d
��Z	dS)
�NumericTestCaserNcCsV|dkr|j}|dkr|j}t|tj�r<t|tj�r<|j}n|j}||||||�dS)N)r#r$r�collections�Sequence�_check_approx_seq�_check_approx_num)�self�first�secondr#r$�msg�checkrrr	�assertApproxEqual�sz!NumericTestCase.assertApproxEqualc
Csrt|�t|�kr:dt|�t|�f}|j||�}|j|��x2tt||��D] \}\}}	|j||	||||�qJWdS)Nz0sequences differ in length: %d items != %d items)�len�_formatMessage�failureException�	enumerate�zipr.)
r/r0r1r#r$r2�standardMsg�ir�errr	r-�s
z!NumericTestCase._check_approx_seqcCs>t||||�rdS|j|||||�}|j||�}|j|��dS)N)r%�_make_std_err_msgr6r7)r/r0r1r#r$r2�idxr:rrr	r.�s
z!NumericTestCase._check_approx_numc	Cs>d}|dk	rd|}||}t||�\}}|||||||fS)Nzk  %r != %r
  values differ by more than tol=%r and rel=%r
  -> absolute error = %r
  -> relative error = %rz,numeric sequences first differ at index %d.
)r)	r0r1r#r$r>�template�headerrrrrr	r=�sz!NumericTestCase._make_std_err_msg)NNN)N)
r'r(r)r#r$r4r-r.�staticmethodr=rrrr	r*�s

+
	r*c@seZdZdd�ZdS)�TestSigncCs$|jtd�d�|jtd�d�dS)Ngrrg����)�assertEqualr
)r/rrr	�
testZeroesszTestSign.testZeroesN)r'r(r)rErrrr	rBsrBc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�ApproxEqualSymmetryTestcCsXdddtd�tdd�g}ddd
td
�tdd�g}x"t||�D]\}}|j||�q<WdS)Ni�	gfffff�B@gfffff�(@z2.54��6i�	g������B@gR����(@z2.59�gfffff�(�gR����(�)rrr9�do_relative_symmetry)r/Zargs1Zargs2rrrrr	�test_relative_symmetrys
z.ApproxEqualSymmetryTest.test_relative_symmetrycCstt||�t||�}}||}t||�t||�}}||d}|jt||d|d��|jt||d|d��dS)Nrr)r#r$)�minrr�
assertTruer%)r/rr�deltaZrel_err1Zrel_err2r$rrr	rJ,sz,ApproxEqualSymmetryTest.do_relative_symmetrycCsd
ddddg}d}x�|D]�}x�ttttfD]�}||�d}||}t|t||��}|j||||d�|j|||dd|d�|j|||d|dd�|j||||dd�|j|||d|d�|j|||dd|d�|j||d	d	d�|j||d	d	d�q*WqWdS)N�r��ki�m�d)r#r$rri�����)�intrrrrr�do_symmetry_test)r/�argsrNr�type_rr"�rrrr	�
test_symmetry8s
z%ApproxEqualSymmetryTest.test_symmetrycCs@d}t||||�}t||||�}|j|||j||||f��dS)Nz+approx_equal comparisons don't match for %r)r%rD�format)r/rrr#r$r?Zflag1Zflag2rrr	rUPsz(ApproxEqualSymmetryTest.do_symmetry_testN)r'r(r)rKrJrYrUrrrr	rFsrFc@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�ApproxEqualExactTestcCsJt||||d�}|j|d|�t||||d�}|j|d|�dS)N)r#r$zequality failure for x=%r)r%rM)r/rr#r$�resultrrr	�do_exactly_equal_test]sz*ApproxEqualExactTest.do_exactly_equal_testcCs xd	D]}|j|dd�qWdS)
N�*�M�~:����U�
��r)r^r_r`rarbrcrd)r])r/rrrr	�test_exactly_equal_intscs
z,ApproxEqualExactTest.test_exactly_equal_intscCs xd	D]}|j|dd�qWdS)
N��z�G��?�/�$���?皙���e�@�7@�pf@�!�rh��Q@�B`��"KB@r)rfrgrhrirjrkrl)r])r/rrrr	�test_exactly_equal_floatshs
z.ApproxEqualExactTest.test_exactly_equal_floatscCsRt}xH|dd�|d�|dd�|dd�|dd	�|dd�gD]}|j|dd�q8WdS)
NrrrrP��	��#�$)rr])r/�F�frrr	�test_exactly_equal_fractionsms8z1ApproxEqualExactTest.test_exactly_equal_fractionscCs.t}x$t|dj��D]}|j|dd�qWdS)Nz8.2 31.274 912.04 16.745 1.2047r)r�map�splitr])r/�D�drrr	�test_exactly_equal_decimalsssz0ApproxEqualExactTest.test_exactly_equal_decimalscCsJxDdD]<}|j|dd�|j|d	dd�t|d
�}|j|dd�qWdS)N���\����g{�G�z�?r�
i�)r{r|r}r~rr�)r]r)r/rrtrrr	�test_exactly_equal_absoluteys


z0ApproxEqualExactTest.test_exactly_equal_absolutecCs2|jtd�td�d�|jtd�td�d�dS)Nz3.571z0.01rz81.3971)r]r)r/rrr	�$test_exactly_equal_absolute_decimals�sz9ApproxEqualExactTest.test_exactly_equal_absolute_decimalscCsDx(ddd
tdd�gD]}|j|dd�qW|jtd�dtd	��dS)Ni� g33333SY@g�z�G�@rP�rg{�G�z�?z11.68z0.01g�z�G�)rr]r)r/rrrr	�test_exactly_equal_relative�sz0ApproxEqualExactTest.test_exactly_equal_relativecCsLx(dddtdd�gD]}|j|dd�qWt}|j|d�|d	�|d
��dS)Ni9�gˡE��0@g\��(h�@rn�g�������?g{�G�z�?z7.2z0.1z0.01g\��(h��)rr]r)r/rrxrrr	�test_exactly_equal_both�sz,ApproxEqualExactTest.test_exactly_equal_bothN)r'r(r)r]rermrurzr�r�r�r�rrrr	r[Wsr[c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ApproxEqualUnequalTestcCs<x6||fD](}t||dddd�}|j|d|�qWdS)Nrr)r#r$zinequality failure for x=%r)r%�assertFalse)r/rrr\rrr	�do_exactly_unequal_test�sz.ApproxEqualUnequalTest.do_exactly_unequal_testcCsxdD]}|j|�qWdS)N�鑻����XC)r�r�r�r�r�)r�)r/rrrr	�test_exactly_unequal_ints�s
z0ApproxEqualUnequalTest.test_exactly_unequal_intscCsxdD]}|j|�qWdS)N��Q�#@�����[�@�fffff�G@�ףp=
W"@�=
ףp=1@)r�r�r�r�r�)r�)r/rrrr	�test_exactly_unequal_floats�s
z2ApproxEqualUnequalTest.test_exactly_unequal_floatscCs@t}x6|dd�|dd�|dd�|dd�gD]}|j|�q*WdS)	NrrPrpro���eiς)rr�)r/rsrtrrr	�test_exactly_unequal_fractions�s*z5ApproxEqualUnequalTest.test_exactly_unequal_fractionscCs&x ttdj��D]}|j|�qWdS)Nz!3.1415 298.12 3.47 18.996 0.00245)rvrrwr�)r/ryrrr	�test_exactly_unequal_decimals�sz4ApproxEqualUnequalTest.test_exactly_unequal_decimalsN)r'r(r)r�r�r�r�r�rrrr	r��s
r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�ApproxEqualInexactTestcCsfd}x\||||fD]H}|j||�}|jt||d|dd�|�|jt|||ddd�|�qWdS)NzTest failure for x={!r}, y={!r}rr)r#r$)rZrMr%r�)r/rrNr?r"r2rrr	�do_approx_equal_abs_test�s
z/ApproxEqualInexactTest.do_approx_equal_abs_testcCs*x$dD]}|j|d�|j|d�qWdS)Ni�)i�rprrrro�%��&�6�jr�����I������rS)r�r�r�rSrrror�r�r�r�)r�)r/rrrr	�test_approx_equal_absolute_ints�s
z6ApproxEqualInexactTest.test_approx_equal_absolute_intsc	Cs6x0dD](}|j|d
�|j|d�|j|d�qWdS)Ng�t��q@gfffffFX@g333333@g333333@��?��?�333333@��Q���@������ҭ@g�?g{�G�z�?g-C��6?�t��q��fffffFX��333333��333333�)	r�r�r�r�r�r�r�r�r�)r�)r/rrrr	�!test_approx_equal_absolute_floats�s
z8ApproxEqualInexactTest.test_approx_equal_absolute_floatscCs\tdd�}ddddddddd	d
dg}x2dd
�|D�D] }|j||�|j|t|��q4WdS)Nr��TrIrrrPrGrO�"�Gcss|]}t|d�VqdS)r�N)r)�.0rrrr	�	<genexpr>�szNApproxEqualInexactTest.test_approx_equal_absolute_fractions.<locals>.<genexpr>i����i�rSrC)rr�r)r/rN�
numeratorsrtrrr	�$test_approx_equal_absolute_fractions�s

z;ApproxEqualInexactTest.test_approx_equal_absolute_fractionscCs>td�}x0ttdj��D]}|j||�|j||�qWdS)Nz0.01z1.0 3.5 36.08 61.79 7912.3648)rrvrwr�)r/rNryrrr	�#test_approx_equal_absolute_decimals�sz:ApproxEqualInexactTest.test_approx_equal_absolute_decimalscCs|jtddddd��dS)Ng�h㈵��>g-C��6?r)r#r$g�h㈵��)rMr%)r/rrr	�test_cross_zero�sz&ApproxEqualInexactTest.test_cross_zerocCsnd}xd|d||d|fD]H}|j||�}|jt||dd|d�|�|jt||d|dd�|�qWdS)NzTest failure for x={!r}, y={!r}rrr)r#r$)rZrMr%r�)r/rrNr?r"r2rrr	�do_approx_equal_rel_test�s
z/ApproxEqualInexactTest.do_approx_equal_rel_testcCsr|jtddddd��|jtddddd��|jtdddd	d��|jtd
ddd	d��|jtdddd	d��dS)N�@�/rg
ףp=
�?)r#r$g�G�z��?i�ig�?i�i�)rMr%r�)r/rrr	�test_approx_equal_relative_ints�s
z6ApproxEqualInexactTest.test_approx_equal_relative_intscCs*x$dD]}|j|d�|j|d�qWdS)Ng{�G�Jf@皙�����?��?�\��(|B@�ʡE>�@���x��@g{�G�z�?g-C��6?�{�G�Jf�皙������)r�r�r�r�r�r�r�)r�)r/rrrr	�!test_approx_equal_relative_floats�s
z8ApproxEqualInexactTest.test_approx_equal_relative_floatscCspt}tdd�}x\|dd�|dd�|dd�|dd	�gD]4}x.|t|�fD]}|j||�|j||�qFWq4WdS)
Nrnr�r�rG��1�2�\�U)rrr�)r/rsrNrtryrrr	�$test_approx_equal_relative_fractions�s
*z;ApproxEqualInexactTest.test_approx_equal_relative_fractionscCs>x8ttdj��D]&}|j|td��|j|td��qWdS)Nz$0.02 1.0 5.7 13.67 94.138 91027.9321z0.001z0.05)rvrrwr�)r/ryrrr	�#test_approx_equal_relative_decimalssz:ApproxEqualInexactTest.test_approx_equal_relative_decimalscCst|r
|jn|j}|t|||dd��|r.|jn|j}|t||d|d��|sP|rV|jn|j}|t||||d��dS)Nr)r#r$)rMr�r%)r/rrr#r$Ztol_flagZrel_flagr3rrr	�
do_check_bothsz$ApproxEqualInexactTest.do_check_bothcCs,|jdddddd�|jd
ddd	dd�dS)NgR����@g+���@g����Mbp?g���W�8?Tg?5^�I�@g%��C�@g����Mb`?g-C��6*?g?5^�I��g%��C��)r�)r/rrr	�test_approx_equal_both1sz.ApproxEqualInexactTest.test_approx_equal_both1cCs|jdddddd�dS)NgR����@g+���@g����Mbp?gV�F�?8?TF)r�)r/rrr	�test_approx_equal_both2sz.ApproxEqualInexactTest.test_approx_equal_both2cCs|jdddddd�dS)NgR����@g+���@g����MbP?g���W�8?FT)r�)r/rrr	�test_approx_equal_both3#sz.ApproxEqualInexactTest.test_approx_equal_both3cCs,|jdddddd�|jdddd	dd�dS)
Ng=
ףp=@g@g{�G�z�?g����MbP?Fg�Q��[�@g�(\��[�@g{�G�z�?giUMu�>)r�)r/rrr	�test_approx_equal_both4'sz.ApproxEqualInexactTest.test_approx_equal_both4N)r'r(r)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	r��s 		r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�ApproxEqualSpecialsTestcCs�x�ttfD]z}|d�}|jt||��|jt||dd��|jt||dd��|jt||��|jt||��|jt|d��q
WdS)Nrrrg{�G�z�?i�)rrrMr%r�)r/rWrrrr	�test_inf0sz ApproxEqualSpecialsTest.test_infcCsFx@ttfD]4}|d�}x&||d�dfD]}|jt||��q&Wq
WdS)N�nanri�)rrr�r%)r/rWr��otherrrr	�test_nan:sz ApproxEqualSpecialsTest.test_nancCs&tjdd�}|jt|dddd��dS)Ngrg�������?)r#r$rC)rrrMr%)r/�nzerorrr	�test_float_zeroes@sz)ApproxEqualSpecialsTest.test_float_zeroescCs&td�}|jt|td�ddd��dS)Nz-0.0rg�������?)r#r$)rrMr%)r/r�rrr	�test_decimal_zeroesDsz+ApproxEqualSpecialsTest.test_decimal_zeroesN)r'r(r)r�r�r�r�rrrr	r�-s
r�c@seZdZdd�Zdd�ZdS)�TestApproxEqualErrorscCs|jttdddd�dS)NrRrg�������?rC)�assertRaisesr r%)r/rrr	�test_bad_tolLsz"TestApproxEqualErrors.test_bad_tolcCs|jttdddd�dS)NrRrg�������?g��������)r�r r%)r/rrr	�test_bad_relPsz"TestApproxEqualErrors.test_bad_relN)r'r(r)r�r�rrrr	r�Isr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestNumericTestCasecCs2tj|�}|j|�}x|D]}|j||�qWdS)N)r*r=�generate_substringsZassertIn)r/rVZ
actual_msgrZ	substringrrr	�do_test`s


zTestNumericTestCase.do_testcCs|jtttj��dS)N)rM�
issubclassr*�unittest�TestCase)r/rrr	� test_numerictestcase_is_testcasefsz4TestNumericTestCase.test_numerictestcase_is_testcasecCsd}|j|�dS)N�@�@��?��?)r�r�r�r�N)r�)r/rVrrr	�test_error_msg_numericjsz*TestNumericTestCase.test_error_msg_numericcCsd}|j|�dS)N�@�� @��?��?rp)r�r�r�r�rp)r�)r/rVrrr	�test_error_msg_sequenceosz+TestNumericTestCase.test_error_msg_sequencec	CsDt||�\}}d|d|d|d|g}|dk	r@|jd|�|S)Nztol=%rzrel=%rzabsolute error = %rzrelative error = %rzdiffer at index %d)r�append)	r/r0r1r#r$r>rrZ
substringsrrr	r�ts
z'TestNumericTestCase.generate_substringsN)r'r(r)r�r�r�r�r�rrrr	r�Zs
r�c@s(eZdZeZddgZdd�Zdd�ZdS)�GlobalsTest�__doc__�__all__cCs,x&|jD]}|jt|j|�d|�qWdS)Nz%s not present)�expected_metadatarM�hasattr�module)r/�metarrr	�	test_meta�szGlobalsTest.test_metacCsF|j}x:|jD]0}|j|jd�d|�|jt||�d|�qWdS)N�_zprivate name "%s" in __all__zmissing name "%s" in __all__)r�r�r��
startswithrMr�)r/r��namerrr	�test_check_all�s
zGlobalsTest.test_check_allN)r'r(r)�
statisticsr�r�r�r�rrrr	r��sr�c@s(eZdZejejjdkd�dd��ZdS)�DocTestsrz)Docstrings are omitted with -OO and abovecCs0tjttjd�\}}|j|d�|j|d�dS)N)Zoptionflagsr)�doctestZtestmodr��ELLIPSIS�
assertGreaterrD)r/ZfailedZtriedrrr	�test_doc_tests�szDocTests.test_doc_testsN)	r'r(r)r�ZskipIf�sys�flags�optimizerrrrr	r��sr�c@seZdZdd�ZdS)�StatisticsErrorTestcCs4d}|jttd��|jttjt�|tjj�dS)NzNExpected StatisticsError to be a ValueError, but got a subclass of %r instead.�StatisticsError)rMr�r�r�rr �__base__)r/�errmsgrrr	�test_has_exception�s

z&StatisticsErrorTest.test_has_exceptionN)r'r(r)r	rrrr	r�src@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ExactRatioTestcCs(x"dD]}|jtj|�|df�qWdS)N�rnrrP�cr�r������� F�x:^V)r
rrrPrr)rDr��_exact_ratio)r/r;rrr	�test_int�s
zExactRatioTest.test_intcCs6d}x,|D]$}t|d�}|jtj|�|df�q
WdS)NrPrr��&r����)rrr�r)rrDr�r)r/r�rrtrrr	�
test_fraction�s

zExactRatioTest.test_fractioncCsf|jtjd�d	�|jtjd�d
�dd�td�D�}x*|D]"}tj|�\}}|j|||�q<WdS)Ng�?rr�g�?rocSsg|]}tjdd��qS)rRi����)�random�uniform)r�r�rrr	�
<listcomp>�sz-ExactRatioTest.test_float.<locals>.<listcomp>rR)rr�)ror�)rDr�r�range)r/�datar�num�denrrr	�
test_float�s
zExactRatioTest.test_floatcCsJt}tj}|j||d��d
�|j||d��d�|j||d��d
�dS)Nz0.125rr�z12.345�	��z-1.98rr�)rr�)rr���)rr�)rr�rrD)r/rxrrrr	�test_decimal�s
zExactRatioTest.test_decimalcCs�td�}Gdd�dt�}Gdd�dt�}xr||fD]d}x^t|t|fD]N}||�}tj|�}|j||df�|jt|d�|�|jtj|d��qFWq4WdS)N�INFc@seZdZdS)z(ExactRatioTest.test_inf.<locals>.MyFloatN)r'r(r)rrrr	�MyFloat�sr"c@seZdZdS)z*ExactRatioTest.test_inf.<locals>.MyDecimalN)r'r(r)rrrr	�	MyDecimal�sr#r)	rrr�rrDrrMrr!)r/r!r"r#rrWr�ratiorrr	r��s
zExactRatioTest.test_infcCsxtd�}Gdd�dt�}xZ|||�fD]J}tj|�}|jtj|d��|j|dd�|jt|d�t|��q&WdS)N�NANc@seZdZdS)z.ExactRatioTest.test_float_nan.<locals>.MyFloatN)r'r(r)rrrr	r"�sr"rr)	rr�rrMrr�assertIsrDr)r/r%r"r�r$rrr	�test_float_nan�s
zExactRatioTest.test_float_nancCs�td�}td�}Gdd�dt�}xb|||�|||�fD]J}tj|�}|jt|d|��|j|dd�|jt|d�t|��q6WdS)Nr%�sNANc@seZdZdS)z2ExactRatioTest.test_decimal_nan.<locals>.MyDecimalN)r'r(r)rrrr	r#�sr#rr)rr�rrMrr&rDr)r/r%r(r#r�r$rrr	�test_decimal_nan�s
zExactRatioTest.test_decimal_nanN)
r'r(r)rrrr r�r'r)rrrr	r
�s
r
c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�DecimalToRatioTestcCs<td�}|jtj|�|df�|jtj|�|df�dS)Nr!)rrDr�r)r/rrrr	�
test_infinity�sz DecimalToRatioTest.test_infinitycCsHxBtd�td�fD].}tj|�\}}|jt||��|j|d�qWdS)Nr%r()rr�rrMrr&)r/r�rrrrr	r��szDecimalToRatioTest.test_nancCsptd�td�g}xZ|D]R}tj|�\}}|j|d�|j|d�tj|�\}}|j|d�|j|d�qWdS)Nz	9.8765e12z
9.8765e-12r)rr�r�assertGreaterEqualrZassertLessEqual)r/Znumbersryrrrrr	�	test_signs
zDecimalToRatioTest.test_signcCstjtd��}|j|d�dS)Nz0.1234�i�)r.r/)r�rrrD)r/�trrr	�test_negative_exponentsz)DecimalToRatioTest.test_negative_exponentcCstjtd��}|j|d�dS)Nz1.234e7� K�r)r2r)r�rrrD)r/r0rrr	�test_positive_exponentsz)DecimalToRatioTest.test_positive_exponentcCs8tjtd��}|j|d�tjtd��}|j|d�dS)NZ1e2rRrz1.47e5�8>)rRr)r4r)r�rrrD)r/r0rrr	�test_regression_20536sz(DecimalToRatioTest.test_regression_20536N)	r'r(r)r+r�r-r1r3r5rrrr	r*�s
r*c@s$eZdZdd�Zdd�Zdd�ZdS)�IsFiniteTestcCs4x.dtdd�dtd�fD]}|jtj|��qWdS)NrPrrng@z5.5)rrrMr��	_isfinite)r/rrrr	�test_finite+szIsFiniteTest.test_finitecCs.x(td�td�fD]}|jtj|��qWdS)Nr)rrr�r�r7)r/rrrr	r+0szIsFiniteTest.test_infinitycCs4x.td�td�td�fD]}|jtj|��qWdS)Nr�r%r()rrr�r�r7)r/rrrr	r�5szIsFiniteTest.test_nanN)r'r(r)r8r+r�rrrr	r6(sr6c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�
CoerceTestcCsRxLttttfD]<}|jtj|t�|�Gdd�d|�}|jtj|t�|�qWdS)Nc@seZdZdS)z%CoerceTest.test_bool.<locals>.MyClassN)r'r(r)rrrr	�MyClassVsr:)rTrrrr&r��_coerce�bool)r/�Tr:rrr	�	test_boolPszCoerceTest.test_boolcCs,|jtj||�|�|jtj||�|�dS)N)r&r�r;)r/�A�Brrr	�assertCoerceToYszCoerceTest.assertCoerceTocCsT|j||�Gdd�d|�}|j||�Gdd�d|�}|j||�|j||�dS)Nc@seZdZdS)z/CoerceTest.check_coerce_to.<locals>.SubclassOfAN)r'r(r)rrrr	�SubclassOfAcsrBc@seZdZdS)z/CoerceTest.check_coerce_to.<locals>.SubclassOfBN)r'r(r)rrrr	�SubclassOfBfsrC)rA)r/r?r@rBrCrrr	�check_coerce_to^szCoerceTest.check_coerce_tocCs,|jttj||f�|jttj||f�dS)N)r��	TypeErrorr�r;)r/r?r@rrr	�assertCoerceRaisesjszCoerceTest.assertCoerceRaisescCs�|jtj||�|�Gdd�d|�}Gdd�d|�}Gdd�d|�}x|||fD]}|j||�qPW|j||�|j||�|j||�dS)Nc@seZdZdS)z*CoerceTest.check_type_coercions.<locals>.UN)r'r(r)rrrr	�UusrGc@seZdZdS)z*CoerceTest.check_type_coercions.<locals>.VN)r'r(r)rrrr	�VvsrHc@seZdZdS)z*CoerceTest.check_type_coercions.<locals>.WN)r'r(r)rrrr	�WwsrI)r&r�r;rArF)r/r=rGrHrI�typrrr	�check_type_coercionsoszCoerceTest.check_type_coercionscCs.|jt�xtttfD]}|jt|�qWdS)N)rKrTrrrrD)r/rJrrr	rs
zCoerceTest.test_intcCs|jt�|jtt�dS)N)rKrrDr)r/rrr	r�s
zCoerceTest.test_fractioncCs|jt�dS)N)rKr)r/rrr	r �szCoerceTest.test_decimalcCs|jt�dS)N)rKr)r/rrr	r�szCoerceTest.test_floatcCsBx<tttd�ttfD]&}x ttttfD]}|j	||�q&WqWdS)N)
�str�listr�tuple�dictrTrrrrF)r/Zbad_typeZ	good_typerrr	�test_non_numeric_types�sz!CoerceTest.test_non_numeric_typescCs>x8ttfD],}Gdd�d|�}|j|t�|j|t�q
WdS)Nc@seZdZdS)z6CoerceTest.test_incompatible_types.<locals>.MySubclassN)r'r(r)rrrr	�
MySubclass�srQ)rrrFr)r/r=rQrrr	�test_incompatible_types�sz"CoerceTest.test_incompatible_typesN)r'r(r)r>rArDrFrKrrr rrPrRrrrr	r9;s	r9c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ConvertTestcCs$|j||�|jt|�t|��dS)N)rDr&r)r/rr"rrr	�check_exact_equal�szConvertTest.check_exact_equalcCsPtjtd�t�}|j|d�Gdd�dt�}tjtd�|�}|j||d��dS)Nr�c@seZdZdS)z#ConvertTest.test_int.<locals>.MyIntN)r'r(r)rrrr	�MyInt�srUrG)r��_convertrrTrT)r/rrUrrr	r�s
zConvertTest.test_intcCs\tjtdd�t�}|j|tdd��Gdd�dt�}tjtdd�|�}|j||dd��dS)N�_rcseZdZ�fdd�Z�ZS)z-ConvertTest.test_fraction.<locals>.MyFractioncs|jt�j|��S)N)�	__class__�super�__truediv__)r/r�)rXrr	rZ�sz9ConvertTest.test_fraction.<locals>.MyFraction.__truediv__)r'r(r)rZ�
__classcell__rr)rXr	�
MyFraction�sr\r��
)r�rVrrT)r/rr\rrr	r�s
zConvertTest.test_fractioncCsTtjtd	d�t�}|j|d
�Gdd�dt�}tjtdd�|�}|j||d��dS)Nrrg�?cseZdZ�fdd�Z�ZS)z'ConvertTest.test_float.<locals>.MyFloatcs|jt�j|��S)N)rXrYrZ)r/r�)rXrr	rZ�sz3ConvertTest.test_float.<locals>.MyFloat.__truediv__)r'r(r)rZr[rr)rXr	r"�sr"ror�g�?rCg�)r�rVrrrT)r/rr"rrr	r�s
zConvertTest.test_floatcCsXtjtdd�t�}|j|td��Gdd�dt�}tjtd	d�|�}|j||d��dS)
Nr�(z0.025cseZdZ�fdd�Z�ZS)z+ConvertTest.test_decimal.<locals>.MyDecimalcs|jt�j|��S)N)rXrYrZ)r/r�)rXrr	rZ�sz7ConvertTest.test_decimal.<locals>.MyDecimal.__truediv__)r'r(r)rZr[rr)rXr	r#�sr#rIr{z-0.9375i�)r�rVrrrT)r/rr#rrr	r �s
zConvertTest.test_decimalcCsNxHtd�td�fD]4}x.||fD] }tj|t|��}|j||�q"WqWdS)Nr)rrr�rVrrT)r/r!rrrrr	r��szConvertTest.test_infcCsDx>td�td�td�fD]$}tj|t|��}|jt||��qWdS)Nr�r%r()rrr�rVrrMr)r/r�rrrr	r��szConvertTest.test_nanN)
r'r(r)rTrrrr r�r�rrrr	rS�s


rSc@s$eZdZdd�Zdd�Zdd�ZdS)�FailNegTestcCs2ddtd�td�g}ttj|��}|j||�dS)Nrg@rnr�)rrrMr��	_fail_negrD)r/�values�newrrr	�test_pass_through�szFailNegTest.test_pass_throughcCsDx>ddtd�td�gD]&}|g}tj|�}|jtjt|�qWdS)Nrg@rnr�)rrr�r`r�r�next)r/r�seq�itrrr	�test_negatives_raise�s
z FailNegTest.test_negatives_raisecCspdtjdd�}yttjdg|��Wn.tjk
rT}z|jd}WYdd}~XnX|jd�|j||�dS)Nzbadness #%di'i��rrz(expected exception, but it didn't happenrC)	rZrandintrdr�r`rrVZfailrD)r/r2r<rrrr	�test_error_msg�s
zFailNegTest.test_error_msgN)r'r(r)rcrgrhrrrr	r_�sr_c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�UnivariateCommonMixincCs|jt|j�dS)N)r�rE�func)r/rrr	�test_no_args�sz"UnivariateCommonMixin.test_no_argscCs.x(gftg�fD]}|jtj|j|�qWdS)N)�iterr�r�rrj)r/�emptyrrr	�test_empty_data�sz%UnivariateCommonMixin.test_empty_datacCs,ttd��}x|t|�kr&tj|�qW|S)Nr�)rMr�sortedr�shuffle)r/rrrr	�prepare_datasz"UnivariateCommonMixin.prepare_datacCs0|j�}|dd�}|j|�}|j||d�dS)Nzdata has been modified)rqrjZassertListEqual)r/rZsavedr�rrr	�test_no_inplace_modifications
s
z3UnivariateCommonMixin.test_no_inplace_modificationscCsFddddddddgd}|j|�}tj|�|j|�}|j||�dS)Nrrrnr�rP�rR)rjrrprD)r/rrrrrr	�test_order_doesnt_matters



z.UnivariateCommonMixin.test_order_doesnt_mattercCsrGdd�dt�}Gdd�dt�}dd�}|j�}|j|�}x2ttt|||fD]}|j||��}|j||�qLWdS)Nc@seZdZdS)zBUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyListN)r'r(r)rrrr	�MyList#sruc@seZdZdS)zCUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyTupleN)r'r(r)rrrr	�MyTuple%srvcSsdd�|D�S)Ncss|]
}|VqdS)Nr)r��objrrr	r�(szXUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator.<locals>.<genexpr>r)rrrr	�	generator'szEUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator)rMrNrqrjrlrD)r/rurvrxrr�kindr\rrr	�test_type_of_data_collection!s
z2UnivariateCommonMixin.test_type_of_data_collectioncCs0tddd�}|jt|��}|j|j|�|�dS)Nrr�rn)rrjrMrD)r/rrrrr	�test_range_data/sz%UnivariateCommonMixin.test_range_datacCs.|jd�|jd�|jd�|jt��dS)NrOgE@)�check_for_type_error�object)r/rrr	�test_bad_arg_types5s



z(UnivariateCommonMixin.test_bad_arg_typescGs|jt|jf|��dS)N)r�rErj)r/rVrrr	r|Dsz*UnivariateCommonMixin.check_for_type_errorcslGdd�dt�}|j�}|j|�}xDt|ttfD]4��fdd�|D�}t|�|j|��}|j||�q0WdS)Ncs,eZdZ�fdd�Z�fdd�ZeZ�ZS)z@UnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloatcst|�t�j|��S)N)rrYrZ)r/r�)rXrr	rZLszLUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__truediv__cst|�t�j|��S)N)rrY�__add__)r/r�)rXrr	rNszHUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__add__)r'r(r)rZr�__radd__r[rr)rXr	r"Ksr"csg|]}�|��qSrr)r�r)ryrr	rUszCUnivariateCommonMixin.test_type_of_data_element.<locals>.<listcomp>)rrqrjrrrrD)r/r"�rawrrr\r)ryr	�test_type_of_data_elementGs
z/UnivariateCommonMixin.test_type_of_data_elementN)
r'r(r)rkrnrqrrrtrzr{r~r|r�rrrr	ri�s

ric@seZdZdd�Zdd�ZdS)�UnivariateTypeMixincCsGdd�dt�}ttt|fS)Ncs\eZdZ�fdd�Z�fdd�Z�fdd�Z�fdd�Z�fd	d
�Z�fdd�ZeZ	�Z
S)
zHUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloatcst|�t�j|��S)N)rrYrZ)r/r�)rXrr	rZgszTUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__truediv__cst|�t�j|��S)N)rrY�__rtruediv__)r/r�)rXrr	r�iszUUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rtruediv__cst|�t�j|��S)N)rrY�__sub__)r/r�)rXrr	r�kszPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__sub__cst|�t�j|��S)N)rrY�__rsub__)r/r�)rXrr	r�mszQUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rsub__cst|�t�j|��S)N)rrY�__pow__)r/r�)rXrr	r�oszPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__pow__cst|�t�j|��S)N)rrYr)r/r�)rXrr	rqszPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__add__)r'r(r)rZr�r�r�r�rr�r[rr)rXr	r"fsr")rrr)r/r"rrr	�#prepare_types_for_conservation_testdsz7UnivariateTypeMixin.prepare_types_for_conservation_testcsJ|j�}x<|j�D]0��fdd�|D�}|j|�}|jt|���qWdS)Ncsg|]}�|��qSrr)r�r)ryrr	r|sz<UnivariateTypeMixin.test_types_conserved.<locals>.<listcomp>)rqr�rjr&r)r/rryr\r)ryr	�test_types_conservedvs

z(UnivariateTypeMixin.test_types_conservedN)r'r(r)r�r�rrrr	r�Zs
r�c@seZdZdd�ZdS)�
TestSumCommoncCsdd�}||_dS)NcWstj|�\}}}tj||�S)N)r��_sumr;)rVr=�valuerrrr	�simplified_sum�sz+TestSumCommon.setUp.<locals>.simplified_sum)rj)r/r�rrr	�setUp�szTestSumCommon.setUpN)r'r(r)r�rrrr	r��sr�c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TestSumcCstj|_dS)N)r�r�rj)r/rrr	r��sz
TestSum.setUpcCstxngftg�fD]\}|j|j|�ttd�df�|j|j|d�ttd�df�|j|j|d�ttd�df�qWdS)NrrOgffffff@)rlrDrjrTrr)r/rrrr	rn�szTestSum.test_empty_datac
CsX|j|jdddd
ddddg�ttd�df�|j|jdd	ddd
gd�ttd�df�dS)NrrPrnr�r�rr^�<rrpi�i����i����i����)rDrjrTr)r/rrr	�	test_ints�szTestSum.test_intscCsL|j|jdgd�ttd�df�|j|jddddgd�ttd�d	f�dS)
Ng�?rg@g�?g�?g�?g�?g	@r�)rDrjrr)r/rrr	�test_floats�szTestSum.test_floatscCs.|j|jtdd�gd�ttdd�df�dS)Nri�i�r)rDrjr)r/rrr	�test_fractions�szTestSum.test_fractionsc	CsXt}|d�|d�|d�|d�|d�|d�|d�|d�g}|j|j|�ttd	�d
f�dS)Nz0.001z5.246z1.702z-0.025z3.974z2.328z4.617z2.843z20.686r�)rrDrj)r/rxrrrr	�
test_decimals�s
zTestSum.test_decimalscCs:dd�td�D�}|jt|j|�d�tj|�dd�dS)NcSsg|]}tjdd��qS)rRi�i����)rr)r�r�rrr	r�sz7TestSum.test_compare_with_math_fsum.<locals>.<listcomp>i�rg��ؗ�Ҭ<)r$)rr4rrjrZfsum)r/rrrr	�test_compare_with_math_fsum�sz#TestSum.test_compare_with_math_fsumcCs|dd�td�D�}|j|�d}|j|d|j|d�d�|j|d|j|d�d�|j|td�|j|d�d�dS)	NcSsg|]}tjdd��qS)ri�)rr)r�r�rrr	r�sz/TestSum.test_start_argument.<locals>.<listcomp>rRrr^rOg@��x�Di��)rrjrDr)r/rr0rrr	�test_start_argument�s
zTestSum.test_start_argumentcCs4|jt|jdddgd�|jt|jddddg�dS)NrrrnZ999)r�rErj)r/rrr	�test_strings_fail�szTestSum.test_strings_failcCs4|jt|jdddgd�|jt|jddddg�dS)Nrrrns999)r�rErj)r/rrr	�test_bytes_fail�szTestSum.test_bytes_failcCs8|jt|jddtd�g�|jt|jddgtd��dS)Nrg@)r�rErjr)r/rrr	�test_mixed_sum�szTestSum.test_mixed_sumN)r'r(r)r�rnr�r�r�r�r�r�r�r�r�rrrr	r��sr�c@seZdZdd�ZdS)�SumTortureTestcCs�|jtjdddd
gd�ttd�df�|jtjddddgd�ttd�df�tjddddgd�\}}}|j|t�|j|d�|jt|�ddd	�dS)
Nrg}Ô%�I�Ti'g��@i@�g0��.�++g���^�,gV瞯�<)r$g}Ô%�I��g}Ô%�I��rC)rDr�r�rrr&r4)r/r=r�countrrr	�test_torture�szSumTortureTest.test_tortureN)r'r(r)r�rrrr	r��sr�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�SumSpecialValuescCsRxLttfD]@}|d�}tjd|dg�d}|jt|�|�|jtj|��q
WdS)Nr�rr)	rrr�r�r&rrMrr)r/rWr�r\rrr	r��s
zSumSpecialValues.test_nancCs<|jtj|��|jt|�t|��|j|dk|dk�dS)Nr)rMrr!r&rrD)r/rrrrr	�check_infinity�szSumSpecialValues.check_infinitycCsLtjdd|dg�d}|j||�tjdd|d|dg�d}|j||�dS)Nrrrnr�)r�r�r�)r/rr\rrr	�do_test_inf�szSumSpecialValues.do_test_infcCs(td�}xdD]}|j||�qWdS)NrrrrC)rrC)rr�)r/rr
rrr	�test_float_inf�s
zSumSpecialValues.test_float_infcCs(td�}xdD]}|j||�qWdS)NrrrrC)rrC)rr�)r/rr
rrr	�test_decimal_infs
z!SumSpecialValues.test_decimal_infcCs8td�}tjdd|d|dg�d}|jtj|��dS)Nrrrrnr�)rr�r�rMrr)r/rr\rrr	�test_float_mismatched_infssz+SumSpecialValues.test_float_mismatched_infscCsPtd�}dd|d|dg}tjtj�� |jtjtj|�d��WdQRXdS)Nrrrrnr�)	r�decimal�localcontextZExtendedContextrMrrr�r�)r/rrrrr	�3test_decimal_extendedcontext_mismatched_infs_to_nanszDSumSpecialValues.test_decimal_extendedcontext_mismatched_infs_to_nancCsHtd�}dd|d|dg}tjtj��|jtjtj|�WdQRXdS)Nrrrrnr�)rr�r�ZBasicContextr��InvalidOperationr�r�)r/rrrrr	�0test_decimal_basiccontext_mismatched_infs_to_nanszASumSpecialValues.test_decimal_basiccontext_mismatched_infs_to_nancCs(td�}d|dg}|jtjtj|�dS)Nr(rr)rr�r�r�r�r�)r/r(rrrr	�test_decimal_snan_raisess
z)SumSpecialValues.test_decimal_snan_raisesN)r'r(r)r�r�r�r�r�r�r�r�r�rrrr	r��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�AverageMixincCs:x4dddtdd�td�fD]}|j|j|g�|�qWdS)NrOg@E@g�X_yCrI�z0.28)rrrDrj)r/rrrr	�test_single_value%szAverageMixin.test_single_valuecCsdddtdd�td�fS)Ng@rGg��7y�!C�=�Cz4.9712)rr)r/rrr	�'prepare_values_for_repeated_single_test*sz4AverageMixin.prepare_values_for_repeated_single_testcCsZxT|j�D]H}xBdD]:}|j||d��"|g|}|j|j|�|�WdQRXqWq
WdS)NrrPr�r)rr�)rrPr�r)r��subTestrDrj)r/rr�rrrr	�test_repeated_single_value-s


z'AverageMixin.test_repeated_single_valueN)r'r(r)r�r�r�rrrr	r�"sr�c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�TestMeancCstj|_dS)N)r��meanrj)r/rrr	r�7szTestMean.setUpcCs|j|jddddg�d�dS)Ng}Ô%�I�Trrng}Ô%�I��)rDrj)r/rrr	�test_torture_pep:szTestMean.test_torture_pepcCsDddddddddddddddd	d
g}tj|�|j|j|�d�dS)Nrrrrnr�rPrsrpr�rog@@)rrprDrj)r/rrrr	r�>s$
zTestMean.test_intscCs4ddddddddg}tj|�|j|j|�d	�dS)
Ng@1@g�3@g4@g�5@g�5@g@7@g 9@g�;@g6@)rrprDrj)r/rrrr	r�Ds
zTestMean.test_floatscCsJt}|d�|d�|d�|d�|d�g}tj|�|j|j|�|d��dS)Nz1.634z2.517z3.912z4.072z5.813z3.5896)rrrprDrj)r/rxrrrr	r�Js"
zTestMean.test_decimalsc	Csft}|dd�|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�|d	d
��dS)Nrrrnr�rPrsrpr�i�i�)rrrprDrj)r/rsrrrr	r�Qs<
zTestMean.test_fractionscCsndddddg}xZttfD]N}xHdD]@}|d�|}||g}|j|�}|jtj|��|j||�q"WqWdS)	NrrnrPrprorrC)rrC)rrrjrMrr!rD)r/r�ryr
rrr\rrr	r�Xs


zTestMean.test_infc	Cs:dddtd�dddtd�g}|j|�}|jtj|��dS)	Nrr�rsrrrnrPz-inf)rrjrMrr)r/rr\rrr	�test_mismatched_infscs
zTestMean.test_mismatched_infscCsPdddddg}x<ttfD]0}|d�}||g}|j|�}|jtj|��qWdS)NrrnrPrpror�)rrrjrMrr)r/r�ryrrr\rrr	r�is

zTestMean.test_nanc	sPd�dddddddd	d
g	}|j|��}|j�fdd�|D��}|j||�dS)
Nge��Ag333333@g@g������@g������@g333333@g������@g @g333333 @g������"@csg|]}|��qSrr)r�r)�crr	rxsz*TestMean.test_big_data.<locals>.<listcomp>)rjrD)r/rrr\r)r�r	�
test_big_datars
zTestMean.test_big_datacCs:dd�td�D�}|j|�}|j|d�}|j||�dS)NcSsg|]}tjdd��qS)rnrPr)rr)r�r�rrr	r}sz.TestMean.test_doubled_data.<locals>.<listcomp>i�r)rrjr4)r/rrrrrr	�test_doubled_data{s
zTestMean.test_doubled_datacCs td�}|jtj|g�|�dS)NZ1e4)rrDr�r�)r/ryrrr	�test_regression_20561�szTestMean.test_regression_20561cCs`|jtjddg�d�d}d}x<dD]4}|jtj|g|�|�|jtj|g|�|�q$WdS)	Ng�������g�grrnrPr)rrnrPr)rDr�r�)r/ZbigZtinyrrrr	�test_regression_25177�s
zTestMean.test_regression_25177N)r'r(r)r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	r�6s		r�cs�eZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Z�ZS)�TestHarmonicMeancCstj|_dS)N)r�Z
harmonic_meanrj)r/rrr	r��szTestHarmonicMean.setUpcst�j�}|jd�|S)Nr)rYrq�remove)r/ra)rXrr	rq�s

zTestHarmonicMean.prepare_datacCsdddtdd�td�fS)Ng@rGg��7y�!Cr�r�z4.125)rr)r/rrr	r��sz8TestHarmonicMean.prepare_values_for_repeated_single_testcCs dddg}|j|j|�d�dS)Nrrr)rDrj)r/rarrr	�	test_zero�s
zTestHarmonicMean.test_zerocCsLtj}x@dgdddgfD],}|j|d��|j||j|�WdQRXqWdS)Nrrrn)rarCrS)r�rr�r�rj)r/�excrarrr	�test_negative_error�sz$TestHarmonicMean.test_negative_errorcCs0ddddddg}tj|�|j|j|�d�dS)	Nrr�r�r{rsrP�g333333@)rrprDrj)r/rrrr	r��s
zTestHarmonicMean.test_intscCsHdd	d
ddg}tj|�|j|j|�d
�|j|jddddg�d�dS)Nrr�r�rg�?g�?g�?g�?g�?g�?g�?g�?g�?)rrprDrj)r/rrrr	�test_floats_exact�s
z"TestHarmonicMean.test_floats_exactcCs,x&tdd�D]}|j|j|g�|�qWdS)Nrr�)rrDrj)r/rrrr	�test_singleton_lists�sz%TestHarmonicMean.test_singleton_listscCs�t}|j|j|d�|d�|d�|d�g�|d��|d�|d�|d�|d�g}tj|�|j|j|�|d��|d�|d�|d	�|d
�g}tj|�|j|j|�|d�d�dS)
NrIr�r�z0.05z0.10z0.20z1.68z0.32z5.94z2.75i�iC)rrDrjrrp)r/rxrrrr	�test_decimals_exact�s.

z$TestHarmonicMean.test_decimals_exactc	Csft}|dd�|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�|dd
��dS)Nrrrnr�rPrsrpr�i�i�i|)rrrprDrj)r/rsrrrr	r��s<
zTestHarmonicMean.test_fractionscCs$dtd�dg}|j|j|�d�dS)Ng@rg�?)rrDrj)r/rarrr	r��szTestHarmonicMean.test_infcCs(dtd�dg}|jtj|j|���dS)Ng@r�g�?)rrMrrrj)r/rarrr	r��szTestHarmonicMean.test_nanc	sPd�dddddddd	d
g	}|j|��}|j�fdd�|D��}|j||�dS)
N�og333333@g@g������@g������@g333333@g������@g @g333333 @g������"@csg|]}|��qSrr)r�r)r�rr	r�sz>TestHarmonicMean.test_multiply_data_points.<locals>.<listcomp>)rjrD)r/rrr\r)r�r	�test_multiply_data_points�s
z*TestHarmonicMean.test_multiply_data_pointscCs:dd�td�D�}|j|�}|j|d�}|j||�dS)NcSsg|]}tjdd��qS)rrP)rr)r�r�rrr	r�sz6TestHarmonicMean.test_doubled_data.<locals>.<listcomp>i�r)rrjr4)r/rrrrrr	r��s
z"TestHarmonicMean.test_doubled_data)r'r(r)r�rqr�r�r�r�r�r�r�r�r�r�r�r�r[rr)rXr	r��sr�csTeZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
�ZS)�
TestMediancCstj|_dS)N)r��medianrj)r/rrr	r��szTestMedian.setUpcs(t�j�}t|�ddkr$|jd�|S)Nrr)rYrqr5r�)r/r)rXrr	rq�s

zTestMedian.prepare_datacCs&ddddddg}|j|j|�d�dS)Nrrrnr�rPrsg@)rDrj)r/rrrr	�test_even_ints�szTestMedian.test_even_intscCs(dddddddg}|j|j|�d�dS)Nrrrnr�rPrsro)rDrj)r/rrrr	�
test_odd_intsszTestMedian.test_odd_intscCsVt}|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�|dd��dS)Nrrprrnr�rP)rrrprDrj)r/rsrrrr	�test_odd_fractionss,
zTestMedian.test_odd_fractionscCs^t}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�|dd��dS)Nrrprrnr�rPrs)rrrprDrj)r/rsrrrr	�test_even_fractionss4
zTestMedian.test_even_fractionscCsJt}|d�|d�|d�|d�|d�g}tj|�|j|j|�|d��dS)Nz2.5z3.1z4.2z5.7z5.8)rrrprDrj)r/rxrrrr	�test_odd_decimalss"
zTestMedian.test_odd_decimalscCsPt}|d�|d�|d�|d�|d�|d�g}tj|�|j|j|�|d��dS)Nz1.2z2.5z3.1z4.2z5.7z5.8z3.65)rrrprDrj)r/rxrrrr	�test_even_decimalss(
zTestMedian.test_even_decimals)r'r(r)r�rqr�r�r�r�r�r�r[rr)rXr	r��sr�c@seZdZdd�Zdd�ZdS)�TestMedianDataTypecCstj|_dS)N)r�r�rj)r/rrr	r�)szTestMedianDataType.setUpcCs,ttd��}x|t|�kr&tj|�qW|S)NrI)rMrrorrp)r/rrrr	rq,szTestMedianDataType.prepare_dataN)r'r(r)r�rqrrrr	r�'sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestMedianLowcCstj|_dS)N)r�Z
median_lowrj)r/rrr	r�5szTestMedianLow.setUpcCs&ddddddg}|j|j|�d�dS)Nrrrnr�rPrs)rDrj)r/rrrr	r�8szTestMedianLow.test_even_intscCs^t}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�|dd��dS)Nrrprrnr�rPrs)rrrprDrj)r/rsrrrr	r�>s4
z!TestMedianLow.test_even_fractionscCsPt}|d�|d�|d�|d�|d�|d�g}tj|�|j|j|�|d��dS)Nz1.1z2.2z3.3z4.4z5.5z6.6)rrrprDrj)r/rxrrrr	r�Fs(
z TestMedianLow.test_even_decimalsN)r'r(r)r�r�r�r�rrrr	r�4sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestMedianHighcCstj|_dS)N)r�Zmedian_highrj)r/rrr	r�PszTestMedianHigh.setUpcCs&ddddddg}|j|j|�d�dS)Nrrrnr�rPrs)rDrj)r/rrrr	r�SszTestMedianHigh.test_even_intscCs^t}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�|dd��dS)Nrrprrnr�rPrs)rrrprDrj)r/rsrrrr	r�Ys4
z"TestMedianHigh.test_even_fractionscCsPt}|d�|d�|d�|d�|d�|d�g}tj|�|j|j|�|d��dS)Nz1.1z2.2z3.3z4.4z5.5z6.6)rrrprDrj)r/rxrrrr	r�as(
z!TestMedianHigh.test_even_decimalsN)r'r(r)r�r�r�r�rrrr	r�Osr�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestMedianGroupedcCstj|_dS)N)r�Zmedian_groupedrj)r/rrr	r�mszTestMedianGrouped.setUpcCs�dddddddg}|j|j|�d�dddddddg}|j|j|�d�ddddddddd	d	d
g}|j|j|d�d�dd
d
d
d
ddddddddddg}|j|j|d�ddd�dS)Nr�r]�rIg�+@rPr�r�r�g`3@r{��r���rg������4@g:�0�yE>)r#)rDrjr4)r/rrrr	�test_odd_number_repeatedps"z*TestMedianGrouped.test_odd_number_repeatedcCs�ddddddddddg
}|j|j|d�ddd	�d
dddddg}|j|j|�d
dd	�d
dddddddddddg}|j|j|�d�ddddddddddg
}|j|j|�d�dS)NrPr�rIrr�r�g�����*3@g:�0�yE>)r#rrnr�g["8���@rsg@g@)r4rjrD)r/rrrr	�test_even_number_repeated�sz+TestMedianGrouped.test_even_number_repeatedcCsTxNdddtdd�td�fD]2}x,dD]$}|g|}|j|j|�t|��q$WqWdS)Ng333333@�Dg��ޗCr�r�z32.9714rrPr�r)rrPr�r)rrrDrjr)r/rr�rrrr	r��s

z,TestMedianGrouped.test_repeated_single_valuecCsPt}|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�d�dS)NrPr�ror]rGg@)rrrprDrj)r/rsrrrr	r��s,
z$TestMedianGrouped.test_odd_fractionscCsXt}|dd�|dd�|dd�|dd�|dd�|dd�g}tj|�|j|j|�d�dS)NrPr�ror]rGg
@)rrrprDrj)r/rsrrrr	r��s4
z%TestMedianGrouped.test_even_fractionscCsFt}|d�|d�|d�|d�|d�g}tj|�|j|j|�d�dS)Nz5.5z6.5z7.5z8.5g@)rrrprDrj)r/rxrrrr	r��s"
z#TestMedianGrouped.test_odd_decimalscCs�t}|d�|d�|d�|d�|d�|d�g}tj|�|j|j|�d�|d�|d�|d�|d�|d�|d�g}tj|�|j|j|�d�dS)Nz5.5z6.5z7.5z8.5g@g@)rrrprDrj)r/rxrrrr	r��s(
(
z$TestMedianGrouped.test_even_decimalscCs�ddddddddddg
}|j|j|d�d	�dddddddddddg}|j|j|d�d
dd�d
d
ddddddddddg}|j|j|d�d�dS)Ng@g@g@g@g
@g@g@g�?g@g["8���@g:�0�yE>)r#����iii,i@iTrg�p@)rDrjr4)r/rrrr	�
test_interval�szTestMedianGrouped.test_intervalcCsxdddg}|jt|j|�dddg}|jt|j|�dddg}d}|jt|j||�dddg}d}|jt|j||�dS)N��rrrn)r�rErj)r/r�intervalrrr	�test_data_type_error�s



z&TestMedianGrouped.test_data_type_errorN)
r'r(r)r�r�r�r�r�r�r�r�r�r�rrrr	r�js	
	r�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�TestModecCstj|_dS)N)r��moderj)r/rrr	r��szTestMode.setUpcCsdddddddddddgS)	Nrrnr�rprorr�rr)r/rrr	rq�szTestMode.prepare_datacCs"tddd�}|jtj|j|�dS)Nrr�rn)rr�r�rrj)r/rrrr	r{�szTestMode.test_range_datacCs4d}|j|j|�d�dj�}|j|j|�d�dS)NZabcbdbrzfe fi fo fum fi fi�fi)rDrjrw)r/rrrr	�test_nominal_data�szTestMode.test_nominal_datacCsHttd��}x6td�D]*}||g}tj|�|j|j|�|�qWdS)Nr�)rMrrrprDrj)r/rr;ryrrr	�test_discrete_data�s


zTestMode.test_discrete_datacCs<dddddddddddddddd	d	g}|jtj|j|�dS)
Nrrrnr�rPrsrpr�ro)r�r�rrj)r/rrrr	�test_bimodal_data�s&zTestMode.test_bimodal_datacCs"ttd��}|jtj|j|�dS)Nr�)rMrr�r�rrj)r/rrrr	�test_unique_data_failuresz!TestMode.test_unique_data_failurecCs|jt|jd�dS)N)r�rErj)r/rrr	�test_none_dataszTestMode.test_none_datacCs(tjddddg�}|jtj|j|�dS)Nrr)r+�Counterr�r�rrj)r/rrrr	�test_counter_data
szTestMode.test_counter_dataN)r'r(r)r�rqr{r�r�r�r�r�r�rrrr	r��sr�c@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�VarianceStdevMixing�-���q=cCs:x4dddtdd�td�fD]}|j|j|g�d�qWdS)Nr�g������3@g���%�Br�r�z8.392r)rrrDrj)r/rrrr	r� sz$VarianceStdevMixin.test_single_valuecCsPxJdddtdd�td�fD].}x(dD] }|g|}|j|j|�d
�q$WqWdS)Ng������@r�g@�6��<Crnrpz62.4802rrPrIr)rrnrPrI)rrrDrj)r/rr�rrrr	r�%s

z-VarianceStdevMixin.test_repeated_single_valuecCs4dgd}|j|�}|j|ddd�|j|d�dS)Ng.�F7ݚ�?i'gg��ؗ�Ҍ<)r#r)rjr4r,)r/rr\rrr	�test_domain_error_regression,s

z/VarianceStdevMixin.test_domain_error_regressionc
sNddddddddd	d
g
}|j|�}d��fdd
�|D�}|j|j|�|�dS)Ng{�G�z�?gR���Q�?g
ףp=
�?gR���Q@g�p=
ף@g��Q�	@g@g�Q���@g�G�z�@g��Q�@gj�@csg|]}|��qSrr)r�r)�shiftrr	rAsz6VarianceStdevMixin.test_shift_data.<locals>.<listcomp>)rjr4)r/r�rrr)r�r	�test_shift_data6s

z"VarianceStdevMixin.test_shift_datac
sNdddddddddd	g
}|j|�}d��fd
d�|D�}|j|j|�|�dS)
Nrrnr�rPrpror�r�r{csg|]}|��qSrr)r�r)r�rr	rJsz<VarianceStdevMixin.test_shift_data_exact.<locals>.<listcomp>iʚ;)rjrD)r/r�rrr)r�r	�test_shift_data_exactDs

z(VarianceStdevMixin.test_shift_data_exactcCs6dd�td�D�}|j|�}|j|jt|��|�dS)NcSsg|]}tjdd��qS)rnr�r)rr)r�r�rrr	rUsz:VarianceStdevMixin.test_iter_list_same.<locals>.<listcomp>i�)rrjrDrl)r/rrrrr	�test_iter_list_sameMs
z&VarianceStdevMixin.test_iter_list_sameN)
r'r(r)r$r�r�r�r�r�r�rrrr	r�s
	r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
TestPVariancecCstj|_dS)N)r��	pvariancerj)r/rrr	r�\szTestPVariance.setUpcCs0ttd��}tj|�d}|j|j|�|�dS)Ni'rrr�i�i��gP�_A)rMrrrprDrj)r/rrrrr	�test_exact_uniform_s
z TestPVariance.test_exact_uniformcCs&ddddg}d}|j|j|�|�dS)Nr�rpr]r{g�6@)rDrj)r/r�exactrrr	r�fszTestPVariance.test_intscCsXt}|dd�|dd�|dd�|dd�g}|dd�}|j|�}|j||�|j|t�dS)Nrr�rnrpr�)rrjrD�assertIsInstance)r/rsrr�r\rrr	r�ls$

zTestPVariance.test_fractionscCsNt}|d�|d�|d�|d�g}|d�}|j|�}|j||�|j|t�dS)Nz12.1z12.2z12.5z12.9z0.096875)rrjrDr�)r/rxrr�r\rrr	r�us
zTestPVariance.test_decimalsN)r'r(r)r�r�r�r�r�rrrr	r�Zs
	r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestVariancecCstj|_dS)N)r��variancerj)r/rrr	r��szTestVariance.setUpcCs:x4dddtdd�td�fD]}|jtj|j|g�qWdS)Nrqg33333�8@g�(G�!=Cr�r�z4.2084)rrr�r�rrj)r/rrrr	r��szTestVariance.test_single_valuecCs&ddddg}d}|j|j|�|�dS)Nr�rpr]r{r�)rDrj)r/rr�rrr	r��szTestVariance.test_intscCsXt}|dd�|dd�|dd�|dd�g}|dd�}|j|�}|j||�|j|t�dS)Nrr�rnrpr)rrjrDr�)r/rsrr�r\rrr	r��s$

zTestVariance.test_fractionscCsZt}|d�|d�|d�|d�g}d|d�|d�}|j|�}|j||�|j|t�dS)Nrrpror�z9.5rn)rrjrDr�)r/rxrr�r\rrr	r��s
zTestVariance.test_decimalsN)r'r(r)r�r�r�r�r�rrrr	r�s
	r�c@seZdZdd�Zdd�ZdS)�
TestPStdevcCstj|_dS)N)r�Zpstdevrj)r/rrr	r��szTestPStdev.setUpcCs8dd�td�D�}tjtj|��}|j|j|�|�dS)NcSsg|]}tjdd��qS)rGr�i��)rr)r�r�rrr	r�sz7TestPStdev.test_compare_to_variance.<locals>.<listcomp>i�)rr�sqrtr�r�rDrj)r/rrrrr	�test_compare_to_variance�sz#TestPStdev.test_compare_to_varianceN)r'r(r)r�r�rrrr	r��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�	TestStdevcCstj|_dS)N)r�Zstdevrj)r/rrr	r��szTestStdev.setUpcCs:x4dddtdd�td�fD]}|jtj|j|g�qWdS)N�QgH�z�wi@gf7?+�BrPr�z35.719)rrr�r�rrj)r/rrrr	r��szTestStdev.test_single_valuecCs8dd�td�D�}tjtj|��}|j|j|�|�dS)NcSsg|]}tjdd��qS)rrorS)rr)r�r�rrr	r�sz6TestStdev.test_compare_to_variance.<locals>.<listcomp>i�)rrr�r�r�rDrj)r/rrrrr	r��sz"TestStdev.test_compare_to_varianceN)r'r(r)r�r�r�rrrr	r��sr�cCs|jtj��|S)N)ZaddTestsr�ZDocTestSuite)�loaderZtests�ignorerrr	�
load_tests�sr�__main__)rr):r+r�r�rrrr�rZ	fractionsrr�r
rrr%r&r�r*rBrFr[r�r�r�r�r�r�r�rr
r*r6r9rSr_rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr'�mainrrrr	�<module>sn
:+_
>@w-@4d:c'H
@`X9
r<B%#


Youez - 2016 - github.com/yon3zu
LinuXploit