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_random.cpython-39.opt-2.pyc

a

��gE��@s^ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
mZmZmZmZddlmZddlmZddlmZGdd�d�Zze����Wney�d	ZYn0d
Ze�ed�Gdd
�d
eej��ZGdd�deej�Zdedfdd�ZGdd�dej�Z Gdd�dej�Z!Gdd�dej�Z"e#dk�rZe�$�dS)�N)�partial)�log�exp�pi�fsum�sin�	factorial)�support)�Fraction)�Counterc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zej	�
d�dd
��Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zejjd,d-��Zd.d/�Zd0d1�Z d2d3�Z!d4S)5�TestBasicOpscs�fdd�t|�D�S)Ncsg|]}�j���qS���gen�random��.0�i��selfr
�,/usr/local/lib/python3.9/test/test_random.py�
<listcomp>�z+TestBasicOps.randomlist.<locals>.<listcomp>��range�r�nr
rr�
randomlistszTestBasicOps.randomlistcCsB|j��|j��}t�d�|j��|j��}|�||�dS)N皙�����?)r�seed�getstate�time�sleep�assertNotEqual)rZstate1Zstate2r
r
r�
test_autoseeds




zTestBasicOps.test_autoseedcCsDd}|j��|j��}|�|�}|j�|�|�||�|��dS)N��)rrr r�setstate�assertEqual)r�N�stateZrandseqr
r
r�test_saverestore!s


