Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_random.cpython-310.pyc
o

�9j���@sdddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
mZmZmZmZddlmZddlmZddlmZmZGdd�d�Zze����Wneydd	ZYnwd
Ze�ed�Gdd
�d
eej��ZGdd�deej�Zdedfdd�Z Gdd�dej�Z!Gdd�dej�Z"Gdd�dej�Z#e$dkr�e�%�dSdS)�N)�partial)�log�exp�pi�fsum�sin�	factorial)�support)�Fraction)�abc�Counterc@seZdZdd�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+�Zd,d-�Zd.d/�Zd0d1�Zejj d2d3��Z!ejj d4d5��Z"d6d7�Z#d8d9�Z$d:d;�Z%d<S)=�TestBasicOpscs�fdd�t|�D�S)z0Helper function to make a list of random numbersc�g|]}�j���qS���gen�random��.0�i��selfr�'/usr/lib/python3.10/test/test_random.py�
<listcomp>�z+TestBasicOps.randomlist.<locals>.<listcomp>��range�r�nrrr�
randomlistszTestBasicOps.randomlistcCsB|j��|j��}t�d�|j��|j��}|�||�dS)N皙�����?)r�seed�getstate�time�sleep�assertNotEqual)r�state1�state2rrr�
test_autoseeds




zTestBasicOps.test_autoseedcCsDd}|j��|j��}|�|�}|j�|�|�||�|��dS)N��)rr!r"r�setstate�assertEqual)r�N�state�randseqrrr�test_saverestore!s


zTestBasicOps.test_saverestorec	Cs�Gdd�dt�}dD]}|j�|�q
dtd�|�fD]}|�t��|j�|�Wd�n1s3wYqttd��tdd�fD] }|�t��|�	t
|jj|�Wd�n1s_wYqD|�	t
|jjdd	dd
�|�	t
t|j�g�dS)Nc@�eZdZdd�ZdS)z*TestBasicOps.test_seedargs.<locals>.MySeedcSsdS)Ni?���rrrrr�__hash__,�z3TestBasicOps.test_seedargs.<locals>.MySeed.__hash__N)�__name__�
__module__�__qualname__r1rrrr�MySeed+�r6)
Nr����l F�x:^V��� F�x:^VFT���Q�	@�ay�?@r�r8)�one��)�objectrr!�tuple�assertWarns�DeprecationWarning�listr�dict�assertRaises�	TypeError�type)rr6�argrrr�
test_seedargs)s����zTestBasicOps.test_seedargscCs(td�}|j�|�|�|td��dS)Ns1234)�	bytearrayrr!r+)rr<rrr�test_seed_no_mutate_bug_44018<�z*TestBasicOps.test_seed_no_mutate_bug_44018zrandom._urandomcCst|_|��dS�N)�NotImplementedError�side_effectrK)r�urandom_mockrrr�*test_seed_when_randomness_source_not_foundAsz7TestBasicOps.test_seed_when_randomness_source_not_foundcCs|jj}g}||�|�|g�dg}||�|�|dg�dd�td�D�}dd�td�D�}|D]}||�q2t||�D]\}}|�t|�t|��|�t|�t|��q>ttd��}ttd��}||�|�||k�||�|�||k�|�	t
|d�dS)N�%cS�g|]}tt|���qSr�rEr�rrrrrrS�z-TestBasicOps.test_shuffle.<locals>.<listcomp>�
cSrUrrVrWrrrrTrXr)�r8r?r=)r�shuffler+r�zip�len�setrE�
assertTruerGrH)rr[�lst�seqs�
shuffled_seqs�shuffled_seq�seq�shuffled_lstrrr�test_shuffleKs*
zTestBasicOps.test_shufflecCs^|jj}tjjdd�}td�}|�t��
|||�Wd�n1s$wY|��dS)N��?)�return_valuesabcdefghijk)	rr[�unittest�mock�MockrLrCrD�assert_called_with)rr[�mock_randomrdrrr�test_shuffle_random_argumentls�z)TestBasicOps.test_shuffle_random_argumentcCsh|jj}|�t��|g�Wd�n1swY|�|dg�d�|�|ddg�ddg�dS)N�2��K)r�choicerG�
IndexErrorr+�assertIn)rrrrrr�test_choiceus
�zTestBasicOps.test_choicecCs�d}t|�}t|d�D]&}|j�||�}|�t|�|�t|�}|�t|�|�|�|t|�k�q|�|j�gd�g�|�t|jj||d�|�t|jjgd�dS)N�dr8rr9)	rr�sampler+r]r^r_rG�
ValueError)rr,�
population�k�s�uniqrrr�test_sample|szTestBasicOps.test_samplec	Csvd}t|�}d}t|�D],}t|�t||�}i}t|�D]}d|t|j�||��<t|�|kr3nq|��qdS)N��')rrrBrrwr]�fail)rr�pop�trialsrz�expected�permsrrrr�test_sample_distribution�s���z%TestBasicOps.test_sample_distributioncCsL|j�td�d�|j�td�d�|j�td�d�|j�td�d�dS)N�r?�abcdefghijklmnopqrst)rrwr�strrBrrrr�test_sample_inputs��zTestBasicOps.test_sample_inputscCs|�t|jjt�d�d�dS)N�abcdefr?)rGrHrrwrF�fromkeysrrrr�test_sample_on_dicts�sz!TestBasicOps.test_sample_on_dictscCsH|�t��hd�}|jj|dd�Wd�dS1swYdS)N>rYr���(ro�<�Fr~�rz)rCrDrrw)rryrrr�test_sample_on_sets�s"�z TestBasicOps.test_sample_on_setscCslGdd�dtjtj�}|gd��}t���t�dt�|jj|dd�Wd�dS1s/wYdS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z3TestBasicOps.test_sample_on_seqsets.<locals>.SeqSetcSs
||_dSrO��_items)r�itemsrrr�__init__��
z<TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__init__cSs
t|j�SrO)r]r�rrrr�__len__�r�z;TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__len__cSs
|j|SrOr�)r�indexrrr�__getitem__�r�z?TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__getitem__N)r3r4r5r�r�r�rrrr�SeqSet�sr�)r?r@r8r=�errorr?r�)	r�Sequence�Set�warnings�catch_warnings�simplefilterrDrrw)rr�ryrrr�test_sample_on_seqsets�s

