Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_statistics.cpython-39.opt-2.pyc

a

��gt��@s`ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddlm
Z
ddlmZddlmZddlZdd�Zdd�Zd	d
�Zdyd
d�ZGdd�d�Zejddgd�Zejddgd�ZGdd�de
j�ZGdd�de
j�ZGdd�de
j�ZGdd�de
j�ZGdd�de
j�ZGdd �d e
j�ZGd!d"�d"e
j�Z Gd#d$�d$e
j�Z!Gd%d&�d&e
j�Z"Gd'd(�d(e
j�Z#Gd)d*�d*e
j�Z$Gd+d,�d,e
j�Z%Gd-d.�d.e
j�Z&Gd/d0�d0e
j�Z'Gd1d2�d2e
j�Z(Gd3d4�d4e
j�Z)Gd5d6�d6e
j�Z*Gd7d8�d8e
j�Z+Gd9d:�d:e
j�Z,Gd;d<�d<e
j�Z-Gd=d>�d>e
j�Z.Gd?d@�d@�Z/GdAdB�dB�Z0GdCdD�dDe/e0�Z1GdEdF�dFe�Z2GdGdH�dHe�Z3GdIdJ�dJe�Z4GdKdL�dLe/�Z5GdMdN�dNee5e0�Z6GdOdP�dPee5e0�Z7GdQdR�dRee5�Z8GdSdT�dTee0�Z9GdUdV�dVe8e0�Z:GdWdX�dXe8e0�Z;GdYdZ�dZe8�Z<Gd[d\�d\ee5e0�Z=Gd]d^�d^e
j�Z>Gd_d`�d`e
j�Z?Gdadb�dbe/�Z@Gdcdd�dde@ee0�ZAGdedf�dfe@ee0�ZBGdgdh�dhe@e�ZCGdidj�dje@e�ZDGdkdl�dle
j�ZEGdmdn�dne
j�ZFGdodp�dp�ZGGdqdr�dre
jeG�ZHe
�Ieds�Gdtdu�due
jeG��ZJdvdw�ZKeLdxk�r\e
�M�dS)z�N)�support)�Decimal��FractioncCst�d|�S)N�)�math�copysign��x�r�0/usr/local/lib/python3.9/test/test_statistics.py�signsr
cCsZt|�t|�urdSt|t�r2t�|�o0t�|�S|��d}|��d}||koX|dvS)NF�)�n�N)�type�
isinstance�floatr�isnanZas_tuple)�a�bZaexpZbexprrr�
_nan_equal"s
rcCs:tt|�t|��}t||�}|r*||ntd�}||fS�N�inf)�max�absr)�actual�expected�base�abs_err�rel_errrrr�_calc_errorsAs
r!��-���q=�H�����z>cCs�|dks|dkrtd��t�|�s,t�|�r0dS||kr<dSt�|�sPt�|�rTdSt||�}t||tt|�t|���}||kS)Nrz%error tolerances must be non-negativeFT)�
ValueErrorrr�isinfrr)r
�y�tol�relZactual_errorZ
allowed_errorrrr�approx_equalQs"r)c@seZdZdS)�
_DoNothingN��__name__�
__module__�__qualname__rrrrr*�s$r*�
statistics�_statistics)Zblocked)Zfreshc@s.eZdZdgZdd�Ze�ed�dd��ZdS)�TestModulesZ_normal_dist_inv_cdfcCs$|jD]}|�tt|�jd�qdS�Nr/)�
func_names�assertEqual�getattr�
py_statisticsr-��selfZfnamerrr�test_py_functions�s
zTestModules.test_py_functions�requires _statisticscCs$|jD]}|�tt|�jd�qdS)Nr0)r3r4r5�c_statisticsr-r7rrr�test_c_functions�s
zTestModules.test_c_functionsN)	r,r-r.r3r9�unittest�
skipUnlessr;r<rrrrr1�s
r1c@s<eZdZdZZddd�Zdd�Zddd�Zed	d
��Z	dS)
�NumericTestCaserNcCsZ|dur|j}|dur|j}t|tjj�r@t|tjj�r@|j}n|j}||||||�dS�N)r'r(r�collections�abc�Sequence�_check_approx_seq�_check_approx_num)r8�first�secondr'r(�msg�checkrrr�assertApproxEqual�s��z!NumericTestCase.assertApproxEqualc
	Csnt|�t|�kr:dt|�t|�f}|�||�}|�|��tt||��D] \}\}}	|�||	||||�qHdS)Nz0sequences differ in length: %d items != %d items)�len�_formatMessage�failureException�	enumerate�ziprE)
r8rFrGr'r(rH�standardMsg�ir�errrrD�s��
z!NumericTestCase._check_approx_seqcCs>t||||�rdS|�|||||�}|�||�}|�|��dSr@)r)�_make_std_err_msgrLrM)r8rFrGr'r(rH�idxrPrrrrEs
z!NumericTestCase._check_approx_numc	Cs>d}|durd|}||}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!)	rFrGr'r(rT�template�headerrr rrrrSs�z!NumericTestCase._make_std_err_msg)NNN)N)
r,r-r.r'r(rJrDrE�staticmethodrSrrrrr?�s�
,
	r?c@seZdZdd�ZdS)�TestSigncCs$|�td�d�|�td�d�dS)N�rg����)r4r
�r8rrr�
testZeroes(szTestSign.testZeroesN)r,r-r.r\rrrrrX&srXc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�ApproxEqualSymmetryTestcCsTdddtd�tdd�g}ddd	td
�tdd�g}t||�D]\}}|�||�q:dS)Ni�	gfffff�B@gfffff�(�z2.54��6i�	g������B@gR����(�z2.59�)rrrO�do_relative_symmetry)r8Zargs1Zargs2rrrrr�test_relative_symmetry3s
z.ApproxEqualSymmetryTest.test_relative_symmetrycCstt||�t||�}}||}t||�t||�}}||d}|�t||d|d��|�t||d|d��dS)Nrr�r'r()�minrr�
assertTruer))r8rr�deltaZrel_err1Zrel_err2r(rrrraCsz,ApproxEqualSymmetryTest.do_relative_symmetrycCsgd�}d}|D]�}ttttfD]�}||�d}||}t|t||��}|j||||d�|j|||dd|d�|j|||d|dd�|j||||dd�|j|||d|d�|j|||dd|d�|j||ddd�|j||ddd�q qdS)N)��������ki�mr�drcrr)�intrrrrr�do_symmetry_test)r8�argsrfr�type_r
r&�rrrr�
test_symmetryOsz%ApproxEqualSymmetryTest.test_symmetryc
Cs@d}t||||�}t||||�}|�|||�||||f��dS)Nz+approx_equal comparisons don't match for %r)r)r4�format)r8rrr'r(rUZflag1Zflag2rrrrmgsz(ApproxEqualSymmetryTest.do_symmetry_testN)r,r-r.rbrarqrmrrrrr]0sr]c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�ApproxEqualExactTestcCsJt||||d�}|�|d|�t||||d�}|�|d|�dS)Nrczequality failure for x=%r)r)re)r8r
r'r(�resultrrr�do_exactly_equal_testtsz*ApproxEqualExactTest.do_exactly_equal_testcCsdD]}|�|dd�qdS)N)�*iMi~:��iiU�
i�r�ru�r8rrrr�test_exactly_equal_intszsz,ApproxEqualExactTest.test_exactly_equal_intscCsdD]}|�|dd�qdS)N)g�z�G��?g/�$���?g�����e�@g7@gpf@g!�rh��Q@gB`��"KB@rrx�r8r
rrr�test_exactly_equal_floatssz.ApproxEqualExactTest.test_exactly_equal_floatscCsNt}|dd�|d�|dd�|dd�|dd	�|dd�fD]}|�|dd�q6dS)
Nrrrri��	��#�$)rru�r8�F�frrr�test_exactly_equal_fractions�s6z1ApproxEqualExactTest.test_exactly_equal_fractionscCs*t}t|d���D]}|�|dd�qdS)Nz8.2 31.274 912.04 16.745 1.2047r)r�map�splitru)r8�D�drrr�test_exactly_equal_decimals�sz0ApproxEqualExactTest.test_exactly_equal_decimalscCsFdD]<}|�|dd�|�|ddd�t|d�}|�|dd�qdS)N)�i�i\i�i���{�G�z�?r�
i�)rur)r8rr�rrr�test_exactly_equal_absolute�s

z0ApproxEqualExactTest.test_exactly_equal_absolutecCs2|�td�td�d�|�td�td�d�dS)Nz3.571�0.01rz81.3971)rurr[rrr�$test_exactly_equal_absolute_decimals�sz9ApproxEqualExactTest.test_exactly_equal_absolute_decimalscCs@dddtdd�fD]}|�|dd�q|�td�dtd	��dS)
Ni� g33333SY@g�z�G�ri�rr�z11.68r��rrurr{rrr�test_exactly_equal_relative�sz0ApproxEqualExactTest.test_exactly_equal_relativecCsHdddtdd�fD]}|�|dd�qt}|�|d�|d	�|d
��dS)Ni9�gˡE��0@g\��(h��r}�皙�����?r�z7.2z0.1r�r�)r8r
r�rrr�test_exactly_equal_both�sz,ApproxEqualExactTest.test_exactly_equal_bothN)r,r-r.rurzr|r�r�r�r�r�r�rrrrrsnsrsc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ApproxEqualUnequalTestcCs8||fD](}t||dddd�}|�|d|�q
dS)Nrrrczinequality failure for x=%r)r)�assertFalse)r8r
rrtrrr�do_exactly_unequal_test�sz.ApproxEqualUnequalTest.do_exactly_unequal_testcCsdD]}|�|�qdS)N)i�i��i�i�iXC�r�ryrrr�test_exactly_unequal_ints�sz0ApproxEqualUnequalTest.test_exactly_unequal_intscCsdD]}|�|�qdS)N)g��Q�#@g����[�@gfffff�G@gףp=
W"@g=
ףp=1@r�r{rrr�test_exactly_unequal_floats�sz2ApproxEqualUnequalTest.test_exactly_unequal_floatscCs<t}|dd�|dd�|dd�|dd�fD]}|�|�q(dS)	Nrrirr~���eiς)rr�r�rrr�test_exactly_unequal_fractions�s(z5ApproxEqualUnequalTest.test_exactly_unequal_fractionscCs"ttd���D]}|�|�qdS)Nz!3.1415 298.12 3.47 18.996 0.00245)r�rr�r��r8r�rrr�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)"�ApproxEqualInexactTestc	Csbd}||||fD]H}|�||�}|�t||d|dd�|�|�t|||ddd�|�qdS)N�Test failure for x={!r}, y={!r}rrrc�rrrer)r��r8r
rfrUr&rHrrr�do_approx_equal_abs_test�s
z/ApproxEqualInexactTest.do_approx_equal_abs_testcCs&dD]}|�|d�|�|d�qdS)N)i��iI���i����rhrrr~�%i�i�&i6�jr�r�r�ryrrr�test_approx_equal_absolute_ints�sz6ApproxEqualInexactTest.test_approx_equal_absolute_intscCs2dD](}|�|d�|�|d�|�|d�qdS)N)	g�t��q�gfffffFX�g333333�g333333���?��?g333333@g�Q���@g�����ҭ@��?r��-C��6?r�r{rrr�!test_approx_equal_absolute_floats�sz8ApproxEqualInexactTest.test_approx_equal_absolute_floatscCsFtdd�}gd�}dd�|D�D] }|�||�|�|t|��q dS)Nr�)i������rhrZrrrir^��"�Gcss|]}t|d�VqdS)r�Nr)�.0rrrr�	<genexpr>��zNApproxEqualInexactTest.test_approx_equal_absolute_fractions.<locals>.<genexpr>)rr�r)r8rf�
numeratorsr�rrr�$test_approx_equal_absolute_fractions�s