zTestBasicOps.test_saverestorec	Cs�Gdd�dt�}dD]}|j�|�qdtd�|�fD]:}|�t��|j�|�Wd�q61sf0Yq6ttd��tdd�fD]@}|�t��"|�	t
|jj|�Wd�q�1s�0Yq�|�	t
|jjdd	dd
�|�	t
t|j�g�dS)Nc@seZdZdd�ZdS)z*TestBasicOps.test_seedargs.<locals>.MySeedcSsdS)Ni?���r
rr
r
r�__hash__,sz3TestBasicOps.test_seedargs.<locals>.MySeed.__hash__N)�__name__�
__module__�__qualname__r+r
r
r
r�MySeed+sr/)
Nr����l F�x:^V��� F�x:^VFT���Q�	@�ay�?@�abc�r0)Zone��)�objectrr�tuple�assertWarns�DeprecationWarning�listr�dict�assertRaises�	TypeError�type)rr/�argr
r
r�
test_seedargs)s,2zTestBasicOps.test_seedargscCs(td�}|j�|�|�|td��dS)Ns1234)�	bytearrayrrr')rr4r
r
r�test_seed_no_mutate_bug_44018<sz*TestBasicOps.test_seed_no_mutate_bug_44018zrandom._urandomcCst|_|��dS�N)�NotImplementedError�side_effectrC)rZurandom_mockr
r
r�*test_seed_when_randomness_source_not_foundAsz7TestBasicOps.test_seed_when_randomness_source_not_foundcCs|jj}g}||�|�|g�dg}||�|�|dg�dd�td�D�}dd�td�D�}|D]}||�qdt||�D]0\}}|�t|�t|��|�t|�t|��q|ttd��}ttd��}||�|�||k�||�|�||k�|�	t
|d�dS)N�%cSsg|]}tt|���qSr
�r=r�rrr
r
rrSrz-TestBasicOps.test_shuffle.<locals>.<listcomp>�
cSsg|]}tt|���qSr
rKrLr
r
rrTrr%�r0r7r6)r�shuffler'r�zip�len�setr=�
assertTruer?r@)rrOZlstZseqsZ
shuffled_seqsZshuffled_seq�seqZshuffled_lstr
r
r�test_shuffleKs*
zTestBasicOps.test_shufflecCs^|jj}tjjdd�}td�}|�t��|||�Wd�n1sH0Y|��dS)N��?)�return_valuesabcdefghijk)	rrO�unittest�mockZMockrDr;r<Zassert_called_with)rrOZmock_randomrTr
r
r�test_shuffle_random_argumentls(z)TestBasicOps.test_shuffle_random_argumentcCsh|jj}|�t��|g�Wd�n1s00Y|�|dg�d�|�|ddg�ddg�dS)N�2��K)r�choicer?�
IndexErrorr'�assertIn)rr^r
r
r�test_choiceus
&zTestBasicOps.test_choicecCs�d}t|�}t|d�D]L}|j�||�}|�t|�|�t|�}|�t|�|�|�|t|�k�q|�|j�gd�g�|�t|jj||d�|�t|jjgd�dS)N�dr0rr1)	rr�sampler'rQrRrSr?�
ValueError)rr(�
population�k�sZuniqr
r
r�test_sample|szTestBasicOps.test_samplec	Csvd}t|�}d}t|�D]X}t|�t||�}i}t|�D]*}d|t|j�||��<t|�|kr<qq<|��qdS)N��')rrr:rrcrQZfail)rr�popZtrialsrf�expectedZpermsrr
r
r�test_sample_distribution�sz%TestBasicOps.test_sample_distributioncCsL|j�td�d�|j�td�d�|j�td�d�|j�td�d�dS)N�r7Zabcdefghijklmnopqrst)rrcr�strr:rr
r
r�test_sample_inputs�szTestBasicOps.test_sample_inputscCs|�t|jjt�d�d�dS)NZabcdefr7)r?r@rrcr>�fromkeysrr
r
r�test_sample_on_dicts�sz!TestBasicOps.test_sample_on_dictscCsF|�t��(hd�}|jj|dd�Wd�n1s80YdS)N>�F�(rMr[rn�<�ri�rf)r;r<rrc)rrer
r
r�test_sample_on_sets�sz TestBasicOps.test_sample_on_setsc	Cs�|jj}gd�}gd�}d}t||||d��}|�t|���|�t||�D]\}}|�|||�qL|�d|�t|�}t||||d��}|�t|���|�t||�D]\}}|�|||�q�|�d|�t|dgdgdd��}|�|tdd	��t	|�}t||dg|d|d��}|�|td|��|�
t��"|gd
�ddd�Wd�n1�sd0Y|�
t��&|gd
�gd�dd�Wd�n1�s�0Y|�
t��&|gd
�gd
�dd�Wd�n1�s�0Y|�
t��&|ddgddgdd�Wd�n1�s*0Y|�
t��&|gd
�ddgdd�Wd�n1�sl0Y|�
t��&|gd
�gd�dd�Wd�n1�s�0YdS)N)�red�green�blue�orange�black�brown�amber)����rnrMrirr0���countsrfr~�xrM�)r�)ryrzr{)���i����i����r7)rrrryrz�r0)r0r7r6r8)
rrcrr'�sum�valuesrPZassertLessEqualZassertNotInrQr?r@rd)	rrc�colorsr�rfZsummary�colorZweightZncr
r
r�test_sample_with_counts�s@26666z$TestBasicOps.test_sample_with_countsc	Csf|jj}gd�}d}td�}ttd��}||dd�||td�dd�|d|td�d�|d|td�d�fD]:}|�t|�d�|�t|�t�|�t|�t|�k�qf|�	t
��|d�Wd�n1s�0Y|�||d	d�g�|�||d
d�g�|�	t
��||dd�Wd�n1�s*0Y|�t||dd��t|�k�|�t||dd��t|�k�|�	t
��||dd�Wd�n1�s�0Y|�t||ddd��t|�k�|�t||ddd��t|�k�|�	t��"||d
dgdd�Wd�n1�s0Y|�	t
��||ddd�Wd�n1�sV0Y|�	t
��$||dgddd�Wd�n1�s�0Ygd�gd�td
d�tdd�tdd�tdd�ggd�fD]&}|�t|||dd��t|�k��q�|�	t��"||d
dgdd�Wd�n1�s40Y|�	t
��||ddd�Wd�n1�sn0Y|�	t
��$||dgddd�Wd�n1�s�0Y|�	t
��(||td�td�dd�Wd�n1�s�0Ygd�gd�td
d�tdd�tdd�tdd�gfD]&}|�t|||dd��t|�k��q.|�|dgd��dg�|�|dgd��dg�|�|dgd��dg�|�|dgd��dg�|�	t
��|gd
d�Wd�n1�s�0Y|�	t
��|ggd
d�Wd�n1�s0Y|�	t
��|ggdd�Wd�n1�sX0YdS)N)ryrzr{ZyellowZabcdr8rirw)rfre�weights)rfre�cum_weightsr7rr1g@)r�rfr0rM)�rMr\rv)g333333.@gffffff$@g3333339@g�����L>@r6�)TFTF�r�rf)r0rrrr4)rr0rr�b)rrr0r�c)rrrr0�d)r�choicesrrRr'rQrAr=rSr?r@rdr
r_)rr��dataZstr_dataZ
range_data�set_datarcr�r
r
r�test_choices�sx
�&,,  2.4"�$2.48"�$,.zTestBasicOps.test_choicescCs"|jj}|ddgddgdd�dS)Nr0r7g�)rer�rf)rr�)rr�r
r
r�test_choices_subnormal$sz#TestBasicOps.test_choices_subnormalcCs@|�t��"|j�dddg�Wd�n1s20YdS)NZAB�)r?rdrr�rr
r
r�"test_choices_with_all_zero_weights,sz/TestBasicOps.test_choices_with_all_zero_weightscCsndD]d}|j�|�|j��}|j�dd�}|j�|�|j��}|j�dd�}|�||�|�||�qdS)N)r0��{i�i90i@�i�	rr0)rrr�gaussr')rrZx1Zy1Zx2Zy2r
r
r�
test_gauss1s