"�z#TestBasicOps.test_sample_on_seqsetsc	Cs�|jj}gd�}gd�}d}t||||d��}|�t|���|�t||�D]\}}|�|||�q&|�d|�t|�}t||||d��}|�t|���|�t||�D]\}}|�|||�qU|�d|�t|dgdgdd��}|�|tdd	��t	|�}t||dg|d|d��}|�|td|��|�
t��|gd
�ddd�Wd�n1s�wY|�
t��|gd
�gd�dd�Wd�n1s�wY|�
t��|gd
�gd
�dd�Wd�n1s�wY|�
t��|ddgddgdd�Wd�n	1�swY|�
t��|gd
�ddgdd�Wd�n	1�s3wY|�
t��|gd
�gd�dd�Wd�dS1�sUwYdS)N)�red�green�blue�orange�black�brown�amber)����r�rYr~rr8���countsrzr��xrY�)r�)r�r�r�)���i����i����r?)rrrr�r��r8)r8r?r=r@)
rrwrr+�sum�valuesr\�assertLessEqual�assertNotInr]rGrHrx)	rrw�colorsr�rz�summary�color�weight�ncrrr�test_sample_with_counts�sL�����$�z$TestBasicOps.test_sample_with_countsc	Csd|jj}gd�}d}td�}ttd��}||dd�||td�dd�|d|td�d�|d|td�d�fD]}|�t|�d�|�t|�t�|�t|�t|�k�q3|�	t
��|d�Wd�n1sewY|�||d	d�g�|�||d
d�g�|�	t
��||dd�Wd�n1s�wY|�t||dd��t|�k�|�t||dd��t|�k�|�	t
��||dd�Wd�n1s�wY|�t||ddd��t|�k�|�t||ddd��t|�k�|�	t��||d
dgdd�Wd�n	1�swY|�	t
��||ddd�Wd�n	1�s)wY|�	t
��||dgddd�Wd�n	1�sIwYgd�gd�td
d�tdd�tdd�tdd�ggd�fD]}|�t|||dd��t|�k��qj|�	t��||d
dgdd�Wd�n	1�s�wY|�	t
��||ddd�Wd�n	1�s�wY|�	t
��||dgddd�Wd�n	1�s�wY|�	t
��||td�td�dd�Wd�n	1�s�wYgd�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�n	1�spwY|�	t
��|ggd
d�Wd�n	1�s�wY|�	t
��|ggdd�Wd�dS1�s�wYdS)N)r�r�r��yellow�abcdr@r~r�)rzry�weights)rzry�cum_weightsr?rr9g@)r�rzr8rY)�rYrpr�)g333333.@gffffff$@g3333339@g�����L>@r=�)TFTF�r�rz)r8rrrr<)rr8rr�b)rrr8r�c)rrrr8�d)r�choicesrr^r+r]rIrEr_rGrHrxr
rs)rr��data�str_data�
range_data�set_datarwr�rrr�test_choices�s�
�
���  ���"�$����"�$��$�zTestBasicOps.test_choicescCs"|jj}|ddgddgdd�dS)Nr8r?g�)ryr�rz)rr�)rr�rrr�test_choices_subnormal4sz#TestBasicOps.test_choices_subnormalcCsB|�t��|j�dddg�Wd�dS1swYdS)N�AB��rGrxrr�rrrr�"test_choices_with_all_zero_weights<s"�z/TestBasicOps.test_choices_with_all_zero_weightscCsB|�t��|j�dgd��Wd�dS1swYdS)N�ABC)r=���r8r�rrrr�test_choices_negative_totalAs"�z(TestBasicOps.test_choices_negative_totalcCsJ|�t��|j�dtd�g�Wd�n1swY|�t��|j�ddtd�g�Wd�n1s:wY|�t��|j�dtd�dg�Wd�n1s[wY|�t��|j�ddtd�g�Wd�n1s{wY|�t��|j�dtd�td�g�Wd�dS1s�wYdS)N�A�infr�r��{�nanz-inf)rGrxrr��floatrrrr�test_choices_infinite_totalEs����"�z(TestBasicOps.test_choices_infinite_totalcCsndD]2}|j�|�|j��}|j�dd�}|j�|�|j��}|j�dd�}|�||�|�||�qdS)N)r8�r�i�i90i@�i�	rr8)rr!r�gaussr+)rr!�x1�y1�x2�y2rrr�
test_gaussQs

�zTestBasicOps.test_gaussc	Cstdd�D]}|�d|j�|�kod|kn�q|�|j�d�d�|jj}dD]-}d|d}d}d}td�D]}||�}||O}|||AO}q=|�||�|�||�q-|�t|jj�|�t|jjdd�|�t|jjd�|�t|jjd�dS)	Nr8r)rr?)r8r?r=r@�� r��4�5�6�w���rvr9g333333$@)rr_r�getrandbitsr+rGrHrx)	rrz�getbits�span�all_bits�cum�cpl_cumr�vrrr�test_getrandbitsbs$,zTestBasicOps.test_getrandbitscshttjd�D]*}t��j|�}�fdd�td�D�}t�|���fdd�td�D�}��||�qdS)Nr8crrrrrrrr~rz.TestBasicOps.test_pickling.<locals>.<listcomp>rYc�g|]}����qSr�rr)�newgenrrr��)r�pickle�HIGHEST_PROTOCOL�dumpsr�loadsr+)r�protor-�origseq�restoredseqr)r�rr�
test_pickling{s
�zTestBasicOps.test_picklingcCs:ddl}ttjd�D]}|��}|�ttj||�qdS)Nrr8)�_randomrr�r��RandomrGrHr�)rrr��rrrr�test_bug_41052�s
�zTestBasicOps.test_bug_41052cCs<ddl}|��}|�d�|�d�}|�|��|���dS)Nr��_�)rrr!r+r)rr�r1�r2rrr�test_bug_42008�s


