ó ükWc@s´ddlZddlZddlZddlZddlZddlZddlmZddlm Z ej dƒdkZ dej fd„ƒYZ ejZdefd „ƒYZd Zd efd „ƒYZd efd„ƒYZe`defd„ƒYZdefd„ƒYZe`deefd„ƒYZdeefd„ƒYZdeefd„ƒYZdefd„ƒYZdej fd„ƒYZdefd„ƒYZdej fd „ƒYZd!ej fd"„ƒYZd#efd$„ƒYZd%efd&„ƒYZ d'efd(„ƒYZ!d)efd*„ƒYZ"d+efd,„ƒYZ#d-e#fd.„ƒYZ$d/e#fd0„ƒYZ%d1e#fd2„ƒYZ&d3„Z'e(d4kr°e'ƒndS(5iÿÿÿÿN(t test_support(tHashabletlitHashEqualityTestCasecBs,eZd„Zd„Zd„Zd„ZRS(cGsOtt|ƒ}x9|dD]-}||dkr|jd|fƒqqWdS(Niishashed values differ: %r(tmapthashtfail(tselftobjlistthashedth((s$/usr/lib/python2.7/test/test_hash.pyt same_hashscCs\|jddddƒ|jddddƒ|jdd d dƒ|jd d d dƒdS(Nilgð?yilgiÿÿÿÿlÿÿÿÿgð¿iþÿÿÿlÿÿÿÿgÀyð?yyð¿yÀ(R (R((s$/usr/lib/python2.7/test/test_hash.pyttest_numeric_literalsscCse|jtdƒtdƒtdƒtdƒtdƒtdƒƒ|jtdƒtd ƒtd ƒƒ|jtdd ƒtddƒtddƒƒ|jtdƒtdƒtdƒƒ|jtdƒtdƒtdƒƒ|jtdƒtdƒtdƒƒ|jtddƒtdd ƒƒ|jtd"ƒtd$ƒƒ|jtd%ƒtd&ƒƒdS('Nit1s1.0iii?llýÿÿÿllýÿÿÿllýÿÿÿlllllÿÿllÿÿllÿÿlllllûÿÿÿllûÿÿÿllûÿÿÿllllÿÿÿÿllÿÿÿÿll(R tinttlongtfloattcomplex(R((s$/usr/lib/python2.7/test/test_hash.pyttest_coerced_integers#s*%1%%%$cCs?|jtdƒtdƒƒ|jtdƒtddƒƒdS(NgÑìˆøb=~gà?g(R RRR(R((s$/usr/lib/python2.7/test/test_hash.pyttest_coerced_floats0s(t__name__t __module__R R RR(((s$/usr/lib/python2.7/test/test_hash.pyRs   t DefaultHashcBseZRS((RR(((s$/usr/lib/python2.7/test/test_hash.pyR6si*t FixedHashcBseZd„ZRS(cCstS(N(t_FIXED_HASH_VALUE(R((s$/usr/lib/python2.7/test/test_hash.pyt__hash__:s(RRR(((s$/usr/lib/python2.7/test/test_hash.pyR9st OnlyEqualitycBseZd„ZdZRS(cCs ||kS(N((Rtother((s$/usr/lib/python2.7/test/test_hash.pyt__eq__>sN(RRRtNoneR(((s$/usr/lib/python2.7/test/test_hash.pyR=s tOnlyInequalitycBseZd„ZRS(cCs ||k S(N((RR((s$/usr/lib/python2.7/test/test_hash.pyt__ne__Es(RRR(((s$/usr/lib/python2.7/test/test_hash.pyRDstOnlyCmpcBseZd„ZdZRS(cCstt|ƒt|ƒƒS(N(tcmptid(RR((s$/usr/lib/python2.7/test/test_hash.pyt__cmp__IsN(RRR#RR(((s$/usr/lib/python2.7/test/test_hash.pyR Hs tInheritedHashWithEqualitycBseZRS((RR(((s$/usr/lib/python2.7/test/test_hash.pyR$OstInheritedHashWithInequalitycBseZRS((RR(((s$/usr/lib/python2.7/test/test_hash.pyR%PstInheritedHashWithCmpcBseZRS((RR(((s$/usr/lib/python2.7/test/test_hash.pyR&QstNoHashcBseZdZRS(N(RRRR(((s$/usr/lib/python2.7/test/test_hash.pyR'SstHashInheritanceTestCasecBsƒeZeƒeƒeƒeƒeƒgZeƒe ƒe ƒe ƒgZ e ƒgZd„Zd„Zd„Zd„Zd„ZRS(cCs4x-|jD]"}|jt|ƒt|ƒƒq WdS(N(tdefault_expectedt assertEqualRt _default_hash(Rtobj((s$/usr/lib/python2.7/test/test_hash.pyttest_default_hashdscCs.x'|jD]}|jt|ƒtƒq WdS(N(tfixed_expectedR*RR(RR,((s$/usr/lib/python2.7/test/test_hash.pyttest_fixed_hashhscCs+x$|jD]}|jtt|ƒq WdS(N(terror_expectedt assertRaisest TypeErrorR(RR,((s$/usr/lib/python2.7/test/test_hash.pyttest_error_hashlscCs5|j|j}x|D]}|j|tƒqWdS(N(R)R.tassertIsInstanceR(RtobjectsR,((s$/usr/lib/python2.7/test/test_hash.pyt test_hashableps  cCs(x!|jD]}|j|tƒq WdS(N(R0tassertNotIsInstanceR(RR,((s$/usr/lib/python2.7/test/test_hash.pyttest_not_hashablevs(RRtobjectRRRR R)RR$R%R&R.R'R0R-R/R3R6R8(((s$/usr/lib/python2.7/test/test_hash.pyR(Vs       tDefaultIterSeqcBs&eZedƒZd„Zd„ZRS(i cCs t|jƒS(N(tlentseq(R((s$/usr/lib/python2.7/test/test_hash.pyt__len__€scCs |j|S(N(R<(Rtindex((s$/usr/lib/python2.7/test/test_hash.pyt __getitem__‚s(RRtrangeR<R=R?(((s$/usr/lib/python2.7/test/test_hash.pyR:~s  tHashBuiltinsTestCasecBsJeZedƒeedƒƒeeƒƒed„dƒgZd„ZRS(i cCsdS(Ni((((s$/usr/lib/python2.7/test/test_hash.pyt‰sicCs=tj}x-|jD]"}|jt|ƒ||ƒƒqWdS(N(R9Rthashes_to_checkR*R(RR+R,((s$/usr/lib/python2.7/test/test_hash.pyt test_hashesŒs (RRtxranget enumeratetiterR:RCRD(((s$/usr/lib/python2.7/test/test_hash.pyRA…s   tHashRandomizationTestscBs&eZd„Zdd„Zd„ZRS(cCsd|S(Nsprint(hash(%s))((Rtrepr_((s$/usr/lib/python2.7/test/test_hash.pytget_hash_command–sc Csºtjjƒ}|dk r.t|ƒ|dsJ      " (