zTestBasicOps.test_gaussc	Cstdd�D].}|�d|j�|�ko0d|kn�q
|�|j�d�d�|jj}dD]Z}d|d}d}d}td�D] }||�}||O}|||AO}qz|�||�|�||�qZ|�t|jj�|�t|jjdd�|�t|jjd�|�t|jjd�dS)	Nr0r%rr7)r0r7r6r8�� r��4�5�6�w���rbr1g333333$@)rrSr�getrandbitsr'r?r@rd)	rrfZgetbits�spanZall_bits�cumZcpl_cumr�vr
r
r�test_getrandbitsBs$,zTestBasicOps.test_getrandbitscshttjd�D]T}t��j|�}�fdd�td�D�}t�|���fdd�td�D�}��||�qdS)Nr0csg|]}�j���qSr
rrrr
rr^rz.TestBasicOps.test_pickling.<locals>.<listcomp>rMcsg|]}����qSr
�rr)�newgenr
rr`r)r�pickle�HIGHEST_PROTOCOL�dumpsr�loadsr')r�protor)ZorigseqZrestoredseqr
)r�rr�
test_pickling[s
zTestBasicOps.test_picklingcCs:ddl}ttjd�D]}|��}|�ttj||�qdS)Nrr0)�_randomrr�r��Randomr?r@r�)rr�r��rr
r
r�test_bug_41052cszTestBasicOps.test_bug_41052c	Cslgd�}|D]Z\}}tt�|�d��}t�|�}Wd�n1sD0Y|�t|��d�|�qdS)N))z
randv2_32.pcki)z
randv2_64.pckib)z
randv3.pckiW�rbr%)�openr	Zfindfiler��loadr'�intr)r�files�file�value�fr�r
r
r�test_bug_1727780ks
(zTestBasicOps.test_bug_1727780csRd}|jj�t�fdd�t|�D��}|�d||ko@dkn||�dS)Ni��c3s|]}�d�ddkVqdS)l�r6r7Nr
r��	randranger
r�	<genexpr>|rz-TestBasicOps.test_bug_9025.<locals>.<genexpr>�333333�?g�G�z��?)rr�r�rrS)rrrfr
r�r�
test_bug_9025wszTestBasicOps.test_bug_9025cCs�tdd�D]0}|j�|�}|�t|�t�|�t|�|�q
|�|j�d�d�|�t|jj�|�t|jjdd�|�t	|jjd�|�t|jjd�dS)Nr0rMrrr7r1��?)
rr�	randbytesr'rA�bytesrQr?r@rd)rrr�r
r
r�test_randbytesszTestBasicOps.test_randbytesN)"r,r-r.rr$r*rCrErXrY�patchrIrUrZrarhrmrprrrxr�r�r�r�r�r�r��testr	Zcpython_onlyr�r�r�r�r
r
r
rrs6

	!	,M
rFTz!random.SystemRandom not availablec@szeZdZe��Zdd�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�Zeefdd�ZdS)�SystemRandom_TestBasicOpscCs|j��dSrF�rrrr
r
rr$�sz'SystemRandom_TestBasicOps.test_autoseedcCs&|�t|jj�|�t|jjd�dSrF)r?rGrr r&rr
r
rr*�sz*SystemRandom_TestBasicOps.test_saverestorecCs|j�d�dS�Nrbr�rr
r
rrC�sz'SystemRandom_TestBasicOps.test_seedargscCs(d|j_|j�d�|�|jjd�dSr�)r�
gauss_nextrr'rr
r
rr��sz$SystemRandom_TestBasicOps.test_gausscCs,ttjd�D]}|�ttj|j|�qdS)Nr0)rr�r�r?rGr�r)rr�r
r
rr��sz'SystemRandom_TestBasicOps.test_picklingcCs@d}d}td�D]}|t|j��|�O}q|�||d�dS�Nlrrbr0�rr�rrr'�rr�r�rr
r
r�test_53_bits_per_float�s
z0SystemRandom_TestBasicOps.test_53_bits_per_floatcCs`dd}d}td�D]6}|j�|�}|�d|ko:|kn�||O}q|�||d�dS�Nr7r�rrbr0�rrr�rSr'�rr�r�rr�r
r
r�test_bigrand�s
z&SystemRandom_TestBasicOps.test_bigrandcCsddD]Z}|j�d|d�}|j�d|�}||kr6q|�||j�||�koV|kn�qdS�N)	rt�P�r����iwii&r7�rr�rS�rr�start�stopr
r
r�test_bigrand_ranges�sz-SystemRandom_TestBasicOps.test_bigrand_rangescsBdD]8\����tt����t���fdd�td�D���qdS)N�)���r)l����l����)llcsg|]}�j�����qSr
�rr�r�rr�r�r
rr�rz>SystemRandom_TestBasicOps.test_rangelimits.<locals>.<listcomp>rb�r'rRrrr
r�r�test_rangelimits�s�z*SystemRandom_TestBasicOps.test_rangelimitscCs<|j�ddd�}|�|d�|j�ddd�}|�|d�dS)NrrMr7)rr7r8r�r�)rr�r`r')rZrintr
r
r�test_randrange_nonunit_step�sz5SystemRandom_TestBasicOps.test_randrange_nonunit_stepcCs^t|jt|jj�}|dd�|d�|ddd�|d�|dd�|ddd�|ddd�dS)	Nr6i/���rrbi��n��!	@���	�@�*)rr?rdrr�)rZraisesr
r
r�test_randrange_errors�s

z/SystemRandom_TestBasicOps.test_randrange_errorscCstdd�D]�}d|>}|d}|d||d��}|�||�|�|d|d�||d7}|d||d��}|�|||dg�|�d||ko�d|dkn�||d?8}|d||d��}|�||�|�d||ko�d|dkn�q
dS�Nr0r%gr�Z|
�?r7r��rr'r`rS�r�_logr�rrZnumbitsrfr
r
r�test_randbelow_logic�s*z.SystemRandom_TestBasicOps.test_randbelow_logicN)r,r-r.r�SystemRandomrr$r*rCr�r�r�r�r�r�r�r�rr�r�r
r
r
rr��s
r�cs�eZdZe��Zdd�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Z�fdd�Zdd�Zeefdd �Zd!d"�Zd#d$�Zd%d&�Z�fd'd(�Zd)d*�Zd+d,�Z�ZS)-�MersenneTwister_TestBasicOpscsh�jjddd����fdd�td�D�gd���jjdd	d����fd
d�td�D�gd��dS)Ni��4r0��versioncsg|]}�j�����qSr
�rr�hexrrr
rr�rzGMersenneTwister_TestBasicOps.test_guaranteed_stable.<locals>.<listcomp>r8)z0x1.ac362300d90d2p-1z0x1.9d16f74365005p-1z0x1.1ebb4352e4c4dp-1z0x1.1a7422abf9c11p-1zthe quick brown foxr7csg|]}�j�����qSr
r�rrr
rrr)z0x1.1239ddfb11b7cp-3z0x1.b3cbb5c51b120p-4z0x1.8c4f55116b60fp-1z0x1.63eb525174a27p-1�rrr'rrr
rr�test_guaranteed_stable�s��z3MersenneTwister_TestBasicOps.test_guaranteed_stablecs��jjddd����fdd�td�D�gd���jjddd����fd	d�td�D�gd
���jjddd����fdd�td�D�gd
��dS)NZnofarr0r�csg|]}�j�����qSr
r�rrr
rr
rz?MersenneTwister_TestBasicOps.test_bug_27706.<locals>.<listcomp>r8�z0x1.8645314505ad7p-1z0x1.afb1f82e40a40p-5z0x1.2a59d2285e971p-1z0x1.56977142a7880p-6Zrachelcsg|]}�j�����qSr
r�rrr
rrr�z0x1.0b294cc856fcdp-1z0x1.2ad22d79e77b8p-3z0x1.3052b9c072678p-2z0x1.578f332106574p-3�csg|]}�j�����qSr
r�rrr
rrr�z0x1.b0580f98a7dbep-1z0x1.84129978f9c1ap-1z0x1.aeaa51052e978p-2z0x1.092178fb945a6p-2r�rr
rr�test_bug_27706s���z+MersenneTwister_TestBasicOps.test_bug_27706cCs:Gdd�dt�}z|j�|��Wnty4Yn0dS)Nc@seZdZdd�ZdS)z;MersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadIntcSsdSrFr
rr
r
r�__abs__szCMersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadInt.__abs__N)r,r-r.rr
r
r
r�BadIntsr)r�rrr@)rrr
r
r�test_bug_31478s
z+MersenneTwister_TestBasicOps.test_bug_31478cs��jjddd����fdd�td�D�gd���jjddd����fd	d�td�D�gd
���jjddd����fdd�td�D�gd
��d}�jj|dd����fdd�td�D�gd��dS)Nsnofarr0r�csg|]}�j�����qSr
r�rrr
rr*rz?MersenneTwister_TestBasicOps.test_bug_31482.<locals>.<listcomp>r8r�srachelcsg|]}�j�����qSr
r�rrr
rr/rr�rcsg|]}�j�����qSr
r�rrr
rr4rrs	 @`�����csg|]}�j�����qSr
r�rrr
rr:r)z0x1.52c2fde444d23p-1z0x1.875174f0daea4p-2z0x1.9e9b2c50e5cd2p-1z0x1.fa57768bd321cp-2r�)rr�r
rr�test_bug_31482#s"����z+MersenneTwister_TestBasicOps.test_bug_31482cCs|�t|jjd�dS)N)r0NN)r?rdrr&rr
r
r�test_setstate_first_arg>sz4MersenneTwister_TestBasicOps.test_setstate_first_argcCsr|j��}|�t|jjd�|�t|jjd�|�t|jjddddf�|�t|jjdddddf�|�ttf��*|j�dddd	df�Wd�n1s�0Y|�ttf��*|j�dddd
df�Wd�n1s�0Y|j�d�}|j�|�|�|j�d�|�|j��d}t	|�}t
d
�|d<dd�|D�}|�t|jjd|df�dS)N)r7NN)r7rNNr7)r4�q)rip)r0)r)r1rbr0�nanr1css|]}t|�VqdSrF)r�)rr�r
r
rr�\rzHMersenneTwister_TestBasicOps.test_setstate_middle_arg.<locals>.<genexpr>)rr r?r@r&rd�
OverflowErrorr�r'r=�float)rZstart_stateZbits100Zstate_valuesr)r
r
r�test_setstate_middle_argAs"
 88z5MersenneTwister_TestBasicOps.test_setstate_middle_argcCsNgd�}|j�d�|�d�dd�}t||�D]\}}|j||dd�q0dS)N)
g>F��dV�?g�wR1ۉ�?g�Q�"��?g~��5��?g�mb�?g�Y�KbX�?gH,r̊��?g�V���8�?g�O��ֶ?g�4�Ԗ�?�#q`&�'R������)�places)rrrrP�assertAlmostEqual)rrl�actualr4�er
r
r�test_referenceImplementation_s
z9MersenneTwister_TestBasicOps.test_referenceImplementationcCs`ddlm}gd�}|j�d�|�d�dd�}t||�D]\}}|�t||d��|�q<dS)Nr)�ldexp)
l#�1�,ul�w�bl'�l�J�X�l�u�ak~[l@"p1ylsV�%bX$l�E3EJl�V�b�l�a�oekl�4�)[v�r
rrr�)�mathrrrrrPr'r�)rrrlrr4rr
r
r�$test_strong_reference_implementation~s
zAMersenneTwister_TestBasicOps.test_strong_reference_implementationcCsdd>d}|j�|�dS)Nr0i�8r�)rrr
r
r�test_long_seed�sz+MersenneTwister_TestBasicOps.test_long_seedcCs@d}d}td�D]}|t|j��|�O}q|�||d�dSr�r�r�r
r
rr��s
z3MersenneTwister_TestBasicOps.test_53_bits_per_floatcCs`dd}d}td�D]6}|j�|�}|�d|ko:|kn�||O}q|�||d�dSr�r�r�r
r
rr��s
z)MersenneTwister_TestBasicOps.test_bigrandcCsddD]Z}|j�d|d�}|j�d|�}||kr6q|�||j�||�koV|kn�qdSr�r�r�r
r
rr��sz0MersenneTwister_TestBasicOps.test_bigrand_rangescsBdD]8\����tt����t���fdd�td�D���qdS)Nr�csg|]}�j�����qSr
r�rr�r
rr�rzAMersenneTwister_TestBasicOps.test_rangelimits.<locals>.<listcomp>rbr�rr
r�rr��s�z-MersenneTwister_TestBasicOps.test_rangelimitscs.t���|j�d�|�|j�d�d�dS)N��rb�S!m�.vFXO)�superr�rrr'r�r��	__class__r
rr��s