z;ApproxEqualInexactTest.test_approx_equal_absolute_fractionscCs:td�}ttd���D]}|�||�|�||�qdS)Nr�z1.0 3.5 36.08 61.79 7912.3648)rr�r�r�)r8rfr�rrr�#test_approx_equal_absolute_decimals�sz:ApproxEqualInexactTest.test_approx_equal_absolute_decimalscCs|�tddddd��dS)Ng�h㈵��>g�h㈵��r�rrc)rer)r[rrr�test_cross_zero�sz&ApproxEqualInexactTest.test_cross_zeroc	Csjd}|d||d|fD]H}|�||�}|�t||dd|d�|�|�t||d|dd�|�qdS)Nr�rrrrcr�r�rrr�do_approx_equal_rel_test�s
z/ApproxEqualInexactTest.do_approx_equal_rel_testcCsr|�tddddd��|�tddddd��|�tdddd	d��|�td
ddd	d��|�tdddd	d��dS)N�@�/rg
ףp=
�?rcg�G�z��?i�i��?i�i�)rer)r�r[rrr�test_approx_equal_relative_intss
z6ApproxEqualInexactTest.test_approx_equal_relative_intscCs&dD]}|�|d�|�|d�qdS)N)g{�G�Jf�皙������r�r�g\��(|B@g��ʡE>�@g��x��@�{�G�z�?r�)r�r{rrr�!test_approx_equal_relative_floatssz8ApproxEqualInexactTest.test_approx_equal_relative_floatscCsht}tdd�}|dd�|dd�|dd�|dd	�fD]0}|t|�fD]}|�||�|�||�qBq2dS)
Nr}r��Tr^��1�2�\�U)rrr�)r8r�rfr�r�rrr�$test_approx_equal_relative_fractionss
(z;ApproxEqualInexactTest.test_approx_equal_relative_fractionscCs:ttd���D]&}|�|td��|�|td��qdS)Nz$0.02 1.0 5.7 13.67 94.138 91027.9321�0.001�0.05)r�rr�r�r�rrr�#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)Nrrc)rer�r))r8rrr'r(Ztol_flagZrel_flagrIrrr�
do_check_both)sz$ApproxEqualInexactTest.do_check_bothcCs,|�dddddd�|�dddd	dd�dS)
N�R����@�+���@���Mbp?���W�8?Tg?5^�I��g%��C�����Mb`?g-C��6*?�r�r[rrr�test_approx_equal_both11sz.ApproxEqualInexactTest.test_approx_equal_both1cCs|�dddddd�dS)Nr�r�r�gV�F�?8?TFr�r[rrr�test_approx_equal_both26sz.ApproxEqualInexactTest.test_approx_equal_both2cCs|�dddddd�dS)Nr�r����MbP?r�FTr�r[rrr�test_approx_equal_both3:sz.ApproxEqualInexactTest.test_approx_equal_both3cCs,|�dddddd�|�dddd	dd�dS)
Ng=
ףp=@�@r�r�Fg�Q��[�@g�(\��[�@r�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�ttfD]z}|d�}|�t||��|�t||dd��|�t||dd��|�t||��|�t||��|�t|d��qdS)Nrrrr���)rrrer)r�)r8rorrrr�test_infGsz ApproxEqualSpecialsTest.test_infcCs>ttfD]0}|d�}||d�dfD]}|�t||��q"qdS)N�nanrr�)rrr�r))r8ror��otherrrr�test_nanQsz ApproxEqualSpecialsTest.test_nancCs&t�dd�}|�t|dddd��dS)NrYrZr�rc)rrrer)�r8Znzerorrr�test_float_zeroesWsz)ApproxEqualSpecialsTest.test_float_zeroescCs&td�}|�t|td�ddd��dS)Nz-0.0rr�rc)rrer)r�rrr�test_decimal_zeroes[sz+ApproxEqualSpecialsTest.test_decimal_zeroesN)r,r-r.r�r�r�r�rrrrr�Ds
r�c@seZdZdd�Zdd�ZdS)�TestApproxEqualErrorscCs|�ttdddd�dS)NrkrZr���assertRaisesr$r)r[rrr�test_bad_tolcsz"TestApproxEqualErrors.test_bad_tolcCs|�ttdddd�dS)Nrkrr�r�r[rrr�test_bad_relgsz"TestApproxEqualErrors.test_bad_relN)r,r-r.r�r�rrrrr�`sr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestNumericTestCasecCs.tj|�}|j|�}|D]}|�||�qdSr@)r?rS�generate_substringsZassertIn)r8rnZ
actual_msgrZ	substringrrr�do_testws

zTestNumericTestCase.do_testcCs|�tttj��dSr@)re�
issubclassr?r=�TestCaser[rrr� test_numerictestcase_is_testcase}sz4TestNumericTestCase.test_numerictestcase_is_testcasecCsd}|�|�dS)N)�@�@r���?N�r��r8rnrrr�test_error_msg_numeric�sz*TestNumericTestCase.test_error_msg_numericcCsd}|�|�dS)N)�@g� @g�?r�rr�r�rrr�test_error_msg_sequence�sz+TestNumericTestCase.test_error_msg_sequencec	CsDt||�\}}d|d|d|d|g}|dur@|�d|�|S)Nztol=%rzrel=%rzabsolute error = %rzrelative error = %rzdiffer at index %d)r!�append)	r8rFrGr'r(rTrr Z
substringsrrrr��s�z'TestNumericTestCase.generate_substringsN)r,r-r.r�r�r�r�r�rrrrr�qs
r�c@s(eZdZeZddgZdd�Zdd�ZdS)�GlobalsTest�__doc__�__all__cCs(|jD]}|�t|j|�d|�qdS)Nz%s not present)�expected_metadatare�hasattr�module)r8�metarrr�	test_meta�s
�zGlobalsTest.test_metacCsB|j}|jD]0}|�|�d�d|�|�t||�d|�qdS)N�_zprivate name "%s" in __all__zmissing name "%s" in __all__)r�r�r��
startswithrer�)r8r��namerrr�test_check_all�s
��zGlobalsTest.test_check_allN)r,r-r.r/r�r�rrrrrrr��sr�c@s(eZdZe�ejjdkd�dd��ZdS)�DocTestsrz)Docstrings are omitted with -OO and abovecCs0tjttjd�\}}|�|d�|�|d�dS)N)Zoptionflagsr)�doctest�testmodr/�ELLIPSIS�
assertGreaterr4)r8ZfailedZtriedrrr�test_doc_tests�szDocTests.test_doc_testsN)	r,r-r.r=ZskipIf�sys�flags�optimizer
rrrrr�s�rc@seZdZdd�ZdS)�StatisticsErrorTestcCs4d}|�ttd��|�ttjt�|tjj�dS)NzNExpected StatisticsError to be a ValueError, but got a subclass of %r instead.�StatisticsError)rer�r/r�rr$�__base__)r8�errmsgrrr�test_has_exception�s�

