
    ¿igf                         d Z ddlZddlZddlmZ  G d dej                  Zi fdZedk    rd Z	 ej
        d	
           dS dS )z+Self-test suite for Cryptodome.Random.new()    N)bc                       e Zd Zd ZdS )
SimpleTestc           	      
   ddl m} |                                }|                    d          }|                    d          }|                     ||           |                    d          }|                     ||           |                     ||           ddlm} |                    d          }|                    d          }|                     ||           ||k    r|}|}n|}|}t          dd          D ]}	|
                    |||	          }|
                    |||	          }|                     ||           |                     ||cxk    o|k     nc d           |                     ||cxk    o|k     nc d           |                     ||z
  |	z  d           |                     ||z
  |	z  d           t          d          D ],}
|                     |
                    dd	          d           -|                     t          |j
        ||           |                     t          |j
        |||	           |                     t          |j
        |||	|	           |                     t          |j
        ||d
           |                     t          |j
        d
||	           |                     t          |j
        dd|	           |                     t          |j
        ||d           |                    ||          }|                    ||          }|                     ||           |                     ||cxk    o|k    nc d           |                     ||cxk    o|k    nc d           t          d          D ],}
|                     |                    dd          d           -|                     t          |j        ||           |                     t          |j        |||	           |                     t          |j        d
|           |                     t          |j        dd           t          d          }|                    |          }|                    |          }|                     ||           |                     ||v d           |                     ||v d           t          d          D ]-}
|                     |                    d          dv d           .|                     |                    g d          dv d           t"          j        d         dk    r_|                     |                    t'          t)          d                              t'          t)          d                    v d           |                     d|                    dg                     |                     t*          |j        g            |                     t          |j        d           t          d          }t-          |          }t-          |          }|                    |           |                    |           |                     ||           |                     t1          |          t1          |                     |                     t1          |          t1          |                     t          t1          |                    D ]z}
|                     ||
         |v d           |                     ||
         |v d           |                     ||
         |v d           |                     ||
         |v d           {dg}|                    |           |                     |dg           t"          j        d         dk    rt'          t)          d                    }|                    |           |                     t)          d
          |v d           |                     t          |j        t)          d                     |                     t          |j        d           |                     t          |j        d           |                     t          |j        d           |                    |d          }|                    |d          }|                     ||           t          d          D ]>}
|                     ||
         |v d           |                     ||
         |v d           ?|                    dgd          }|                     |dg           |                    dd          }|                     |d         dv d           |                    dd          }|                     |d         dv d           |                    t          d          d          }|                     |d         t          d          v d           t"          j        d         dk    r|                    t)          d          d          }|                     |d         t)          d          v d           |                    t'          t)          d                    d          }|                     |d         t'          t)          d                    v d           |                     t          |j        d           dS )zCryptodome.Random.new()r   )Random   )random      
   T   12i'  )r   r      r   123i  1211)r   r      N)
Cryptodomer   newreadassertNotEqualget_random_bytesCryptodome.Randomr	   getrandbitsrange	randrangeassertEqualassertRaises
ValueError	TypeErrorrandintchoicesysversion_info	bytearrayr   
IndexErrorlistshufflelensample)selfr   randobjxyzr	   startstopstepiseqs               b/var/www/html/afkarena/venv/lib/python3.11/site-packages/Cryptodome/SelfTest/Random/test_random.pyrunTestzSimpleTest.runTest    sL
    	&%%%%%**,,LLLLAq!!!##B''Aq!!!Aq!!! 	-,,,,,t$$t$$Aq!!!Q33EDDED!BKK 	4 	4D  tD11A  tD11A1%%%Ua....$....555Ua....$....555a%i4/333a%i4/3333r 	7 	7AV--a22A6666*f&6uEEE*f&6eTJJJ)V%5udD$OOO)V%5udCHHH)V%5sD$GGG)V%5q#tDDD*f&6tQGGGNN5&&NN5&&Aq!!!!++++t++++T222!++++t++++T222r 	5 	5AV^^Aa00!4444*fndEBBB)V^UD$GGG)V^S$???)V^Q<<<EllMM#MM#Aq!!!c4(((c4(((r 	F 	FAV]]733w>EEEEwww//7:DAAAA!##V]]9QuXX+>+>??9QuXXCVCVVX\]]]FMM1#..///*fmR888)V]A666 CjjIIIIqqAq!!!S3q66***S3q66***s3xx 	/ 	/AAaDCK...AaDCK...CFaK...CFaK....CqQC   A!##!D''""ANN1QsVVq[$///i4AAA)V^Q777)V^T:::)V^U;;; MM#r""MM#r""Aq!!!r 	/ 	/AAaDCK...AaDCK....MM1#q!!QC   MM'1%%1$///MM%##1---MM%((A&&1q)4000A!##MM!E((A..  15!14888MM)AeHH"5"5q99  11U88)<)<!<dCCC)V]A66666    N)__name__
__module____qualname__r7    r8   r6   r   r      s(        ~7 ~7 ~7 ~7 ~7r8   r   c                      t                      gS N)r   )configs    r6   	get_testsr@      s    LL>r8   __main__c                  B    t          j        t                                S r>   )unittest	TestSuiter@   r<   r8   r6   <lambda>rE      s    H&y{{33 r8   suite)defaultTest)__doc__r$   rC   Cryptodome.Util.py3compatr   TestCaser   r@   r9   rF   mainr<   r8   r6   <module>rL      s   2 2 1 



  ' ' ' ' ' '7 7 7 7 7" 7 7 7B      z33EHMg&&&&&& r8   