�z-MersenneTwister_TestBasicOps.test_getrandbitscCs(|j�d�|�|j�dd�d�dS)Nrr7�cr)rrr'r�rr
r
r�test_randrange_uses_getrandbits�s�z<MersenneTwister_TestBasicOps.test_randrange_uses_getrandbitscCstdd�D]�}d|>}|d}|d||d��}|�||�|�|d|d�||d7}|d||d��}|�|||dg�|�d||ko�d|dkn�||d?8}|d||d��}|�||�|�d||ko�d|dkn�q
dSr�r�r�r
r
rr��s*z1MersenneTwister_TestBasicOps.test_randbelow_logiccCs�dtj>}t���0t�dt�|jj|d|d�Wd�n1sH0Y|jjd|d�|jjd|d�}|�|d�d}d}||||}t	j
j�tj
d��@}||||g|_|jj||d�|�|jd	�Wd�n1s�0YdS)
Nr0�ignore)�maxsizeirr��{�G�z�?rr7)r�BPF�warnings�catch_warnings�simplefilter�UserWarningr�_randbelow_without_getrandbitsr'rXrYr�r9r�rHZ
call_count)rr"r�r�epsilon�limit�random_mockr
r
r�"test_randbelow_without_getrandbits�s 

�$z?MersenneTwister_TestBasicOps.test_randbelow_without_getrandbitscCsRd}d}d}|j�|||�}|�||ko2|kn�|�|||d�dS)NlJ)�r2i8���r)rr�rSr')rr�r��stepr�r
r
r�test_randrange_bug_1590891
sz7MersenneTwister_TestBasicOps.test_randrange_bug_1590891c
CsB|jj}d}|j�d�|jjt|�dd�}|j�d�|jjt|�dg|dd�}|�||�|j�d�|jjt|�td|d�dd�}|�||�gd�}gd�}gd	�}d
gddgdd
gd}	|j�d�|jj|	dd�}|j�d�|jj||dd�}|�||�|j�d�|jj||dd�}|�||�dS)Ni���_�rjrwr0r�)�Red�Black�Green)�r4r7)r4�$�&r1r4r2r3r7i�߉)rr�rrr')
rr�rr4r�r�rer�r�Zexpanded_populationr
r
r�test_choices_algorithmss, z4MersenneTwister_TestBasicOps.test_choices_algorithmscs�t���d}d��j�|����j�d����j�|����j�d�d����j�d����j�|���d��fdd�td�D�����j�|��d	dd�}��d��fd
d�td�D��|��j�|�d��fdd�tdt��d�D��}��d��fd
d�td�D��|��j�|�d��fdd�tdt��d�D��}��d��fdd�td�D��|�dS)Nr0s3��f��6���oe��rrcsg|]}�j�d��qS)r8�rr��r�_rr
rrErz?MersenneTwister_TestBasicOps.test_randbytes.<locals>.<listcomp>r8r6c3s|]}�j�d�VqdS)r0Nr9r:rr
rr�Lrz>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>c3s"|]}�|d|d�VqdS)r7r8Nr
r�rlr
rr�Ps�c3s|]}�j�d�VqdS)r7Nr9r:rr
rr�Rrc3s"|]}�|d|d�VqdS)r0r8Nr
rr<r
rr�Vs�c3s|]}�j�d�VqdS)r6Nr9r:rr
rr�Xr)	rr�rrr'r��joinrrQ)rrZ	expected1Z	expected2Z	expected3r)rlrrr�3s>
������z+MersenneTwister_TestBasicOps.test_randbytescCsZd}t��}|j�|�|�|�td�D]*}|�|j�|�|�|d��|d��q*dS)Nl�O�S�	r��little)	rr�rrrr'r�r��to_bytes)rrZgen2rr
r
r�test_randbytes_getrandbits[s
�z7MersenneTwister_TestBasicOps.test_randbytes_getrandbitsc
Cs�|jj}|jj}gd�}gd�}d}|d�||||d�}|d�dd�t||�D�}|�t|�t|��|||d�}|�||�d	}	gd
�}|d�d�||	|dd��}d�d
d�t|	|�D��}|d�d�||dd��}|�||�dS)N)ryrzr{r|r}r)r�r�rnrMrir0r�r0r�cSs"g|]\}}t|�D]}|�qqSr
r)rr��countrr
r
rrrrzOMersenneTwister_TestBasicOps.test_sample_counts_equivalence.<locals>.<listcomp>rwZ	abcdefghi)	rMr>r��r�rir8r6r7rrvcSs"g|]\}}t|�D]}|�qqSr
r)rZletterrBrr
r
rr{r)rrcrrPr'rQr�r=)
rrcrr�r�rf�s1Zexpanded�s2rkr
r
r�test_sample_counts_equivalencees(z;MersenneTwister_TestBasicOps.test_sample_counts_equivalence)r,r-r.rr�rr�rrrrrrrrr�r�r�r�r�r rr�r�r-r/r7r�rArF�
__classcell__r
r
rrr��s.	
&!(
r��@rVc
Cs�|dkr$ttt|�td|�S|d}||dt|�|tdd|d|dd|dd	|d
d|dd
|dd|dd|dg	�S)NrVr�g@g
����?g�
ö)$�@g&Ԏ����g
t�a��@rHg���Q�f��@g>@~�)@g@gA~������@g�~\���>g@g���i�E�>g@)rr�gammarr)�zZsqrt2pi�azr
r
rrK�s






