ó {G_Tc@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/local/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/local/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?I€i€I€i€I€i€I€I€I€I€iÿÿÿI€iÿÿÿI€iÿÿÿI€I€I€llûÿÿÿllûÿÿÿllûÿÿÿllllÿÿÿÿllÿÿÿÿll(R tinttlongtfloattcomplex(R((s*/usr/local/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/local/lib/python2.7/test/test_hash.pyttest_coerced_floats0s(t__name__t __module__R R RR(((s*/usr/local/lib/python2.7/test/test_hash.pyRs   t DefaultHashcBseZRS((RR(((s*/usr/local/lib/python2.7/test/test_hash.pyR6si*t FixedHashcBseZd„ZRS(cCstS(N(t_FIXED_HASH_VALUE(R((s*/usr/local/lib/python2.7/test/test_hash.pyt__hash__:s(RRR(((s*/usr/local/lib/python2.7/test/test_hash.pyR9st OnlyEqualitycBseZd„ZdZRS(cCs ||kS(N((Rtother((s*/usr/local/lib/python2.7/test/test_hash.pyt__eq__>sN(RRRtNoneR(((s*/usr/local/lib/python2.7/test/test_hash.pyR=s tOnlyInequalitycBseZd„ZRS(cCs ||k S(N((RR((s*/usr/local/lib/python2.7/test/test_hash.pyt__ne__Es(RRR(((s*/usr/local/lib/python2.7/test/test_hash.pyRDstOnlyCmpcBseZd„ZdZRS(cCstt|ƒt|ƒƒS(N(tcmptid(RR((s*/usr/local/lib/python2.7/test/test_hash.pyt__cmp__IsN(RRR#RR(((s*/usr/local/lib/python2.7/test/test_hash.pyR Hs tInheritedHashWithEqualitycBseZRS((RR(((s*/usr/local/lib/python2.7/test/test_hash.pyR$OstInheritedHashWithInequalitycBseZRS((RR(((s*/usr/local/lib/python2.7/test/test_hash.pyR%PstInheritedHashWithCmpcBseZRS((RR(((s*/usr/local/lib/python2.7/test/test_hash.pyR&QstNoHashcBseZdZRS(N(RRRR(((s*/usr/local/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/local/lib/python2.7/test/test_hash.pyttest_default_hashdscCs.x'|jD]}|jt|ƒtƒq WdS(N(tfixed_expectedR*RR(RR,((s*/usr/local/lib/python2.7/test/test_hash.pyttest_fixed_hashhscCs+x$|jD]}|jtt|ƒq WdS(N(terror_expectedt assertRaisest TypeErrorR(RR,((s*/usr/local/lib/python2.7/test/test_hash.pyttest_error_hashlscCs5|j|j}x|D]}|j|tƒqWdS(N(R)R.tassertIsInstanceR(RtobjectsR,((s*/usr/local/lib/python2.7/test/test_hash.pyt test_hashableps  cCs(x!|jD]}|j|tƒq WdS(N(R0tassertNotIsInstanceR(RR,((s*/usr/local/lib/python2.7/test/test_hash.pyttest_not_hashablevs(RRtobjectRRRR R)RR$R%R&R.R'R0R-R/R3R6R8(((s*/usr/local/lib/python2.7/test/test_hash.pyR(Vs       tDefaultIterSeqcBs&eZedƒZd„Zd„ZRS(i cCs t|jƒS(N(tlentseq(R((s*/usr/local/lib/python2.7/test/test_hash.pyt__len__€scCs |j|S(N(R<(Rtindex((s*/usr/local/lib/python2.7/test/test_hash.pyt __getitem__‚s(RRtrangeR<R=R?(((s*/usr/local/lib/python2.7/test/test_hash.pyR:~s  tHashBuiltinsTestCasecBsJeZedƒeedƒƒeeƒƒed„dƒgZd„ZRS(i cCsdS(Ni((((s*/usr/local/lib/python2.7/test/test_hash.pyt‰sicCs=tj}x-|jD]"}|jt|ƒ||ƒƒqWdS(N(R9Rthashes_to_checkR*R(RR+R,((s*/usr/local/lib/python2.7/test/test_hash.pyt test_hashesŒs (RRtxranget enumeratetiterR:RCRD(((s*/usr/local/lib/python2.7/test/test_hash.pyRA…s   tHashRandomizationTestscBs&eZd„Zdd„Zd„ZRS(cCsd|S(Nsprint(hash(%s))((Rtrepr_((s*/usr/local/lib/python2.7/test/test_hash.pytget_hash_command–sc Csºtjjƒ}|dk r.t|ƒ|dsJ      " (