wec@sdZddlZddlZddlTddlmZddlmZddlm Z de fdYZ d ej fd YZ d ej fd YZid ZedkrdZejddndS(s+Self-tests for (some of) Crypto.Util.numberiN(t*(tlist_test_cases(tnumber(t long_to_bytestMyErrorcBseZdZRS(sDummy exception used for tests(t__name__t __module__t__doc__(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyR%st MiscTestscBs5eZdZdZdZdZdZRS(cCs_|jttjdd|jttjdd|jttjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjd d|jdtjd d|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jdtjd d|jdtjd d|jdtjd d|jdtjd dd S(sUtil.number.ceil_divt1iiiiiiiiiii N(t assertRaisest TypeErrorRtceil_divtZeroDivisionErrort assertEqual(tself((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt test_ceil_div-s>cCs |jttjd|jttjd|jttjdd}x[tdD]M}tj|}|j|d|d>kd|j|d|>kdqUWd}tj|}|j|dd|j|d|d>kd|j|d|>kddS( sUtil.number.getPrimeiiiiidiiN(R t ValueErrorRtgetPrimetrangeRtassertNotEqual(Rtbitstitx((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt test_getPrimeWscCs|jttjd|jttjdd}tj|}|j|dd|j|d|d>dkd|j|d|>kdd }tj||}|jtj|d|d|j|dd|j|d|d>dkd|j|d|>kdd }tj||}|jtj|dd?|d|j|dd|j|d|d>dkd|j|d|>kddS( sUtil.number.getStrongPrimeiiiiiiiNiiii(R RRtgetStrongPrimeRRtGCD(RRRte((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest_getStrongPrimeis&" "$"c Cs |jtjdt|jtjdt|jtjdt|jtjdt|jtjdt|jtjdt|jtjd#t|jtjd&txQd(d*d+d,d-d.d/d0d1d2d3d4f D]%}|jtjt|tqWd!S(5sUtil.number.isPrimeiiiiiiii+iii=ii;i5wiHi9 i^iie6iɊmi&Ji5Liǩ)iSSiZiݵ8i?t9i}rI†I= i^]INlVlVlVlVliUii#iidIu^7IPIMnjoIE*I IS{ Ibe7lzIlv3I_VBᎫE(RRtisPrimetFalsetTruetint(Rt composite((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt test_isPrimes  cCs|jtjdd|jtjdd|jtjdd|jtjdd |jtjdd|jttjddS( Niiiii@lE)8^n, n:zb|DELU"N79Y Sh "*f8<>ktk26"zBT6 VRNcc\]]rX" Sw~o 8I(jO32 iii(RRtsizeR R(R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt test_sizes (RRRRRR"R$(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyR+s  *   t LongTestscBs#eZdZdZdZRS(cCs|jtdd|jtdd|jtdd|jtdd|jtdd|jtd d |jtd d dS( NitisisIsIwfUD3"s"3DUfwlLUs "3DUfw(RR(R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest1scCs|jtddd|jtddd|jtddd|jtddd |jtd dd |jtd dd |jtddd|jtddd|jtddd|jtddddS(NiiR&ititisitisIititi t i t (RR(R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest2scCs|jttddS(Ni(R RR(R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt test_err1s(RRR'R/R0(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyR%s cCs*g}|tt7}|tt7}|S(N(RRR%(tconfigttests((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt get_testsst__main__cCstjtS(N(tunittestt TestSuiteR3(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pytst defaultTesttsuite(RtmathR5tCrypto.Util.py3compattCrypto.SelfTest.st_commonRt Crypto.UtilRtCrypto.Util.numberRt ExceptionRtTestCaseRR%R3RR9tmain(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyts   p