zTestBasicOps.test_bug_42008c	Cslgd�}|D]-\}}tt�|�d��
}t�|�}Wd�n1s"wY|�t|��d�|�qdS)N))z
randv2_32.pcki)z
randv2_64.pckib)z
randv3.pckiW�rbr))�openr	�findfiler��loadr+�intr)r�files�file�value�frrrr�test_bug_1727780�s��zTestBasicOps.test_bug_1727780csRd}|jj�t�fdd�t|�D��}|�d||ko dkn||�dS)Ni��c3s �|]}�d�ddkVqdS)l�r=r?Nrr��	randrangerr�	<genexpr>�s�z-TestBasicOps.test_bug_9025.<locals>.<genexpr>�333333�?g�G�z��?)rrr�rr_)rrrzrrr�
test_bug_9025�s,zTestBasicOps.test_bug_9025cCs�tdd�D]}|j�|�}|�t|�t�|�t|�|�q|�|j�d�d�|�t|jj�|�t|jjdd�|�t	|jjd�|�t|jjd�dS)Nr8rYr�r?r9��?)
rr�	randbytesr+rI�bytesr]rGrHrx)rrr�rrr�test_randbytes�szTestBasicOps.test_randbytesN)&r3r4r5rr(r/rKrMrirj�patchrSrfrnrur}r�r�r�r�r�r�r�r�r�r�r�r�r�r�testr	�cpython_onlyrrrrrrrrrr
sB

	!	,M