�z&StatisticsErrorTest.test_has_exceptionN)r,r-r.rrrrrr�src@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ExactRatioTestcCs$dD]}|�t�|�|df�qdS)N)i�����rri�cl F�x:^Vr)r4r/�_exact_ratio)r8rQrrr�test_int�szExactRatioTest.test_intcCs2d}|D]$}t|d�}|�t�|�|df�qdS)N)���rr��&r�)rr4r/r)r8r�rr�rrr�
test_fraction�s
zExactRatioTest.test_fractioncCsb|�t�d�d�|�t�d�d�dd�td�D�}|D]"}t�|�\}}|�|||�q:dS)Nr��rr���?)r~r�cSsg|]}t�dd��qS)���rk��random�uniform�r�rrrr�
<listcomp>�r�z-ExactRatioTest.test_float.<locals>.<listcomp>rk)r4r/r�range)r8�datar
�num�denrrr�
test_float�szExactRatioTest.test_floatcCsJt}tj}|�||d��d�|�||d��d�|�||d��d�dS)Nz0.125rz12.345)i�	��z-1.98)i����r�)rr/rr4)r8r�rrrr�test_decimal�s
zExactRatioTest.test_decimalcCs�td�}Gdd�dt�}Gdd�dt�}||fD]`}t|t|fD]N}||�}t�|�}|�||df�|�t|d�|�|�t�|d��qBq2dS)N�INFc@seZdZdS)z(ExactRatioTest.test_inf.<locals>.MyFloatNr+rrrr�MyFloat�sr+c@seZdZdS)z*ExactRatioTest.test_inf.<locals>.MyDecimalNr+rrrr�	MyDecimal�sr,r)	rrr/rr4rrerr%)r8r*r+r,rror
�ratiorrrr��s
zExactRatioTest.test_infcCsttd�}Gdd�dt�}|||�fD]J}t�|�}|�t�|d��|�|dd�|�t|d�t|��q$dS)N�NANc@seZdZdS)z.ExactRatioTest.test_float_nan.<locals>.MyFloatNr+rrrrr+�sr+rr)	rr/rrerr�assertIsr4r)r8r.r+r�r-rrr�test_float_nan�s
zExactRatioTest.test_float_nancCs�td�}td�}Gdd�dt�}|||�|||�fD]J}t�|�}|�t|d|��|�|dd�|�t|d�t|��q4dS)Nr.�sNANc@seZdZdS)z2ExactRatioTest.test_decimal_nan.<locals>.MyDecimalNr+rrrrr,sr,rr)rr/rrerr/r4r)r8r.r1r,r�r-rrr�test_decimal_nan�s
zExactRatioTest.test_decimal_nanN)
r,r-r.rrr'r)r�r0r2rrrrr�s
rc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�DecimalToRatioTestcCs<td�}|�t�|�|df�|�t�|�|df�dS)Nr*)rr4r/r)r8rrrr�
test_infinitysz DecimalToRatioTest.test_infinitycCsDtd�td�fD].}t�|�\}}|�t||��|�|d�qdS)Nr.r1)rr/rrerr/)r8r�r%r&rrrr�szDecimalToRatioTest.test_nancCsltd�td�g}|D]R}t�|�\}}|�|d�|�|d�t�|�\}}|�|d�|�|d�qdS)Nz	9.8765e12z
9.8765e-12r)rr/r�assertGreaterEqualr	ZassertLessEqual)r8Znumbersr�r%r&rrr�	test_signszDecimalToRatioTest.test_signcCst�td��}|�|d�dS)Nz0.1234)ii��r/rrr4�r8�trrr�test_negative_exponent,sz)DecimalToRatioTest.test_negative_exponentcCst�td��}|�|d�dS)Nz1.234e7)i K�rr8r9rrr�test_positive_exponent1sz)DecimalToRatioTest.test_positive_exponentcCs8t�td��}|�|d�t�td��}|�|d�dS)NZ1e2)rkrz1.47e5)i8>rr8r9rrr�test_regression_205366sz(DecimalToRatioTest.test_regression_20536N)	r,r-r.r4r�r6r;r<r=rrrrr3s
r3c@s$eZdZdd�Zdd�Zdd�ZdS)�IsFiniteTestcCs0dtdd�dtd�fD]}|�t�|��qdS)Nrirr}r��5.5)rrrer/�	_isfiniter{rrr�test_finiteBszIsFiniteTest.test_finitecCs*td�td�fD]}|�t�|��qdSr�rrr�r/r@r{rrrr4GszIsFiniteTest.test_infinitycCs0td�td�td�fD]}|�t�|��qdS�Nr�r.r1rBr{rrrr�LszIsFiniteTest.test_nanN)r,r-r.rAr4r�rrrrr>?sr>c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�
CoerceTestcCsNttttfD]<}|�t�|t�|�Gdd�d|�}|�t�|t�|�qdS)Nc@seZdZdS)z%CoerceTest.test_bool.<locals>.MyClassNr+rrrr�MyClassmr�rE)rlrrrr/r/�_coerce�bool)r8�TrErrr�	test_boolgszCoerceTest.test_boolcCs,|�t�||�|�|�t�||�|�dSr@)r/r/rF�r8�A�Brrr�assertCoerceTopszCoerceTest.assertCoerceTocCsT|�||�Gdd�d|�}|�||�Gdd�d|�}|�||�|�||�dS)Nc@seZdZdS)z/CoerceTest.check_coerce_to.<locals>.SubclassOfANr+rrrr�SubclassOfAzr�rNc@seZdZdS)z/CoerceTest.check_coerce_to.<locals>.SubclassOfBNr+rrrr�SubclassOfB}r�rO)rM)r8rKrLrNrOrrr�check_coerce_touszCoerceTest.check_coerce_tocCs,|�ttj||f�|�ttj||f�dSr@)r��	TypeErrorr/rFrJrrr�assertCoerceRaises�szCoerceTest.assertCoerceRaisescCs�|�t�||�|�Gdd�d|�}Gdd�d|�}Gdd�d|�}|||fD]}|�||�qN|�||�|�||�|�||�dS)Nc@seZdZdS)z*CoerceTest.check_type_coercions.<locals>.UNr+rrrr�U�r�rSc@seZdZdS)z*CoerceTest.check_type_coercions.<locals>.VNr+rrrr�V�r�rTc@seZdZdS)z*CoerceTest.check_type_coercions.<locals>.WNr+rrrr�W�r�rU)r/r/rFrMrR)r8rHrSrTrU�typrrr�check_type_coercions�szCoerceTest.check_type_coercionscCs*|�t�tttfD]}|�t|�qdSr@)rWrlrrrrP)r8rVrrrr�s
zCoerceTest.test_intcCs|�t�|�tt�dSr@)rWrrPrr[rrrr�s
zCoerceTest.test_fractioncCs|�t�dSr@)rWrr[rrrr)�szCoerceTest.test_decimalcCs|�t�dSr@)rWrr[rrrr'�szCoerceTest.test_floatcCs:tttd�ttfD]"}ttttfD]}|�	||�q"qdSr@)
�str�listr�tuple�dictrlrrrrR)r8Zbad_typeZ	good_typerrr�test_non_numeric_types�sz!CoerceTest.test_non_numeric_typescCs:ttfD],}Gdd�d|�}|�|t�|�|t�qdS)Nc@seZdZdS)z6CoerceTest.test_incompatible_types.<locals>.MySubclassNr+rrrr�
MySubclass�r�r])rrrRr)r8rHr]rrr�test_incompatible_types�sz"CoerceTest.test_incompatible_typesN)r,r-r.rIrMrPrRrWrrr)r'r\r^rrrrrDRs	rDc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�ConvertTestcCs$|�||�|�t|�t|��dSr@)r4r/r)r8r
r&rrr�check_exact_equal�szConvertTest.check_exact_equalcCsPt�td�t�}|�|d�Gdd�dt�}t�td�|�}|�||d��dS)Nr�c@seZdZdS)z#ConvertTest.test_int.<locals>.MyIntNr+rrrr�MyInt�r�rar^)r/�_convertrrlr`)r8r
rarrrr�s
zConvertTest.test_intcCs\t�tdd�t�}|�|tdd��Gdd�dt�}t�tdd�|�}|�||dd��dS)N�_rcseZdZ�fdd�Z�ZS)z-ConvertTest.test_fraction.<locals>.MyFractioncs|�t��|��Sr@��	__class__�super�__truediv__�r8r��rerrrg�sz9ConvertTest.test_fraction.<locals>.MyFraction.__truediv__�r,r-r.rg�
__classcell__rrrir�
MyFraction�srlr��
)r/rbrr`)r8r
rlrrrr�s
zConvertTest.test_fractioncCsTt�tdd�t�}|�|d�Gdd�dt�}t�tdd�|�}|�||d��dS)	NrZrg�cseZdZ�fdd�Z�ZS)z'ConvertTest.test_float.<locals>.MyFloatcs|�t��|��Sr@rdrhrirrrg�sz3ConvertTest.test_float.<locals>.MyFloat.__truediv__rjrrrirr+�sr+r~r�r)r/rbrrr`)r8r
r+rrrr'�s
zConvertTest.test_floatcCsXt�tdd�t�}|�|td��Gdd�dt�}t�tdd�|�}|�||d��dS)	Nr�(z0.025cseZdZ�fdd�Z�ZS)z+ConvertTest.test_decimal.<locals>.MyDecimalcs|�t��|��Sr@rdrhrirrrg�sz7ConvertTest.test_decimal.<locals>.MyDecimal.__truediv__rjrrrirr,�sr,r�r�z-0.9375)r/rbrrr`)r8r
r,rrrr)�s
zConvertTest.test_decimalcCsFtd�td�fD]0}||fD] }t�|t|��}|�||�qqdSr)rrr/rbrr`)r8r*rr
rrrr��szConvertTest.test_infcCs@td�td�td�fD]$}t�|t|��}|�t||��qdSrC)rrr/rbrrer)r8r�r
rrrr��szConvertTest.test_nancCs:|�t��t�dt�Wd�n1s,0YdSr@)r�rQr/rbrr[rrr�test_invalid_input_type�sz#ConvertTest.test_invalid_input_typeN)r,r-r.r`rrr'r)r�r�rorrrrr_�s


r_c@s$eZdZdd�Zdd�Zdd�ZdS)�FailNegTestcCs2ddtd�td�g}tt�|��}|�||�dS�Nr�@r}r�)rrrYr/�	_fail_negr4)r8�values�newrrr�test_pass_through�szFailNegTest.test_pass_throughcCs@ddtd�td�fD]&}|g}t�|�}|�tjt|�qdSrq)rrr/rsr�r�next)r8r
�seq�itrrr�test_negatives_raise�s
z FailNegTest.test_negatives_raisec
Csrdt�dd�}ztt�dg|��Wn0tjyV}z|jd}WYd}~nd}~00|�d�|�||�dS)Nzbadness #%d�'i��rZrz(expected exception, but it didn't happen)	r�randintrwr/rsrrnZfailr4)r8rHrRrrrr�test_error_msgs 
zFailNegTest.test_error_msgN)r,r-r.rvrzr}rrrrrp�srpc@seZdZdd�Zdd�ZdS)�FindLteqTestc
Cs�gdfddgdfddgdffD]l\}}|j||d��F|�t��t�||�Wd�n1sb0YWd�q1s�0YqdS)Nrrr}�rr
)�subTestr�r$r/�
_find_lteq)r8rr
rrr�test_invalid_input_valuess

�z&FindLteqTest.test_invalid_input_valuesc	Cszgd�ddfgd�ddfgd�ddffD]L\}}}|j||d��$|�|t�||��Wd�q(1sj0Yq(dS)	N�rrrrr}rr�rrrrrr}�rrr}r}r}r}rr)r�r4r/r�)r8rr
�
expected_irrr�test_locate_successfullys�z%FindLteqTest.test_locate_successfullyN�r,r-r.r�r�rrrrr~s
r~c@seZdZdd�Zdd�ZdS)�FindRteqTestc	CsbdgddfddgddffD]B\}}}|�t��t�|||�Wd�q1sR0YqdS)Nrrr}r)r�r$r/�
_find_rteq)r8r�lr
rrrr�*s

�z&FindRteqTest.test_invalid_input_valuesc
Cs�gd�dddfgd�dddfgd�dddffD]R\}}}}|j|||d	��&|�|t�|||��Wd�q.1sv0Yq.dS)
Nr�rrrr�r}r�r�)rr�r
)r�r4r/r�)r8rr�r
r�rrrr�2s�z%FindRteqTest.test_locate_successfullyNr�rrrrr�'sr�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�UnivariateCommonMixincCs|�t|j�dSr@�r�rQ�funcr[rrr�test_no_argsAsz"UnivariateCommonMixin.test_no_argscCs*gdtg�fD]}|�tj|j|�qdS)Nr)�iterr�r/rr�)r8�emptyrrr�test_empty_dataEsz%UnivariateCommonMixin.test_empty_datacCs(ttd��}|t|�kr$t�|�q|S�Nr��rYr#�sortedr�shuffle�r8r$rrr�prepare_dataJsz"UnivariateCommonMixin.prepare_datacCs0|��}|dd�}|�|�}|�||d�dS)Nzdata has been modified)r�r�ZassertListEqual)r8r$Zsavedrrrr�test_no_inplace_modificationsQs
z3UnivariateCommonMixin.test_no_inplace_modificationscCs:gd�d}|�|�}t�|�|�|�}|�||�dS)N)rrr}r}r}r�ri�rk)r�rr�r4�r8r$rrrrr�test_order_doesnt_matter[s



z.UnivariateCommonMixin.test_order_doesnt_mattercCsnGdd�dt�}Gdd�dt�}dd�}|��}|�|�}ttt|||fD]}|�||��}|�||�qJdS)Nc@seZdZdS)zBUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyListNr+rrrr�MyListjsr�c@seZdZdS)zCUnivariateCommonMixin.test_type_of_data_collection.<locals>.MyTupleNr+rrrr�MyTuplelsr�cSsdd�|D�S)Ncss|]
}|VqdSr@r)r��objrrrr�or�zXUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator.<locals>.<genexpr>r�r$rrr�	generatornszEUnivariateCommonMixin.test_type_of_data_collection.<locals>.generator)rYrZr�r�r�r4)r8r�r�r�r$r�kindrtrrr�test_type_of_data_collectionhs
z2UnivariateCommonMixin.test_type_of_data_collectioncCs0tddd�}|�t|��}|�|�|�|�dS�N�r�r})r#r�rYr4�r8r$rrrr�test_range_datavsz%UnivariateCommonMixin.test_range_datacCs.|�d�|�d�|�d�|�t��dS)Nr�gE@)�check_for_type_error�objectr[rrr�test_bad_arg_types|s