�rKc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	j
�d
�dd��Ze	j
�d
�dd��Z
e	j
�d
�dd��Ze	j
�d
�dd��Ze	j
�d�dd��ZdS)�TestDistributionscs�t����fdd�td�D�dgd}|dd�j�_��dd�|dd�j�_��d�|dd�j�_��d�|dd�j�_��dd�|dd�j�_��dd�|dd�j�_��	dd�|dd�j�_��
dd�|dd�j�_��dd�|dd�j�_��dd�|dd�j�_��d	d�|dd�j�_��dd�|dd�j�_��d
d�|dd�j�_��
dd�|dd�j�_��ddd�dS)
Ncsg|]}����qSr
r�r��gr
rr�rz5TestDistributions.test_zeroinputs.<locals>.<listcomp>r[r�rir0rMr�r#gi@rI�UUUUUU�?)rr�rrk�uniform�
paretovariate�expovariate�weibullvariate�vonmisesvariate�
normalvariater��lognormvariate�gammavariate�betavariate�
triangular)rr�r
rOr�test_zeroinputs�s  z!TestDistributions.test_zeroinputscs`t��}d��fdd�td��D�}|jdddf|jdd	d
f|jddd	f|jd
ttddf|jdddf|j	dt
d�t
d�t
d�dffD]�\}}}}|dd�j|_g}tt|��D]*}z|�
||��Wq�ty�Yq�0q�d}	}
|D]}|	|7}	|
||d7}
q�t|��|j|	�|dd|j|fd�|j|
�d|dd|j|fd�q�dS)Nr�csg|]}|t���qSr
)rr�r(r
rr�rz2TestDistributions.test_avg_std.<locals>.<listcomp>r0)r��$@g@g@)r�r�rQg�q�q�?g�<ݚ�?)g�?gUUUUUU�?)g�G�z��?rr7r6)rJg�?g�������?)r�rIgUUUUUU�?g�������?rz%s%r)r�msg)rr�rrRr[rTrVrrSrUrKrkrQ�appendr_rr,)rrPr��variate�args�muZ	sigmasqrd�yrrDrErr
r]r�test_avg_std�s@���	��zTestDistributions.test_avg_stdcCs�t��}d}|jddf|jddf|jddf|jtd�fdf|jdtd�fdf|jddf|jd	d
f|jtd�dfdf|j	ddf|j
td�fd
f|jdtd�fdf|jddffD](\}}}t|�D]}|�
||�|�q�q�dS)Nrb)r^r^r^)r^r^r^�infr�rI)r^r�)r�r�r�)r�r^)rr�rRr[rTrrVr�rXrWrSrUrr')rrPr(rarbrlrr
r
r�
test_constant�s"






�zTestDistributions.test_constantc
Cslt��}d}dD]V}dD]L}t|�D]>}|�||�}|jd|koLtjknd�|||�d�q$qqdS)Nrb)r�rg������@g������@)r��ffffff@g@@rzCvonmisesvariate({}, {}) produced a result {} out of range [0, 2*pi])r_)rr�rrVrS�TWOPI�format)rrPr(rc�kappar;rcr
r
r�test_von_mises_range�s��z&TestDistributions.test_von_mises_rangecCst�dd�t�dd�dS)Nrg4&�kCg}Ô%�I�T)rrVrr
r
r�test_von_mises_large_kappa�sz,TestDistributions.test_von_mises_large_kappacCsL|�ttjdd�|�ttjdd�|�ttjdd�|�ttjdd�dS)Nr1r6rr7r0r�)r?rdrrYrr
r
r�test_gammavariate_errors�sz*TestDistributions.test_gammavariate_errorszrandom.Random.randomcCs&gd�|_t�dd�}|�|d�dS)N)�:�0�yE>rVr�g�������?rhg=
ףp=@�rHrrYr�rr,�returned_valuer
r
r�#test_gammavariate_alpha_greater_one�s
z5TestDistributions.test_gammavariate_alpha_greater_onecCs$dg|_t�dd�}|�|d�dS)Ng�������?r�r3g�/qr	�?rprqr
r
r�!test_gammavariate_alpha_equal_onesz3TestDistributions.test_gammavariate_alpha_equal_onecCs8d}ddg|_t�d|�}t�d|�}|�||�dS)Nr3ror�)rHrrYrTr)rr,�betaZgammavariate_returned_valueZexpovariate_returned_valuer
r
r�4test_gammavariate_alpha_equal_one_equals_expovariates

zFTestDistributions.test_gammavariate_alpha_equal_one_equals_expovariatecCs�tj}tj}tj}d}d}|||}d}d}	d}
|	|
||	|
g|_t�||�}|�|d�d}	d}
|	|
||	|
g|_t�||�}|�|d	�dS)
Ngffffff�?g333333�?r#gX� �Y�?g=�,6V��?g�.3333�?g�l%�t��?g�K,	�9�?g7SvT�?)r�_e�_expr�rHrYr)rr,rwrxr��alpharur�r*Zr1Zr2rrr
r
r�,test_gammavariate_alpha_between_zero_and_ones"#	z>TestDistributions.test_gammavariate_alpha_between_zero_and_onezrandom.Random.gammavariatecCsd|_|�dt�dd��dS)Nr�r�r�)rWr'rrZ)rZgammavariate_mockr
r
r�test_betavariate_return_zero`sz.TestDistributions.test_betavariate_return_zeroN)r,r-r.r\rergrlrmrnrXrYr�rsrtrvrzr{r
r
r
rrN�s  










E
rNc@seZdZdd�Zdd�ZdS)�TestRandomSubclassingcCs Gdd�dtj�}|dd�dS)Nc@seZdZddd�ZdS)zHTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.SubclassNcSstj�|�dSrF)rr��__init__)r�newargr
r
rr}lszQTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.Subclass.__init__)N)r,r-r.r}r
r
r
r�Subclassksrr0)r~)rr�)rrr
r
r� test_random_subclass_with_kwargsisz6TestRandomSubclassing.test_random_subclass_with_kwargscs�G�fdd�dtj�}t��|��d�|��dh�G�fdd�dtj�}t��|��d�|��dh�G�fdd	�d	|�}t��|��d�|��d
h�G�fdd�d|�}t��|��d�|��d
h�G�fdd�d�}G�fdd�d�}Gdd�d|tj�}t��|��d�|��dh�Gdd�d|tj�}t��|��d�|��dh�Gdd�d||tj�}	t��|	��d�|��dh�Gdd�d||tj�}
t��|
��d�|��dh�dS)Ncs$eZdZ�fdd�Z�fdd�ZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1cs��d�tj�|�S)NzSubClass1.random��addrr�r�Zcalledr
rrys
zRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.randomcs��d�tj�||�S)N�SubClass1.getrandbits�r�rr�r�rr�r
rr�}s
zWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.getrandbitsN)r,r-r.rr�r
r�r
r�	SubClass1xsr�r�r�cseZdZ�fdd�ZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2cs��d�tj�|�S)N�SubClass2.randomr�rr�r
rr�s
zRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2.randomN�r,r-r.rr
r�r
r�	SubClass2�sr�r�cseZdZ�fdd�ZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3cs��d�tj�||�S)N�SubClass3.getrandbitsr�rr�r
rr��s
zWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3.getrandbitsN�r,r-r.r�r
r�r
r�	SubClass3�sr�r�cseZdZ�fdd�ZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4cs��d�tj�|�S)N�SubClass4.randomr�rr�r
rr�s
zRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4.randomNr�r
r�r
r�	SubClass4�sr�r�cseZdZ�fdd�ZdS)zHTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1cs��d�tj�|�S)N�
Mixin1.randomr�rr�r
rr�s
zOTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1.randomNr�r
r�r
r�Mixin1�sr�cseZdZ�fdd�ZdS)zHTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2cs��d�tj�||�S)N�Mixin2.getrandbitsr�rr�r
rr��s
zTTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2.getrandbitsNr�r
r�r
r�Mixin2�sr�c@seZdZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass5N�r,r-r.r
r
r
r�	SubClass5�sr�r�c@seZdZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass6Nr�r
r
r
r�	SubClass6�sr�r�c@seZdZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass7Nr�r
r
r
r�	SubClass7�sr�c@seZdZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass8Nr�r
r
r
r�	SubClass8�sr�)rr�rRr�r')rr�r�r�r�r�r�r�r�r�r�r
r�r�"test_subclasses_overriding_methodspsDz8TestRandomSubclassing.test_subclasses_overriding_methodsN)r,r-r.r�r�r
r
r
rr|hsr|c@s6eZdZdd�Zdd�Ze�eed�d�dd��Z	d	S)
�
TestModulecCs<|�tjd�|�tjd�|�tjd�|�tjd�dS)Ng�3?�r�?g�.DT�!@g�9��B.�?g�t�Y@)rr�
NV_MAGICCONSTri�LOG4�
SG_MAGICCONSTrr
r
r�testMagicConstants�szTestModule.testMagicConstantscCs |�ttj�ttt��k�dSrF)rSrRr�__all__�dirrr
r
r�test__all__�szTestModule.test__all__�forkzfork() requiredc	Cs�t��\}}t��}|dkr|zPt�d�}t|d��}|�t|��Wd�n1sV0YWt�d�q�t�d�0ndt�	|�t�d�}t|d��}t
|���}Wd�n1s�0Y|�||�t
j|dd�dS)Nrr��wr�)�exitcode)�os�piper�rr�r��writero�_exit�close�eval�readr#r	Zwait_process)rr�r��pid�valr�Z	child_valr
r
r�test_after_fork�s
.

*zTestModule.test_after_forkN)
r,r-r.r�r�rX�
skipUnless�hasattrr�r�r
r
r
rr��sr��__main__)%rXZ
unittest.mockrr�r!r�r%Ztest.supportr��	functoolsrrrrrrrrr	Z	fractionsr
�collectionsrrr�rGZSystemRandom_availabler�ZTestCaser�r�rKrNr|r�r,�mainr
r
r
r�<module>sD 

aV]#


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