r
FTz!random.SystemRandom not availablec@s�eZdZe��Zdd�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zeefdd�ZdS)�SystemRandom_TestBasicOpscCs|j��dSrO�rr!rrrrr(�sz'SystemRandom_TestBasicOps.test_autoseedcCs&|�t|jj�|�t|jjd�dSrO)rGrPrr"r*rrrrr/�sz*SystemRandom_TestBasicOps.test_saverestorecCs|j�d�dS�Nrvr!rrrrrK�sz'SystemRandom_TestBasicOps.test_seedargscCs(d|j_|j�d�|�|jjd�dSr")r�
gauss_nextr!r+rrrrr��rNz$SystemRandom_TestBasicOps.test_gausscCs,ttjd�D]}|�ttj|j|�qdS)Nr8)rr�r�rGrPr�r)rr�rrrr�s�z'SystemRandom_TestBasicOps.test_picklingcC�@d}d}td�D]
}|t|j��|�O}q|�||d�dS�Nlrrvr8�rr
rrr+�rr�r�rrrr�test_53_bits_per_float��
z0SystemRandom_TestBasicOps.test_53_bits_per_floatcC�`dd}d}td�D]}|j�|�}|�d|ko|kn�||O}q
|�||d�dS�Nr?r�rrvr8�rrrr_r+�rr�r�rrrrr�test_bigrand��
z&SystemRandom_TestBasicOps.test_bigrandcC�ddD]-}|j�d|d�}|j�d|�}||krq|�||j�||�ko+|kn�qdS�N)	r��P�r����iwii&r?�rrr_�rr�start�stoprrr�test_bigrand_ranges��*�z-SystemRandom_TestBasicOps.test_bigrand_rangesc�BdD]\����tt����t���fdd�td�D���qdS)N�)���r)l����l����)llc�g|]	}�j�����qSr�rrr�rr8r9rrr��z>SystemRandom_TestBasicOps.test_rangelimits.<locals>.<listcomp>rv�r+r^rrrrAr�test_rangelimits��
��z*SystemRandom_TestBasicOps.test_rangelimitscCs<|j�ddd�}|�|d�|j�ddd�}|�|d�dS)NrrYr?)rr?r@r�r�)rrrtr+)r�rintrrr�test_randrange_nonunit_step�sz5SystemRandom_TestBasicOps.test_randrange_nonunit_stepc	Csvt|jt|jj�}|dd�|d�|ddd�|�t|d�|�t|jjd�|�t|jjtdd��|�t|d	�|�t|dd
�|�t|jjdd�|�t|jjdtdd��|�t|dd
�|ddd�|�t|ddd�|�t|ddd�|�t|ddd�|�t|jjddd�|�t|jjddtdd��|�t|ddd	�|�t|jjddd�|�t|ddd�dS)Nr=i/���rrvi��n��!	@�@r8�3���	�@�@r?�2�*r�r)rrGrxrrrCrDr
)r�raisesrrr�test_randrange_errors�s*
z/SystemRandom_TestBasicOps.test_randrange_errorsc	Cs|jj}|�t��|ddd�Wd�n1swY|�t��|ddd�Wd�n1s5wY|�t��|ddd�Wd�n1sPwY|�t��|ddd�Wd�n1skwY|�t��!|�t��|d�Wd�n1s�wYWd�n1s�wY|�t��"|�t��
|dd	�Wd�n1s�wYWd�n1s�wY|�t��,|�t��|ddd
�Wd�n1s�wYWd�dSWd�dS1�swYdS)N�$@r�r?rYg4@rrLg%@g�4@��?)rrrCrDrGrx�rrrrr� test_randrange_argument_handlings@����
��������$�z:SystemRandom_TestBasicOps.test_randrange_argument_handlingcCs||jj}|�t��|ddd�Wd�n1swY|�t��|dddd�Wd�dS1s7wYdS)Nr)rv)�step)rrrGrHrSrrr�test_randrange_step,s�"�z-SystemRandom_TestBasicOps.test_randrange_stepcC�tdd�D]{}d|>}|d}|d||d��}|�||�|�|d|d�||d7}|d||d��}|�|||dg�|�d||koRd|dkn�||d?8}|d||d��}|�||�|�d||ko|d|dkn�qdS�Nr8r)gr�Z|
�?r?r��rr+rtr_�r�_logr
rr�numbitsrzrrr�test_randbelow_logic4�*,�z.SystemRandom_TestBasicOps.test_randbelow_logicN)r3r4r5r�SystemRandomrr(r/rKr�rr(r.r:rDrGrPrTrVrr
r]rrrrr �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��4r8��versionc�g|]	}�j�����qSr�rr�hexrrrrrPrBzGMersenneTwister_TestBasicOps.test_guaranteed_stable.<locals>.<listcomp>r@)z0x1.ac362300d90d2p-1z0x1.9d16f74365005p-1z0x1.1ebb4352e4c4dp-1z0x1.1a7422abf9c11p-1zthe quick brown foxr?crcrrdrrrrrTrB)z0x1.1239ddfb11b7cp-3z0x1.b3cbb5c51b120p-4z0x1.8c4f55116b60fp-1z0x1.63eb525174a27p-1�rr!r+rrrrr�test_guaranteed_stableMs��z3MersenneTwister_TestBasicOps.test_guaranteed_stablecs��jjddd����fdd�td�D�gd���jjddd����fd	d�td�D�gd
���jjddd����fdd�td�D�gd
��dS)N�nofarr8racrcrrdrrrrr\rBz?MersenneTwister_TestBasicOps.test_bug_27706.<locals>.<listcomp>r@�z0x1.8645314505ad7p-1z0x1.afb1f82e40a40p-5z0x1.2a59d2285e971p-1z0x1.56977142a7880p-6�rachelcrcrrdrrrrrarB�z0x1.0b294cc856fcdp-1z0x1.2ad22d79e77b8p-3z0x1.3052b9c072678p-2z0x1.578f332106574p-3�crcrrdrrrrrfrB�z0x1.b0580f98a7dbep-1z0x1.84129978f9c1ap-1z0x1.aeaa51052e978p-2z0x1.092178fb945a6p-2rfrrrr�test_bug_27706Xs���z+MersenneTwister_TestBasicOps.test_bug_27706cCs:Gdd�dt�}z
|j�|��WdStyYdSw)Nc@r0)z;MersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadIntcSsdSrOrrrrr�__abs__nr2zCMersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadInt.__abs__N)r3r4r5rorrrr�BadIntmr7rp)r
rr!rH)rrprrr�test_bug_31478js�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)Nsnofarr8racrcrrdrrrrr|rBz?MersenneTwister_TestBasicOps.test_bug_31482.<locals>.<listcomp>r@risrachelcrcrrdrrrrr�rBrkrcrcrrdrrrrr�rBrms	 @`�����crcrrdrrrrr�rB)z0x1.52c2fde444d23p-1z0x1.875174f0daea4p-2z0x1.9e9b2c50e5cd2p-1z0x1.fa57768bd321cp-2rf)rr�rrr�test_bug_31482us"����z+MersenneTwister_TestBasicOps.test_bug_31482cCs|�t|jjd�dS)N)r8NN)rGrxrr*rrrr�test_setstate_first_arg�sz4MersenneTwister_TestBasicOps.test_setstate_first_argcCsr|j��}|�t|jjd�|�t|jjd�|�t|jjddddf�|�t|jjdddddf�|�ttf��|j�dddd	df�Wd�n1sTwY|�ttf��|j�dddd
df�Wd�n1sxwY|j�d�}|j�|�|�|j�d�|�|j��d}t	|�}t
d
�|d<dd�|D�}|�t|jjd|df�dS)N)r?NN)r?rZNr?)r<�q)rip)r8)rt)r9rvr8r�r9css�|]}t|�VqdSrO)r
)rr�rrrr�s�zHMersenneTwister_TestBasicOps.test_setstate_middle_arg.<locals>.<genexpr>)rr"rGrHr*rx�
OverflowErrorr�r+rEr�)r�start_state�bits100�state_valuesr-rrr�test_setstate_middle_arg�s&
 ��z5MersenneTwister_TestBasicOps.test_setstate_middle_argcCsNgd�}|j�d�|�d�dd�}t||�D]\}}|j||dd�qdS)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)rr!rr\�assertAlmostEqual)rr��actualr<�errr�test_referenceImplementation�s�z9MersenneTwister_TestBasicOps.test_referenceImplementationcCs`ddlm}gd�}|j�d�|�d�dd�}t||�D]\}}|�t||d��|�qdS)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�rzr{r|r�)�mathr�rr!rr\r+r
)rr�r�r�r<r�rrr�$test_strong_reference_implementation�s
�zAMersenneTwister_TestBasicOps.test_strong_reference_implementationcCsdd>d}|j�|�dS)Nr8i�8r!)rr!rrr�test_long_seed�sz+MersenneTwister_TestBasicOps.test_long_seedcCr$r%r&r'rrrr(�r)z3MersenneTwister_TestBasicOps.test_53_bits_per_floatcCr*r+r,r-rrrr.�r/z)MersenneTwister_TestBasicOps.test_bigrandcCr0r1r6r7rrrr:r;z0MersenneTwister_TestBasicOps.test_bigrand_rangescr<)Nr=cr?rr@rrArrr
rBzAMersenneTwister_TestBasicOps.test_rangelimits.<locals>.<listcomp>rvrCrrrArrD
rEz-MersenneTwister_TestBasicOps.test_rangelimitscs.t���|j�d�|�|j�d�d�dS)N��rv�S!m�.vFXO)�superr�rr!r+r�r��	__class__rrr�s

�z-MersenneTwister_TestBasicOps.test_getrandbitscCs(|j�d�|�|j�dd�d�dS)Nr�r?�cr�)rr!r+rrrrr�test_randrange_uses_getrandbitss�z<MersenneTwister_TestBasicOps.test_randrange_uses_getrandbitscCrWrXrYrZrrrr]!r^z1MersenneTwister_TestBasicOps.test_randbelow_logiccCs�dtj>}t���t�dt�|jj|d|d�Wd�n1s$wY|jjd|d�|jjd|d�}|�|d�d}d}||||}t	j
j�tj
d��!}||||g|_|jj||d�|�|jd	�Wd�dS1sxwYdS)
Nr8�ignore)�maxsizeirrN�{�G�z�?rr?)r�BPFr�r�r��UserWarningr�_randbelow_without_getrandbitsr+rirjrrArrQ�
call_count)rr�r�r�epsilon�limit�random_mockrrr�"test_randbelow_without_getrandbits6s$

��"�z?MersenneTwister_TestBasicOps.test_randbelow_without_getrandbitscCsRd}d}d}|j�|||�}|�||ko|kn�|�|||d�dS)NlJ)�r:i8���r)rrr_r+)rr8r9rUr�rrr�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�rrr�r8r�)�Red�Black�Green)�r�r?)r��$�&r�r�r�r�r?i�߉)rr�r!rr+)
rr�rr<r�r�ryr�r��expanded_populationrrr�test_choices_algorithmsds, 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)Nrs3��f��6���oe��rrcsg|]}�j�d��qS)r@�rr�r�_rrrr�rXz?MersenneTwister_TestBasicOps.test_randbytes.<locals>.<listcomp>r@r=c3��|]	}�j�d�VqdS)r8Nr�r�rrrr���z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>c3�$�|]
}�|d|d�VqdS)r?r@Nrr�r�rrr����c3r�)r?Nr�r�rrrr�r�c3r�)r8r@Nrrr�rrr�r�c3r�)r=Nr�r�rrrr�r�)	r�rrr!r+r�joinrr])rr!�	expected1�	expected2�	expected3r�)r�rrr�s>
������z+MersenneTwister_TestBasicOps.test_randbytescCsZd}t��}|j�|�|�|�td�D]}|�|j�|�|�|d��|d��qdS)Nl�O�S�	r��little)	rrrr!rr+rr��to_bytes)rr!�gen2rrrr�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)r�r�r�r�r�r�)r�r�r�rYr~r8r�rr�cS�"g|]
\}}t|�D]}|�q
qSrr)rr��countrrrrr��"zOMersenneTwister_TestBasicOps.test_sample_counts_equivalence.<locals>.<listcomp>r��	abcdefghi)	rYr�r��r�r~r@r=r?rlr�cSr�rr)r�letterr�rrrrr�r�)rrwr!r\r+r]r�r�)
rrwr!r�r�rz�s1�expanded�s2r�rrr�test_sample_counts_equivalence�s(z;MersenneTwister_TestBasicOps.test_sample_counts_equivalence)r3r4r5rrrrgrnrqrrrsryr�r�r�r(r.r:rDr�r�rr
r]r�r�r�rr�r��
__classcell__rrr�rr`Js0	
&!(
r`rLrgc
Cs�|dkrttt|�td|�S|d}||dt|�|tdd|d|dd|dd	|d
d|dd
|dd|dd|dg	�S)Nrgrg@g
����?g�
ö)$�@g&Ԏ����g
t�a��@rLg���Q�f�rIg>@~�)@g@gA~������@g�~\���>g@g���i�E�>g@)rr�gammarr)�z�sqrt2pi�azrrrr��s






�r�c@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)
Ncr�rr�r��grrr�r�z5TestDistributions.test_zeroinputs.<locals>.<listcomp>ror�r~r8rYrr�gi@rI�UUUUUU�?)rrrr��uniform�
paretovariate�expovariate�weibullvariate�vonmisesvariate�
normalvariater��lognormvariate�gammavariate�betavariate�
triangular)rr�rr�r�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]f\}}}}|dd�j|_g}tt|��D]}z	|�
||��Wq\typYq\wd}	}
|D]}|	|7}	|
||d7}
qwt|��|j|	�|dd|j|fd�|j|
�d|dd|j|fd�qFdS)Nr�csg|]}|t���qSr)r�r�r,rrr�rXz2TestDistributions.test_avg_std.<locals>.<listcomp>r8)rrQg@g@)r�rr�g�q�q�?g�<ݚ�?)rRgUUUUUU�?)g�G�z��?rr?r=)r�g�?g�������?)rrIgUUUUUU�?g�������?rz%s%r)r~�msg)rrrr�r�r�r�rr�r�r�r�r]�appendrsrr3)rr�r��variate�args�mu�	sigmasqrd�yrr�r�r�rr�r�test_avg_std�sD���	����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`qWdS)Nrv)rQrQrQ)rQrQrQr�r�rI)rQr�)r�r�r)r�rQ)rrr�r�r�r�r�r�r�r�r�r�rr+)rr�r,r�r�r�rrrr�
test_constants&