z(UnivariateCommonMixin.test_bad_arg_typescGs|jt|jg|�R�dSr@r�r�rrrr��sz*UnivariateCommonMixin.check_for_type_errorcshGdd�dt�}|��}|�|�}t|ttfD]4��fdd�|D�}t|�|�|��}|�||�q.dS)Ncs,eZdZ�fdd�Z�fdd�ZeZ�ZS)z@UnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloatcst|�t��|��Sr@�rrfrgrhrirrrg�szLUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__truediv__cst|�t��|��Sr@�rrf�__add__rhrirrr��szHUnivariateCommonMixin.test_type_of_data_element.<locals>.MyFloat.__add__)r,r-r.rgr��__radd__rkrrrirr+�sr+csg|]}�|��qSrr�r�r
�r�rrr"�r�zCUnivariateCommonMixin.test_type_of_data_element.<locals>.<listcomp>)rr�r�rrrr4)r8r+�rawrr$rtrr�r�test_type_of_data_element�s
z/UnivariateCommonMixin.test_type_of_data_elementN)
r,r-r.r�r�r�r�r�r�r�r�r�r�rrrrr�>s

r�c@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��|��Sr@r�rhrirrrg�szTUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__truediv__cst|�t��|��Sr@)rrf�__rtruediv__rhrirrr��szUUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rtruediv__cst|�t��|��Sr@)rrf�__sub__rhrirrr��szPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__sub__cst|�t��|��Sr@)rrf�__rsub__rhrirrr��szQUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__rsub__cst|�t��|��Sr@)rrf�__pow__rhrirrr��szPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__pow__cst|�t��|��Sr@r�rhrirrr��szPUnivariateTypeMixin.prepare_types_for_conservation_test.<locals>.MyFloat.__add__)r,r-r.rgr�r�r�r�r�r�rkrrrirr+�sr+)rrr)r8r+rrr�#prepare_types_for_conservation_test�sz7UnivariateTypeMixin.prepare_types_for_conservation_testcsF|��}|��D]0��fdd�|D�}|�|�}|�t|���qdS)Ncsg|]}�|��qSrrr�r�rrr"�r�z<UnivariateTypeMixin.test_types_conserved.<locals>.<listcomp>)r�r�r�r/r)r8r$r�rtrr�r�test_types_conserved�s

z(UnivariateTypeMixin.test_types_conservedN)r,r-r.r�r�rrrrr��s
r�c@seZdZdd�ZdS)�
TestSumCommoncCsdd�}||_dS)NcWstj|�\}}}t�||�Sr@)r/�_sumrF)rnrH�valuerrrr�simplified_sum�sz+TestSumCommon.setUp.<locals>.simplified_sum)r�)r8r�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|_dSr@)r/r�r�r[rrrr��sz
TestSum.setUpcCspgdtg�fD]\}|�|�|�ttd�df�|�|�|d�ttd�df�|�|�|d�ttd�df�qdS)Nrrr��ffffff@)r�r4r�rlrrr�rrrr��szTestSum.test_empty_datacCsF|�|�gd��ttd�df�|�|�gd�d�ttd�df�dS)N)rrir}������r�rvr�<r�)r�rr}r�rr�i�ri)r4r�rlrr[rrr�	test_ints�s��zTestSum.test_intscCsH|�|�dgd�ttd�df�|�|�gd�d�ttd�df�dS)Nr�r��@)r�r�r�g�?r�g	@r�)r4r�rrr[rrr�test_floats�s��zTestSum.test_floatscCs.|�|�tdd�gd�ttdd�df�dS)Nrr���r)r4r�rr[rrr�test_fractions�s�zTestSum.test_fractionsc	CsXt}|d�|d�|d�|d�|d�|d�|d�|d�g}|�|�|�ttd	�d
f�dS)Nr�z5.246z1.702z-0.025z3.974z2.328z4.617z2.843z20.686r�)rr4r��r8r�r$rrr�
test_decimals�s��zTestSum.test_decimalscCs:dd�td�D�}|jt|�|�d�t�|�dd�dS)NcSsg|]}t�dd��qS)rr�rr!rrrr"�r�z7TestSum.test_compare_with_math_fsum.<locals>.<listcomp>r�rg��ؗ�Ҭ<�r()r#rJrr�r�fsumr�rrr�test_compare_with_math_fsum�sz#TestSum.test_compare_with_math_fsumcCs|dd�td�D�}|�|�d}|�|d|�|d�d�|�|d|�|d�d�|�|td�|�|d�d�dS)	NcSsg|]}t�dd��qS)rr�rr!rrrr"r�z/TestSum.test_start_argument.<locals>.<listcomp>rkrrvr�rgg@��x�D)r#r�r4r)r8r$r:rrr�test_start_arguments
zTestSum.test_start_argumentcCs.|�t|jgd�d�|�t|jgd��dS)N�rrr}�999)rrr}r�r�r[rrr�test_strings_fail
szTestSum.test_strings_failcCs.|�t|jgd�d�|�t|jgd��dS)Nr��999)rrr}r�r�r[rrr�test_bytes_failszTestSum.test_bytes_failcCs8|�t|jddtd�g�|�t|jddgtd��dS)Nrrr)r�rQr�rr[rrr�test_mixed_sumszTestSum.test_mixed_sumN)r,r-r.r�r�r�r�r�r�r�r�r�r�r�rrrrr��sr�c@seZdZdd�ZdS)�SumTortureTestcCs�|�t�gd�d�ttd�df�|�t�gd�d�ttd�df�t�gd�d�\}}}|�|t�|�|d�|jt|�ddd	�dS)
N)r�}Ô%�I�Tr�}Ô%�I��r{g��@i@�)r�rrr�)�0��.�++rr�rZg���^�,gV瞯�<r�)r4r/r�rrr/rJ)r8rHr%�countrrr�test_tortures��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)�SumSpecialValuescCsNttfD]@}|d�}t�d|dg�d}|�t|�|�|�t�|��qdS)Nr�rr)	rrr/r�r/rrerr)r8ror�rtrrrr�,s
zSumSpecialValues.test_nancCs<|�t�|��|�t|�t|��|�|dk|dk�dS�Nr)rerr%r/rr4)r8r
rrrr�check_infinity3szSumSpecialValues.check_infinitycCsLt�dd|dg�d}|�||�t�dd|d|dg�d}|�||�dS)Nrrr}r�)r/r�r��r8rrtrrr�do_test_inf:szSumSpecialValues.do_test_infcCs$td�}dD]}|�||�qdS�Nr�rrZ)rr��r8rr
rrr�test_float_infBszSumSpecialValues.test_float_infcCs$td�}dD]}|�||�qdSr�)rr�r�rrr�test_decimal_infGsz!SumSpecialValues.test_decimal_infcCs8td�}t�dd|d|dg�d}|�t�|��dS�Nrrrr}r�)rr/r�rerrr�rrr�test_float_mismatched_infsLsz+SumSpecialValues.test_float_mismatched_infscCsdtd�}dd|d|dg}t�tj��*|�t�t�|�d��Wd�n1sV0YdSr�)	r�decimal�localcontextZExtendedContextrerrr/r��r8rr$rrr�3test_decimal_extendedcontext_mismatched_infs_to_nanRszDSumSpecialValues.test_decimal_extendedcontext_mismatched_infs_to_nancCs\td�}dd|d|dg}t�tj��"|�tjtj|�Wd�n1sN0YdSr�)rr�r�ZBasicContextr��InvalidOperationr/r�r�rrr�0test_decimal_basiccontext_mismatched_infs_to_nanYszASumSpecialValues.test_decimal_basiccontext_mismatched_infs_to_nancCs(td�}d|dg}|�tjtj|�dS)Nr1rr)rr�r�r�r/r�)r8r1r$rrr�test_decimal_snan_raises`s
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)�AverageMixincCs6dddtdd�td�fD]}|�|�|g�|�qdS)Nr�g@E@g�X_yCr`�z0.28�rrr4r�r{rrr�test_single_valuelszAverageMixin.test_single_valuecCsdddtdd�td�fS)N�@r^���7y�!C�=�Cz4.9712�rrr[rrr�'prepare_values_for_repeated_single_testqsz4AverageMixin.prepare_values_for_repeated_single_testc
Csf|��D]X}dD]N}|j||d��,|g|}|�|�|�|�Wd�q1sT0YqqdS)N�rrir�r�)r
r�)r�r�r4r��r8r
r�r$rrr�test_repeated_single_valuets

z'AverageMixin.test_repeated_single_valueN)r,r-r.r�r�r�rrrrr�isr�c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�TestMeancCstj|_dSr@)r/�meanr�r[rrrr�~szTestMean.setUpcCs|�|�gd��d�dS)N)r�rr}r�r�r4r�r[rrr�test_torture_pep�szTestMean.test_torture_pepcCs(gd�}t�|�|�|�|�d�dS)N)rrrr}r}r}r�ririr�rrrrr�r~g@@�rr�r4r�r�rrrr��s
zTestMean.test_intscCs(gd�}t�|�|�|�|�d�dS)N)g@1@g�3@�4@g�5@g�5@g@7@g 9@g�;@g6@r�r�rrrr��s
zTestMean.test_floatscCsJt}|d�|d�|d�|d�|d�g}t�|�|�|�|�|d��dS)Nz1.634z2.517z3.912z4.072z5.813z3.5896�rrr�r4r�r�rrrr��s"
zTestMean.test_decimalsc	Csft}|dd�|dd�|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�|d	d
��dS)Nrrr}r�rir�rr�i�i��rrr�r4r��r8r�r$rrrr��s<
zTestMean.test_fractionscCs`gd�}ttfD]J}dD]@}|d�|}||g}|�|�}|�t�|��|�||�qqdS)N�rr}rirr~r�r)rrr�rerr%r4)r8r�r�r
rr$rtrrrr��s

zTestMean.test_infc	Cs:dddtd�dddtd�g}|�|�}|�t�|��dS)	Nrr�r�rrr}riz-inf)rr�rerr�r8r$rtrrr�test_mismatched_infs�s
zTestMean.test_mismatched_infscCsFgd�}ttfD]0}|d�}||g}|�|�}|�t�|��qdS)Nrr�)rrr�rerr)r8r�r�rr$rtrrrr��s

zTestMean.test_nancsBd�gd�}|�|��}|��fdd�|D��}|�||�dS)Nge��A�	�333333@�@g������@g������@g333333@�������@g @g333333 @g������"@csg|]}|��qSrrr���crrr"�r�z*TestMean.test_big_data.<locals>.<listcomp>�r�r4�r8r$rrtrrr�
test_big_data�s
zTestMean.test_big_datacCs:dd�td�D�}|�|�}|�|d�}|�||�dS)NcSsg|]}t�dd��qS)rrirr!rrrr"�r�z.TestMean.test_doubled_data.<locals>.<listcomp>r�r�r#r�rJr�rrr�test_doubled_data�s
zTestMean.test_doubled_datacCs td�}|�t�|g�|�dS)NZ1e4)rr4r/r�r�rrr�test_regression_20561�szTestMean.test_regression_20561cCs\|�t�ddg�d�d}d}dD]4}|�t�|g|�|�|�t�|g|�|�q"dS)Ng�������g�g)rr}rir()r4r/r�)r8�bigZtinyrrrr�test_regression_25177�s��zTestMean.test_regression_25177N)r,r-r.r�r�r�r�r�r�r�rr�rrrrrrrrr�}s		r�cs�eZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Z�ZS)�TestHarmonicMeancCstj|_dSr@)r/Z
harmonic_meanr�r[rrrr��szTestHarmonicMean.setUpcst���}|�d�|Sr�)rfr��remove�r8rtrirrr��s