���zTestDistributions.test_constantc
Cslt��}d}dD]+}dD]&}t|�D]}|�||�}|jd|ko&tjknd�|||�d�qqqdS)Nrv)r�r g������@g������@)r��ffffff@g@@rzCvonmisesvariate({}, {}) produced a result {} out of range [0, 2*pi])r�)rrrr�r_�TWOPI�format)rr�r,r��kappar�rwrrr�test_von_mises_range-s
����z&TestDistributions.test_von_mises_rangecCst�dd�t�dd�dS)Nrg4&�kCg}Ô%�I�T)rr�rrrr�test_von_mises_large_kappa;sz,TestDistributions.test_von_mises_large_kappacCsL|�ttjdd�|�ttjdd�|�ttjdd�|�ttjdd�dS)Nr9r=rr?r8r�)rGrxrr�rrrr�test_gammavariate_errors@r�z*TestDistributions.test_gammavariate_errorszrandom.Random.randomcCs&gd�|_t�dd�}|�|d�dS)N)�:�0�yE>rgrg�������?r�g=
ףp=@�rQrr�r�rr��returned_valuerrr�#test_gammavariate_alpha_greater_oneKs
z5TestDistributions.test_gammavariate_alpha_greater_onecCs$dg|_t�dd�}|�|d�dS)Ng�������?rr;g�/qr	�?r�r�rrr�!test_gammavariate_alpha_equal_oneVsz3TestDistributions.test_gammavariate_alpha_equal_onecCs8d}ddg|_t�d|�}t�d|�}|�||�dS)Nr;r�r)rQrr�r�r)rr��beta�gammavariate_returned_value�expovariate_returned_valuerrr�4test_gammavariate_alpha_equal_one_equals_expovariateas

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[rQr�r)rr�r�r�r[�alphar�r�r�rrr�rrr�,test_gammavariate_alpha_between_zero_and_onels"#	z>TestDistributions.test_gammavariate_alpha_between_zero_and_onezrandom.Random.gammavariatecCsd|_|�dt�dd��dS)Nr�rKrH)rhr+rr�)r�gammavariate_mockrrr�test_betavariate_return_zero�sz.TestDistributions.test_betavariate_return_zeroN)r3r4r5r�r�r�r�r�r�rirjrr�r�r�r�r�rrrrr��s" 











Er�c@seZdZdd�Zdd�ZdS)�TestRandomSubclassingcCs Gdd�dtj�}|dd�dS)Nc@seZdZddd�ZdS)zHTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.SubclassNcSstj�|�dSrO)rrr�)r�newargrrrr��szQTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.Subclass.__init__rO)r3r4r5r�rrrr�Subclass�sr�r8)r�)rr)rr�rrr� test_random_subclass_with_kwargs�sz6TestRandomSubclassing.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>.SubClass1c���d�tj�|�S)NzSubClass1.random��addrrr��calledrrr��
zRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.randomc���d�tj�||�S)N�SubClass1.getrandbits�r�rrr�rr�rrr���
zWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.getrandbitsN)r3r4r5rr�rr�rr�	SubClass1�srrNr�c�eZdZ�fdd�ZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2cr�)N�SubClass2.randomr�rr�rrr�r�zRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2.randomN�r3r4r5rrr�rr�	SubClass2��rrcr)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3cr�)N�SubClass3.getrandbitsrrr�rrr��rzWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3.getrandbitsN�r3r4r5r�rr�rr�	SubClass3�rr
rcr)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4cr�)N�SubClass4.randomr�rr�rrr�r�zRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4.randomNrrr�rr�	SubClass4�rrrcr)zHTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1cr�)N�
Mixin1.randomr�rr�rrr�r�zOTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1.randomNrrr�rr�Mixin1�rrcr)zHTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2cr�)N�Mixin2.getrandbitsrrr�rrr��rzTTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2.getrandbitsNr	rr�rr�Mixin2�rrc@�eZdZdS)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass5N�r3r4r5rrrr�	SubClass5��rr
c@r)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass6Nrrrrr�	SubClass6rrrc@r)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass7Nrrrrr�	SubClass7
rrc@r)zKTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass8Nrrrrr�	SubClass8rr)rrr^rr+)rrrr
rrrrrrrrr�r�"test_subclasses_overriding_methods�sDz8TestRandomSubclassing.test_subclasses_overriding_methodsN)r3r4r5r�rrrrrr��sr�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_MAGICCONSTr��LOG4�
SG_MAGICCONSTrrrr�testMagicConstantsszTestModule.testMagicConstantscCs |�ttj�ttt��k�dSrO)r_r^r�__all__�dirrrrr�test__all__s zTestModule.test__all__�forkzfork() requiredc	Cs�t��\}}t��}|dkrFz1t�d�}t|d��}|�t|��Wd�n1s+wYWt�d�dSWt�d�dSt�d�wt�	|�t�d�}t|d��}t
|���}Wd�n1sfwY|�||�t
j|dd�dS)Nrr��wr)�exitcode)�os�piper!rr�r
�writer��_exit�close�eval�readr%r	�wait_process)rrr"�pid�valr�	child_valrrr�test_after_fork"s$
��

�zTestModule.test_after_forkN)
r3r4r5rr ri�
skipUnless�hasattrr$r/rrrrrs
r�__main__)&ri�
unittest.mockrr$r#r�r��test.supportr�	functoolsrr�rrrrrrr	�	fractionsr
�collectionsrrr
r_rP�SystemRandom_availabler0�TestCaser r`r�r�r�rr3�mainrrrr�<module>sL +�
V]#�

Youez - 2016 - github.com/yon3zu
LinuXploit