zTestHarmonicMean.prepare_datacCsdddtdd�td�fS)Nr�r^r�r�r�z4.125r�r[rrrr��sz8TestHarmonicMean.prepare_values_for_repeated_single_testcCsgd�}|�|�|�d�dS)N)rrrrr�rrrr�	test_zero�szTestHarmonicMean.test_zeroc	CsZtj}dggd�fD]@}|j|d�� |�||j|�Wd�q1sJ0YqdS)NrZ)rrhr})rt)r/rr�r�r�)r8�excrtrrr�test_negative_error�sz$TestHarmonicMean.test_negative_errorc
Cs�dggd�gd�gd�fD]d}|j|d��D|�t��|�|�Wd�n1sV0YWd�q1st0YqdS)Nz3.14)�1�2�3)rrr}�4ri)r�rr	z5.6r�)r�r�rQr�r�rrr�test_invalid_type_error�s�z(TestHarmonicMean.test_invalid_type_errorcCs(gd�}t�|�|�|�|�d�dS)N)rr�r�r�r�r�g333333@r�r�rrrr�s
zTestHarmonicMean.test_intscCs>gd�}t�|�|�|�|�d�|�|�gd��d�dS)N)r�r�r�r�r�r�)r�r�r�r�r�r�r�rrr�test_floats_exact	s
z"TestHarmonicMean.test_floats_exactcCs(tdd�D]}|�|�|g�|�q
dS)Nrr��r#r4r�r{rrr�test_singleton_listssz%TestHarmonicMean.test_singleton_listsc	Cs�t}|�|�|d�|d�|d�|d�g�|d��|d�|d�|d�|d�g}t�|�|�|�|�|d��|d�|d�|d	�|d
�g}t�|�|�|�|�|d�d�dS)
Nr`r�r�r�z0.10z0.20z1.68z0.32z5.94z2.75i�iC)rr4r�rr�r�rrr�test_decimals_exacts.

z$TestHarmonicMean.test_decimals_exactc	Csft}|dd�|dd�|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�|d	d
��dS)Nrrr}r�rir�rr�i|i�rrrrrr� s<
zTestHarmonicMean.test_fractionscCs$dtd�dg}|�|�|�d�dS)Nrrrr�)rr4r�rrrrr�'szTestHarmonicMean.test_infcCs(dtd�dg}|�t�|�|���dS)Nrrr�r�)rrerrr�rrrrr�,szTestHarmonicMean.test_nancsBd�gd�}|�|��}|��fdd�|D��}|�||�dS)N�orcsg|]}|��qSrrr�rrrr"6r�z>TestHarmonicMean.test_multiply_data_points.<locals>.<listcomp>r
rrrr�test_multiply_data_points1s
z*TestHarmonicMean.test_multiply_data_pointscCs:dd�td�D�}|�|�}|�|d�}|�||�dS)NcSsg|]}t�dd��qS)rrirr!rrrr";r�z6TestHarmonicMean.test_doubled_data.<locals>.<listcomp>r�rrr�rrrr9s
z"TestHarmonicMean.test_doubled_data)r,r-r.r�r�r�rrrr�r r"r#r�r�r�r%rrkrrrirr�srcsTeZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
�ZS)�
TestMediancCstj|_dSr@�r/�medianr�r[rrrr�CszTestMedian.setUpcs(t���}t|�ddkr$|�d�|S)Nrr)rfr�rKr�r�rirrr�Fs

zTestMedian.prepare_datacCsgd�}|�|�|�d�dS)N�rrr}r�rir�r�r�r�rrr�test_even_intsMszTestMedian.test_even_intscCsgd�}|�|�|�d�dS)N)rrr}r�rir�r~r�r�r�rrr�
test_odd_intsSszTestMedian.test_odd_intscCsVt}|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�|dd��dS)Nrrrr}r�rirrrrr�test_odd_fractionsYs,
zTestMedian.test_odd_fractionscCs^t}|dd�|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�|dd��dS�Nrrrr}r�rir�rrrrr�test_even_fractionsas4
zTestMedian.test_even_fractionscCsJt}|d�|d�|d�|d�|d�g}t�|�|�|�|�|d��dS)N�2.5�3.1�4.2�5.7�5.8rr�rrr�test_odd_decimalsis"
zTestMedian.test_odd_decimalscCsPt}|d�|d�|d�|d�|d�|d�g}t�|�|�|�|�|d��dS)Nz1.2r/r0r1r2r3z3.65rr�rrr�test_even_decimalsqs(
zTestMedian.test_even_decimals)r,r-r.r�r�r*r+r,r.r4r5rkrrrirr&Asr&c@seZdZdd�Zdd�ZdS)�TestMedianDataTypecCstj|_dSr@r'r[rrrr�|szTestMedianDataType.setUpcCs(ttd��}|t|�kr$t�|�q|S)Nr`r�r�rrrr�szTestMedianDataType.prepare_dataN)r,r-r.r�r�rrrrr6zsr6c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestMedianLowcCstj|_dSr@)r/Z
median_lowr�r[rrrr��szTestMedianLow.setUpcCsgd�}|�|�|�d�dS)Nr)r}r�r�rrrr*�szTestMedianLow.test_even_intscCs^t}|dd�|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�|dd��dSr-rrrrrr.�s4
z!TestMedianLow.test_even_fractionscCsPt}|d�|d�|d�|d�|d�|d�g}t�|�|�|�|�|d��dS�Nz1.1z2.2z3.3z4.4r?z6.6rr�rrrr5�s(
z TestMedianLow.test_even_decimalsN�r,r-r.r�r*r.r5rrrrr7�sr7c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestMedianHighcCstj|_dSr@)r/Zmedian_highr�r[rrrr��szTestMedianHigh.setUpcCsgd�}|�|�|�d�dS)Nr)r�r�r�rrrr*�szTestMedianHigh.test_even_intscCs^t}|dd�|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�|dd��dSr-rrrrrr.�s4
z"TestMedianHigh.test_even_fractionscCsPt}|d�|d�|d�|d�|d�|d�g}t�|�|�|�|�|d��dSr8rr�rrrr5�s(
z!TestMedianHigh.test_even_decimalsNr9rrrrr:�sr:c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestMedianGroupedcCstj|_dSr@)r/Zmedian_groupedr�r[rrrr��szTestMedianGrouped.setUpcCstgd�}|�|�|�d�gd�}|�|�|�d�gd�}|�|�|d�d�gd�}|j|�|d	�d
dd�dS)
N)r�rm�r<r<r`r`r<)r�rmr<r<r<r<r`g�+@)rir�r�r`r�r�r�r��r=r�rig`3@)r��r>r>r>r�r�r��r?r?�r@��rg������4@�:�0�yE>�r'�r4r�rJr�rrr�test_odd_number_repeated�sz*TestMedianGrouped.test_odd_number_repeatedcCsvgd�}|j|�|d�ddd�gd�}|j|�|�ddd�gd�}|�|�|�d	�gd
�}|�|�|�d�dS)N)
rir�r�r`r�r�r�r=r=r�rig�����*3@rCrD)rr}r�r�r�rig["8���@)rr}r}r�r�r�ririririr�r�r	)
r}r�r�r�ririririr�r��@)rJr�r4r�rrr�test_even_number_repeated�sz+TestMedianGrouped.test_even_number_repeatedcCsLdddtdd�td�fD].}dD]$}|g|}|�|�|�t|��q qdS)Ng333333@�Dg��ޗCr�r�z32.9714r�)rrr4r�rr�rrrr��s
z,TestMedianGrouped.test_repeated_single_valuecCsPt}|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�d�dS)Nrir�r~rmr^�@rrrrrr,�s,
z$TestMedianGrouped.test_odd_fractionscCsXt}|dd�|dd�|dd�|dd�|dd�|dd�g}t�|�|�|�|�d�dS)Nrir�r~rmr^�
@rrrrrr.�s4
z%TestMedianGrouped.test_even_fractionscCsFt}|d�|d�|d�|d�|d�g}t�|�|�|�|�d�dS)Nr?�6.5�7.5�8.5g@rr�rrrr4s"
z#TestMedianGrouped.test_odd_decimalscCs�t}|d�|d�|d�|d�|d�|d�g}t�|�|�|�|�d�|d�|d�|d�|d�|d�|d�g}t�|�|�|�|�d�dS)Nr?rLrMrN�@g@rr�rrrr5s(
(
z$TestMedianGrouped.test_even_decimalscCs\gd�}|�|�|d�d�gd�}|j|�|d�ddd�gd�}|�|�|d	�d
�dS)N)
�@r�r�r�r�rJrJrKr�r�r�g@)rPr�r�r�r�r�rJrJrKr�r�g["8���@rCrD)��rQ���rSrSrS�rT�,�@iTr�g�p@rEr�rrr�
test_intervalszTestMedianGrouped.test_intervalcCspgd�}|�t|j|�gd�}|�t|j|�gd�}d}|�t|j||�gd�}d}|�t|j||�dS)N)�rXrX)r�r�r�r�rXr�r�)r8r$�intervalrrr�test_data_type_errorsz&TestMedianGrouped.test_data_type_errorN)
r,r-r.r�rFrHr�r,r.r4r5rWrZrrrrr;�s	
	r;c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�TestModecCstj|_dSr@)r/�moder�r[rrrr�1szTestMode.setUpcCsgd�S)N)rrrrr}r�rr~rr�rrr[rrrr�4szTestMode.prepare_datacCs"tddd�}|�|�|�d�dSr�r!r�rrrr�9szTestMode.test_range_datacCs4d}|�|�|�d�d��}|�|�|�d�dS)NZabcbdbrzfe fi fo fum fi fi�fi)r4r�r�r�rrr�test_nominal_data>szTestMode.test_nominal_datacCsDttd��}td�D]*}||g}t�|�|�|�|�|�qdSr��rYr#rr�r4r�)r8r$rQr�rrr�test_discrete_dataEs


zTestMode.test_discrete_datacCsgd�}|�|�|�d�dS)N)rrrrrrr}r�rir�r�r�r�rr�r~r~rr�r�rrr�test_bimodal_dataMszTestMode.test_bimodal_datacCs"ttd��}|�|�|�d�dS)Nr�r)rYr#r4r�r�rrr�test_unique_dataTszTestMode.test_unique_datacCs|�t|jd�dSr@r�r[rrr�test_none_dataZszTestMode.test_none_datacCs$t�gd��}|�|�|�d�dS)N)rrrrr)rA�Counterr4r�r�rrr�test_counter_dataaszTestMode.test_counter_dataN)r,r-r.r�r�r�r^r`rarbrcrerrrrr[/sr[c@seZdZdd�ZdS)�
TestMultiModecCs@tj}|�|d�dg�|�|d�gd��|�|d�g�dS)NZaabbbbbbbbccrZaabbbbccddddeeffffgg)rr�r�rX)r/�	multimoder4)r8rgrrr�test_basicskszTestMultiMode.test_basicsN)r,r-r.rhrrrrrfisrfc@s$eZdZdd�Zdd�Zdd�ZdS)�	TestFMeanc	Cs�tj}t}t}gd�ddf|d�|d�|d�gddf|dd	�|d
d�|dd
�gdd
fgd�ddfdd
|dd
�gddfdtgd��ddffD]2\}}}||�}|�t|�t|�|�|||�q�dS)N�r�r��@�@�floats�3.5�4.0�5.25�decimalsrrr�rr��	fractions)TFTTF�333333�?Zbooleansr��mixed types)rjrlrZ�iterator)	r/�fmeanrrr�r/rrr4)r8rvr�r�r$�
expected_meanr��actual_meanrrrrhts �	zTestFMean.test_basicscCsLtj}tj}|�|��|g�Wd�n1s40Y|�|��|tg��Wd�n1sj0Y|�t��|d�Wd�n1s�0Y|�t��|gd��Wd�n1s�0Y|�t��|�Wd�n1�s0Y|�t��|gd�d�Wd�n1�s>0YdS)N�r�Nr��r�r�r��F)r/rvrr�r�rQ)r8rvrrrr�test_error_cases�s&*&*&zTestFMean.test_error_casescCs�tj}td�}td�}|�t�|d|g��d�|�t�|||g��d�|�t�|d|g��d�|�t��|||g�Wd�n1s�0YdS�NZNan�Infr�r�znan and infinityZinfinity)	r/rvrrerrr%r�r$)r8rv�NaNr~rrr�test_special_values�szTestFMean.test_special_valuesN)r,r-r.rhr|r�rrrrrirsric@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�VarianceStdevMixinr"cCs6dddtdd�td�fD]}|�|�|g�d�qdS)Nr�g������3@g���%�Br�r�z8.392rr�r{rrrr��sz$VarianceStdevMixin.test_single_valuecCsHdddtdd�td�fD]*}dD] }|g|}|�|�|�d�q qdS)	Nr
r�g@�6��<Cr}rz62.4802)rr}rir`rr�r�rrrr��s
z-VarianceStdevMixin.test_repeated_single_valuecCs4dgd}|�|�}|j|ddd�|�|d�dS)Ng.�F7ݚ�?r{rYg��ؗ�Ҍ<rDr)r�rJr5rrrr�test_domain_error_regression�s

z/VarianceStdevMixin.test_domain_error_regressioncs>gd�}|�|�}d��fdd�|D�}|�|�|�|�dS)N)
g{�G�z�?gR���Q�?g
ףp=
�?gR���Q@g�p=
ף@g��Q�	@rGg�Q���@g�G�z�@g��Q�@gj�@csg|]}|��qSrrr���shiftrrr"�r�z6VarianceStdevMixin.test_shift_data.<locals>.<listcomp>)r�rJ�r8r�rr$rr�r�test_shift_data�s

z"VarianceStdevMixin.test_shift_datacs>gd�}|�|�}d��fdd�|D�}|�|�|�|�dS)N)
rr}r}r�rirr~r�r�r�iʚ;csg|]}|��qSrrr�r�rrr"�r�z<VarianceStdevMixin.test_shift_data_exact.<locals>.<listcomp>r
r�rr�r�test_shift_data_exact�s

z(VarianceStdevMixin.test_shift_data_exactcCs6dd�td�D�}|�|�}|�|�t|��|�dS)NcSsg|]}t�dd��qS)rr�rr!rrrr"�r�z:VarianceStdevMixin.test_iter_list_same.<locals>.<listcomp>r�)r#r�r4r�r�rrr�test_iter_list_same�s
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|_dSr@)r/�	pvariancer�r[rrrr��szTestPVariance.setUpcCs0ttd��}t�|�d}|�|�|�|�dS)Nr{gP�_Ar_r�rrr�test_exact_uniform�s
z TestPVariance.test_exact_uniformcCs"gd�}d}|�|�|�|�dS)N�r�rrmr�g�6@r��r8r$�exactrrrr��szTestPVariance.test_intscCsXt}|dd�|dd�|dd�|dd�g}|dd�}|�|�}|�||�|�|t�dS)Nrr�r}rr��rr�r4�assertIsInstance�r8r�r$r�rtrrrr��s$

zTestPVariance.test_fractionscCsNt}|d�|d�|d�|d�g}|d�}|�|�}|�||�|�|t�dS)Nz12.1z12.2z12.5z12.9z0.096875�rr�r4r��r8r�r$r�rtrrrr�s
zTestPVariance.test_decimalsN)r,r-r.r�r�r�r�r�rrrrr��s
	r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestVariancecCstj|_dSr@)r/�variancer�r[rrrr�szTestVariance.setUpcCs6dddtdd�td�fD]}|�tj|j|g�qdS)Nr�g33333�8@g�(G�!=Cr�r�z4.2084�rrr�r/rr�r{rrrr�szTestVariance.test_single_valuecCs"gd�}d}|�|�|�|�dS)Nr�r�r�r�rrrr�szTestVariance.test_intscCsXt}|dd�|dd�|dd�|dd�g}|dd�}|�|�}|�||�|�|t�dS)Nrr�r}rrr�r�rrrr�s$

zTestVariance.test_fractionscCsZt}|d�|d�|d�|d�g}d|d�|d�}|�|�}|�||�|�|t�dS)Nrrr~r�z9.5r}r�r�rrrr�#s
zTestVariance.test_decimalscCs0d}|�|�|�d�|�|j|dd�d�dS)N�r�rrr�rr��xbarr�r�r�rrr�test_center_not_at_mean,sz$TestVariance.test_center_not_at_meanN)	r,r-r.r�r�r�r�r�r�rrrrr�
s		r�c@s$eZdZdd�Zdd�Zdd�ZdS)�
TestPStdevcCstj|_dSr@)r/Zpstdevr�r[rrrr�3szTestPStdev.setUpcCs8dd�td�D�}t�t�|��}|�|�|�|�dS)NcSsg|]}t�dd��qS)i��r@rr!rrrr"8r�z7TestPStdev.test_compare_to_variance.<locals>.<listcomp>r�)r#r�sqrtr/r�r4r�r�rrr�test_compare_to_variance6sz#TestPStdev.test_compare_to_variancecCs0d}|�|�|�d�|�|j|dd�d�dS)N)r}r�rr�r�r�)�murOr�r�rrrr�<sz"TestPStdev.test_center_not_at_meanN)r,r-r.r�r�r�rrrrr�1sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�	TestStdevcCstj|_dSr@)r/�stdevr�r[rrrr�DszTestStdev.setUpcCs6dddtdd�td�fD]}|�tj|j|g�qdS)N�QgH�z�wi@gf7?+�Brir�z35.719r�r{rrrr�GszTestStdev.test_single_valuecCs8dd�td�D�}t�t�|��}|�|�|�|�dS)NcSsg|]}t�dd��qS)rhr~rr!rrrr"Nr�z6TestStdev.test_compare_to_variance.<locals>.<listcomp>r�)r#rr�r/r�r4r�r�rrrr�Lsz"TestStdev.test_compare_to_variancecCsd}|�|j|dd�d�dS)Nr�rrr�r�r�r�rrrr�Rsz!TestStdev.test_center_not_at_meanN)r,r-r.r�r�r�r�rrrrr�Bsr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestGeometricMeancCs�tj}|�|gd��d�|�|ddg�d�|�|dg�d�t�d�tdd	�tdd
�tdd�tddd
�tddd�gd�dd�td
�D�dd�td�D�dd�td�D�f	D]B}t�tt	|��t	d�t
|�}||�}|�t�|t
|���q�dS)N)r_r@r��B@r�g"@g@g�1@l���;rrkr�r{r�r}r)r�r^rmri�xrcSsg|]}t�d��qS)�I@�r�expovariate�r�rQrrrr"fr�z1TestGeometricMean.test_basics.<locals>.<listcomp>cSsg|]}t�dd��qS)rrJ)r�lognormvariater�rrrr"gr���cSsg|]}t�ddd��qS)r��i�)r�
triangularr�rrrr"hr�r�)r/�geometric_mean�assertAlmostEqualr�seedr#r�prodr�rrKre�iscloser)r8r��rngZ
gm_decimalZgm_floatrrrrhXs$


� zTestGeometricMean.test_basicscCs�tj}t}t}d}gd�df|d�|d�|d�gdf|dd	�|d
d�|dd
�gd
fdd
|dd
�gdfdtgd��dffD]2\}}||�}|�t|�t|�|j||dd�qxdS)Ng�d�@rjrmrnrorprqrrr�rr�rrr�rt)rjrZruri�Zplaces)	r/r�rrr�r/rrr�)r8r�r�r�rwr$r�rxrrr�test_various_input_typesns
�z*TestGeometricMean.test_various_input_typescCs�tj}d}|d|d|d|g�}|�t�|d|��|�t�|��d}|d|d|d|g�}|�t�|d|��|�|d�dS)Ngp~gK@g8@r�gprY)r/r�rerr�r�r%�assertNotEqual)r8r�ZlargeZbig_gmZsmallZsmall_gmrrr�test_big_and_small�sz$TestGeometricMean.test_big_and_smallcCs�tj}tj}|�|��|g�Wd�n1s40Y|�|��|gd��Wd�n1sj0Y|�|��|gd��Wd�n1s�0Y|�|��|tg��Wd�n1s�0Y|�t��|d�Wd�n1�s
0Y|�t��|gd��Wd�n1�sB0Y|�t��|�Wd�n1�st0Y|�t��|gd�d�Wd�n1�s�0YdS)N)r�rYrk)r�g�rkryrzr{)r/r�rr�r�rQ)r8r�rrrrr|�s$&***(,&z"TestGeometricMean.test_error_casescCs�tj}td�}td�}|�t�|d|g��d�|�t�|||g��d�|�t�|d|g��d�|�t��|||g�Wd�n1s�0YdSr})	r/r�rrerrr%r�r$)r8r�rr~rrrr��sz%TestGeometricMean.test_special_valuesN)r,r-r.rhr�r�r|r�rrrrr�Vs
r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
TestQuantilescstj}gd�}t�|�dgfddgfdddgfdgd	�fd
gd�fdgd
�fdgd�fdgd�fdgd�fdgd�ff
D�]P\}}|�||||d��|�t|||d��|d�tttfD]D�|t	�|�|d�}|�
�fdd�|D��|�|tt	�|���q�t|�dk�r&|�|||d�|�t|�}d|d|d}d|d|d}|||g}	|�|||d�||	|dd�||f�dd�}
tt	|
|��}|t	|
|�|d�}|�
t
d d�t||�D���qztdd!�D]8}
tjtd"�|
d#�}||�\}}}|�|t�|���q�dS)$N)r�r(�rVi^rr�@o@r}�i@�t@r�)�d@r���t@ri)�a@��k@�@r@��u@r�)�^@r�r�r���u@r�)�Y@r�g�j@r�g�r@r�gXv@r�)	gV@r�gg@r�r�r�g`t@r�g�v@r�)�T@r�r�r�� l@r�g�q@r�r�r�g�v@r`)gR@gZ@r�ge@r�r��n@g�p@r�r�g�t@r�g@v@gw@�rc3s|]}tt|��k�VqdSr@��allrr��Zdatatyperrr��r�z4TestQuantiles.test_specific_cases.<locals>.<genexpr>rrZrh�	inclusive�r�methodcSsd|dS�Nr�g3333�J�@rr	rrrr��sz,TestQuantiles.test_specific_cases.<locals>.fcss|]\}}t�||�VqdSr@�rr��r�rRrrrrr��r�r�rk��k)r/�	quantilesrr�r4rKrrrr�rerYr�r�rOr#�choicesr()r8r�r$rrrtZsdata�lo�hiZpadded_datar��exp�actr��q1�q2�q3rr�r�test_specific_cases�sN








�
� z!TestQuantiles.test_specific_casescs0tj}gd�}t�|�dgfddgfdddgfdgd	�fd
gd�fdgd
�fdgd�fdgd�fdgd�fdgd�ff
D]�\}}|�||||dd��|�t|||dd��|d�tttfD]F�|t	�|�|dd�}|�
�fdd�|D��|�|tt	�|���q�dd�}tt	||��}|t	||�|dd�}|�
tdd�t
||�D���qz|�|ddgddd�gd��|�|tdd �ddd�gd��d!d"�td#�D�}||d$dd�}	|�t|��|�t|��||d$d%�}|�||	�tdd&�D]<}
tjtd�|
d'�}||dd(�\}}}
|�|t�|���q�dS))N)rkr(i�i rr��r@r}r��y@r�)��e@r��@@ri)r�r���v@���@r�)��b@r�r�r����@r�)g0a@�r�r�gpw@r�gP�@r�)	g@`@r�g�g@r�r�r�g�{@r�g@�@r�)g@_@r�r�r�r�r�r�r�r�r�g�@r`)r�g�a@r�g�f@r�r�g�q@r�r�r�g~@r�g�@g��@r�r�c3s|]}tt|��k�VqdSr@r�r�r�rrr�	r�z>TestQuantiles.test_specific_cases_inclusive.<locals>.<genexpr>cSsd|dSr�rr	rrrr�	sz6TestQuantiles.test_specific_cases_inclusive.<locals>.fcss|]\}}t�||�VqdSr@r�r�rrrr�	r�rrk)	�$@rg>@gD@r�gN@g�Q@r�g�V@r�cSsg|]}t�d��qS)r{)r�	randranger�rrrr"	r�z?TestQuantiles.test_specific_cases_inclusive.<locals>.<listcomp>i�� r�r�r��r�)r/r�rr�r4rKrrrr�rerYr�rOr#rrdrr�r()r8r�r$rrrtr�r�r�rr�r�r�r�rr�r�test_specific_cases_inclusive�sP








� ��z+TestQuantiles.test_specific_cases_inclusivecCsPtj}tdd�D]:}dg|}|�||�gd��|�||dd�gd��qdS)Nrr�r�)r�r�r�r�r�)r/r�r#r4)r8r�rr$rrr�test_equal_inputs	s
�zTestQuantiles.test_equal_inputsc	s�tj}d}dd�t|�D��tt���|kr>��t�d��q���dD]:}||}|�	�fdd�|�|d�D�t
t|||���qJdD]\}||||d	h}�fd
d�|�|d�D�}dd�t||d	d��D�}|�||k�q�dS)
Nr{cSsg|]}t�d��qS)皙�����?r�r�rrrr"(	r�z9TestQuantiles.test_equal_sized_groups.<locals>.<listcomp>r�)
rrrir�r�r�rkr(r�r�r�r7r{csg|]}t��|��qSr��bisect�r��qr�rrr"1	r�r�)
rmr��;�m��i;i�isi�i)&rcsg|]}t��|��qSrr�r�r�rrr"8	r�cSsh|]\}}||�qSrr)r��pr�rrr�	<setcomp>9	r�z8TestQuantiles.test_equal_sized_groups.<locals>.<setcomp>)
r/r�r#rK�setr�rr��sortr4rYrOre)r8r��totalrZ
group_sizeZgroup_sizes�posZsizesrr�r�test_equal_sized_groups%	s"�z%TestQuantiles.test_equal_sized_groupscCstj}tj}|�t��|�Wd�n1s20Y|�t��"|gd�ddd�Wd�n1sn0Y|�t��|gd�d�Wd�n1s�0Y|�|�� |gd�dd�Wd�n1s�0Y|�|�� |gd�dd�Wd�n1�s0Y|�t�� |gd�dd�Wd�n1�sX0Y|�t�� |gd�dd	�Wd�n1�s�0Y|�|��|d
gdd�Wd�n1�s�0Y|�t�� |gd�dd�Wd�n1�s
0YdS)N)r�r�r�rmr�r�rrZr��Xr�r�)r�Nr�)r/r�rr�rQr$)r8r�rrrrr|<	s($0,.000.zTestQuantiles.test_error_casesN)r,r-r.r�r�r�r�r|rrrrr��s
66r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	j
d
d��Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%S)&�TestNormalDistcCsV|j�dd�}|�t��t|�Wd�n1s60Y|�t|j�d�dS)NrUr�)Z_muZ_sigma)r��
NormalDistr�rQ�varsr4rZ�	__slots__�r8�ndrrr�
test_slots\	s&zTestNormalDist.test_slotscCs�|j�dd�}|�|jd�|�|jd�|�|jd�|j��}|�|jd�|�|jd�|�|jd�|�|jj��|j�dd�Wd�n1s�0YGdd�d|jj�}|d	d
�}|�t|�|�dS)Nr�r^i!rri����c@seZdZdS)zGTestNormalDist.test_instantiation_and_attributes.<locals>.NewNormalDistNr+rrrr�
NewNormalDists	srr(ri)	r�r�r4r�r�r�r�rr)r8rr�nndrrr�!test_instantiation_and_attributesb	s
,
z0TestNormalDist.test_instantiation_and_attributescCs|jj}gd�}|�|�|�|dd��|�|�t|��|dd��|�|�t|��|dd��|�|jj��|�g�Wd�n1s�0Y|�|jj��|�dg�Wd�n1s�0YGdd�d|�}|�|�}|�t|�|�dS)N)�`rj�Zr��nrr~r�c@seZdZdS)zBTestNormalDist.test_alternative_constructor.<locals>.NewNormalDistNr+rrrrr�	sr)	r�r�r4Zfrom_samplesrZr�r�rr)r8r�r$rrrrr�test_alternative_constructorx	s(*
z+TestNormalDist.test_alternative_constructorcCs�|jj}d\}}|||�}d}|�|�}|�t|�|�|�ttt|��th�|j�	|�}|�
||d|ko�||dkn�d}|j|dd�}|j|dd�}	|j|dd�}
|j|dd�}|�||
�|�|	|�|�||	�dS)N)r{rJr�r�rkzhappiness and joy)r�ztrouble and despair)r�r�Zsamplesr4rKr�r�rrr�rer�)r8r�r��sigmar�rr$r�Zdata1Zdata2Zdata3Zdata4rrr�test_sample_generation�	s"

.z%TestNormalDist.test_sample_generationc
Cs�|jj}|dd�}|�|�d�|�d��|�|�d�|�d��td�D]$}|�|�d|�|�d|��qJd}tdd�D]6}|�||�|�|�|}|j|�|�|d	d
�q~|�}tgd��D]>\}}|j|�|d�|d	d
�|j|�|d�|d	d
�q�|dd
�}	|�|jj	��|	�d�Wd�n1�sB0Y|�
|�td��d�|�
|�td��d�|�t
�|�td����dS)Nrkr`rr�r�gP?rr$r�r�)2�+��ݓ��?r
r
ggDio��?g������?gV}��b�?g�Q�|�?gF���x�?g��g��s�?g�٬�\m�?g�� �rh�?g�K7�A`�?g��|гY�?g����Q�?g���QI�?gsh��|?�?g�=yX�5�?g|a2U0*�?g��Q��?g���N@�?g�/�$�?g~��k	��?g]�C����?gw��/��?g�~�:p��?g�>W[���?gM�
O��?gW[����?g鷯��?g{�G�z�?g
q���h�?g�|a2U�?g��K7�A�?gvq
�-�?gj�t��?g�c]�F�?g�\�C���?gףp=
��?g�����?ga2U0*��?g�y�):��?g(��y�?g��N@a�?gf�c]�F�?g"lxz�,�?g�O��n�?g�3��7��?g�e�c]��?g��n���?g��T����?r�r�-InfrYr~r)r�r�Z
assertLess�pdfr#r��cdfrNr�rr4rrerr)
r8r�r�rQ�dxr
Zest_pdf�ZZpx�Yrrr�test_pdf�	s(
"
*zTestNormalDist.test_pdfcs6|jj}|dd���fdd�tdd�D�}|�ttt|��th�|�|t|��|���	d�d�|�}dD]:\}}|j
|�	|�|d	d
�|j
|�	|�d|d	d
�qn|dd�}|�|jj��|�	d
�Wd�n1s�0Y|���	td��d�|���	td��d�|�
t���	td����dS)Nrkr`csg|]}��|��qSr)rr��r�rrr"�	r�z+TestNormalDist.test_cdf.<locals>.<listcomp>rr(r�))rYr�)r�gqZ� �?)r�g��E_A�?)g�Q���?gGɫs��?)g��(\��?g؞Y���?)g��Q��?g���9#�?)gH�z�G�?g&S���?)rsg�MbX9�?)g���Q��?gT㥛� �?)g�������?g�?�?)gffffff@g_�x�Z�?)g��Q�@g��#0��?)g)\��(@gu<f�2��?)gףp=
�@gVe����?)gH�z�G@g9���?rir�r�rrrrYr~r)r�r�r#r4r�r�rrr�rr�r�rrerr)r8r�Zcdfsr�zZcum_probrrrr�test_cdf�	s 

(zTestNormalDist.test_cdfcCs�|jj}|dd�}|�|�d�|j�|�}dddd�}|��D]b\}}t|dd	�D]L\}}|d
|}	|j|�|	�|dd�d
|	}	|j|�|	�|dd�qTq@|�|dd��d�d�d}
td|
�D]$}	|	|
}	|�|�	|�|	��|	�q�tdd�D]F}d|}	|�|�	|�|	��|	�d
|	}	|�|�	|�|	��|	�q�td�D]"}|j|�|�	|��|dd��qJ|�
|jj��|�d�Wd�n1�s�0Y|�
|jj��|�d�Wd�n1�s�0Y|�
|jj��|�d
�Wd�n1�s0Y|�
|jj��|�d�Wd�n1�sL0Y|�
|jj��$|dd�}|�d�Wd�n1�s�0Y|�t
�|�td����dS)Nrkr`r�)
rYgR���Q�?g�S㥛@g���S
@gT㥛� @g^�I�@g� �rh�@g+��N@g��C��@gV-��o@)
g� �rh��?g\��(\�?g�~j�t@g+��@g�MbX9@g�(\�B@g��v��@g����@g��Sc@g�K7�A�@)
gP��n��?g�S㥛@g���Q�@g��n��
@g��(\@gP��n@g�����@g��� �r@gˡE��@g�l�q@)r�r�r�r)�startr�r}r�r�rnr�g��>���?g���E@i�3rrr(rirYr�g�������?rr)r�r�r4Zinv_cdfr��itemsrNr�r#rr�rrerrr)r8r�Ziqr�ppr�rowr�r
r�rrRrrr�test_inv_cdf�	sL
�
 ****
*zTestNormalDist.test_inv_cdfcCsh|j��}dgfddgfdddgfdgd�ffD]2\}}|j|d	�}|�td
d�t||�D���q0dS)NrrrYr}g�ǘ���ۿg�ǘ����?r�)g/�$���rYg/�$���?r�css"|]\}}tj||dd�VqdS)r�)Zabs_tolNr�r�rrrr�3
s�z0TestNormalDist.test_quantiles.<locals>.<genexpr>)r�r�r�rer�rO)r8rrrrrrr�test_quantiles)
s


��zTestNormalDist.test_quantilescCs�|jj}|dd�|dd�df|dd�|dd�dffD]6\}}}|j|�|�|dd�|j|�|�|dd�q4dd	d
�dd�}|dd�|dd�f|dd�|dd�f|dd�|dd�f|d
d�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�f|dd�|dd�ffD]B\}}|j|�|�|||�d	d�|j|�|�|||�d	d��q||�}|�t��|��Wd�n1�s�0Y|�t��|�||�Wd�n1�s(0Y|�t��|�d�Wd�n1�s^0Y|�|jj�� |�|dd��Wd�n1�s�0Y|�|jj�� |dd��|�Wd�n1�s�0YdS) NrYrrr�gɎ�@���?gM-[닄�?r�r�i ri)�stepsrcs�tj}|j|jd}|t|j|j�}||�d||���fdd�t|�D�}tt|j|��}tt|j|��}	t||�||	��}
|tt	||	��|
S)Nrrcsg|]}�|��qSrrr��rrrrr"I
r�zHTestNormalDist.test_overlap.<locals>.overlap_numeric.<locals>.<listcomp>)
rr�r�rr�r#rYr�rrd)r�rrrr��center�widthZx_arrZxpZypr�rr r�overlap_numericB
sz4TestNormalDist.test_overlap.<locals>.overlap_numericr{�Ar�rkr`r	ri����r��r�r�gj�t��?g�~j�t�h?gj�t��?ga2U0*�3?g��MbX�?rr)r�r�r�Zoverlapr�rQr)r8r�ZX1ZX2Zpublished_resultr#r�rrr�test_overlap6
sF�� (,*0zTestNormalDist.test_overlapcCs(|jj}|dd�}|�|�d�d�|�|�d�d�|�|�d�d�|�t��|��Wd�n1sp0Y|�t��|�dd�Wd�n1s�0Y|�t��|�d�Wd�n1s�0Y|�|jj�� |dd	��d�Wd�n1�s0YdS)
Nrkr`�gffffff@�:gffffff�rYrr)r�r�r4Zzscorer�rQr)r8r�r�rrr�test_zscoreu
s
&*(zTestNormalDist.test_zscorecCsX|j�dd�}|�|jd�|�|jd�|�|jd�|�|jd�|�|jd�dS)Nrkr`��)r�r�r4r�r(r\r�r�)r8r�rrr�test_properties�
szTestNormalDist.test_propertiescCsL|jj}|dd�}|dd�}|�|||dd��|�|||dd��dS)Nrkr�rnri�rmr�)r�r�r4�r8r�r�rrrr�'test_same_type_addition_and_subtraction�
s


z6TestNormalDist.test_same_type_addition_and_subtractioncCs|jj}|dd�}d}|�|
|dd��|�||dd��|�|||dd��|�|||dd��|�|||dd��|�|||dd��|�|||dd	��|�|||dd	��|�|||dd
��|�t��||Wd�n1�s0YdS)Nrkr`r�rr	ri����r�r%r�)r�r�r4r�rQ)r8r�r�r&rrr�test_translation_and_scaling�
s
z+TestNormalDist.test_translation_and_scalingcCs||jj}|dd�}|
}|�||�|�|j|j�|�|j|j�|}|�||�|�|j|j�|�|j|j�dS)Nrkr�)r�r�ZassertIsNotr4r�r�r-rrr�test_unary_operations�
s
z$TestNormalDist.test_unary_operationscCs"|jj}|�}|dd�}|�}|dd�}|dd�}|dd�}|�||�|�||�|�||�|�||�|�||�Gdd�d�}|�}	|�|�|	�t�|�||	kd�|�|	|kd�Gdd�d|�}
|
d	d
d�}|d	d
�}|�||�Gdd
�d
�}|d	d
�}
|d	d
�}|�||
�dS)Nrr�r�c@seZdZdd�ZdS)z'TestNormalDist.test_equality.<locals>.AcSsdSr�rrhrrr�__eq__�
sz.TestNormalDist.test_equality.<locals>.A.__eq__N)r,r-r.r1rrrrrK�
srKr�cseZdZ�fdd�Z�ZS)z5TestNormalDist.test_equality.<locals>.SizedNormalDistcst��||�||_dSr@)rf�__init__r)r8r�rrrirrr2�
sz>TestNormalDist.test_equality.<locals>.SizedNormalDist.__init__)r,r-r.r2rkrrrir�SizedNormalDist�
sr3rkr`�9c@seZdZdd�ZdS)z3TestNormalDist.test_equality.<locals>.LognormalDistcSs||_||_dSr@)r�r)r8r�rrrrr2�
sz<TestNormalDist.test_equality.<locals>.LognormalDist.__init__N)r,r-r.r2rrrr�
LognormalDist�
sr5)r�r�r�r4r1�NotImplemented)r8r��nd1�nd2�nd3Znd4Znd5Znd6rKrr3�sr5Zlndrrrr�
test_equality�
s2






zTestNormalDist.test_equalitycCsZ|j�dd�}t�|�}|�||�t�|�}|�||�t�t�|��}|�||�dS)N��B@��@)r�r��copyr4�deepcopy�pickle�loads�dumps)r8rr7r8r9rrr�test_pickle_and_copy�
s

z#TestNormalDist.test_pickle_and_copycCsH|jj}|dd�|dd�|dd�|dd�|dd�h}|�t|�d�dS)Nrkr`r�g.@r�rcr})r�r�r4rK)r8ZNDr:rrr�test_hashability�
s,zTestNormalDist.test_hashabilitycCs"|j�dd�}|�t|�d�dS)Nr<r=z NormalDist(mu=37.5, sigma=5.625))r�r�r4�reprrrrr�	test_repr�
szTestNormalDist.test_reprN)r,r-r.rrr
rrrrZskip_if_pgo_taskrrr&r)r+r.r/r0r;rCrDrFrrrrr�S	s&	'
@
?,	r�c@s eZdZeZdd�Zdd�ZdS)�TestNormalDistPythoncCs|jtjd<dSr2�r�r�modulesr[rrrr��
szTestNormalDistPython.setUpcCsttjd<dSr2�r/rrIr[rrr�tearDown�
szTestNormalDistPython.tearDownN)r,r-r.r6r�r�rKrrrrrG�
srGr:c@s eZdZeZdd�Zdd�ZdS)�TestNormalDistCcCs|jtjd<dSr2rHr[rrrr��
szTestNormalDistC.setUpcCsttjd<dSr2rJr[rrrrKszTestNormalDistC.tearDownN)r,r-r.r;r�r�rKrrrrrL�
srLcCs|�t���|Sr@)ZaddTestsrZDocTestSuite)�loaderZtests�ignorerrr�
load_testssrO�__main__)r"r#)Nr�rA�collections.abcr>r�rrr@rrr=�testrrrrrr/r
rr!r)r*Zimport_fresh_moduler6r;r�r1r?rXr]rsr�r�r�r�r�r�rrrr3r>rDr_rpr~r�r�r�r�r�r�r�r�r�rr&r6r7r:r;r[rfrir�r�r�r�r�r�r�r�rGr>rLrOr,�mainrrrr�<module>s�
:+
_
>@w-@4d>c'H
@`d9
r:	1B%'Y%!	



Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists