mò %U²Ic@s[dkZdkZdeifd„ƒYZdefd„ƒYZdefd„ƒYZdS(NtBasicTestMappingProtocolcBs°tZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„ZRS(NcCshdd<dd<dd5siÿÿÿÿis#Empty mapping must compare to Falses!Full mapping must compare to Truecsrˆit|dƒƒˆit|dƒƒt|ƒ}ˆit|ƒt|ƒjot|ƒjnƒdS(Ntnextt__iter__( Rtassert_thasattrtitertlistR tsettlsttref(R R#R$R (R(Rtcheck_iterandlistIs (!RRtptdicttp1RRRR R R t assertEqualRtkeysRtfailUnlessRaisestKeyErrortlentkRthas_keytfailIftcmptfailR%titerkeysR t itervaluestvaluest iteritemsRt knownvaluetget( RRR(RR%R R7R&R R.((RRRRt test_read*sL        %%%%c s˜|iƒ‰x;|iiƒD]*\‰}|ˆˆ<|iˆˆ|ƒqWx7|iiƒD]&‰ˆˆ=|i t ‡‡d†ƒqZW|iƒ‰ˆi |iƒ|it ˆƒ|iƒˆiƒ}|iƒ‰ˆi |ƒ|it ˆƒ|iƒ|i |iƒ}|iƒiƒ\‰}|iiƒiƒ\}}|i|iˆ|ƒ|ƒ|i|ˆ|ƒ|i|i||ƒ|ƒ|i|||ƒ|i|i|ƒ|ƒ|i||jƒ|it |i|ƒd}|||<|i|i||ƒ|ƒ|i||jƒ|i|i||ƒ|ƒ|iƒ\‰}|iˆ|jƒ|i||iˆƒ|iƒ‰|it ˆiƒdS(NcsˆˆS(N(R&R ((R&R (RRbsi(RRR&RR R R R)R*R+R,tupdateR'RRR6RRRR7t setdefaulttpopR0t assertRaisestdefaultR( RRRR>R R R&R7R ((R&R Rt test_writeYsH         cCs |i|iƒ|iƒƒdS(N(RR)R(R((Rttest_constructorƒscCsc|i|iƒ ƒ|i|iƒ|it|iƒƒtjƒ|it|iƒtjƒdS(N(RRRRtbooltFalsetTrue(R((Rt test_bool†scCs‘|iƒ}|i|iƒgƒ|i}|i|iiƒd|iƒjƒ|i|iiƒd|iƒjƒ|i t |idƒdS(Ni( RRRR)R*RRRRR=t TypeErrortNone(RR((Rt test_keysŒs   &&cCs<|iƒ}|i|iƒgƒ|it|idƒdS(N(RRRR)R5R=RERF(RR((Rt test_values”s cCs<|iƒ}|i|iƒgƒ|it|idƒdS(N(RRRR)R R=RERF(RR((Rt test_itemsšs cCs&|iƒ}|it|ƒdƒdS(Ni(RRRR)R-(RR((Rttest_len s cCsN|i}|i||iiƒd|iiƒdƒ|it|i ƒdS(Ni( RRRR)RR*R5R=REt __getitem__(RR((Rt test_getitem¤s .c sŽ|iƒ}|i|iƒ|i|iƒ|iiƒƒ|iƒ}|iƒ|i||iƒƒ|iƒ}|i|iiƒƒ|i|iƒ|iiƒƒ|iƒ}|i|iiƒƒ|i|iƒ|iiƒƒ|it t f|idƒ|‰df‡d†ƒY}|i ƒ|i|ƒƒ|iƒ}|iiƒ}|iƒ|iƒ|i||ƒdtfd„ƒY‰|iƒ}df‡d†ƒY}|iˆ|i|ƒƒ|i ƒdf‡d†ƒY}|iˆ|i|ƒƒdf‡d †ƒY}|iˆ|i|ƒƒ|iƒ}d tf‡d †ƒY}|iˆ|i|ƒƒ|it|idgƒdS(Ni*tSimpleUserDictcs&tZ‡d†Zd„Zd„ZRS(Ncsˆi|_dS(N(t outerselfRRR(R(RN(RRÅscCs |iiƒS(N(RRR*(R((RR*ÇscCs |i|S(N(RRti(RRO((RRKÉs(t__name__t __module__RR*RK((RN(RRMÄs  tExccBstZRS(N(RPRQ(((RRRÓstFailingUserDictcstZ‡d†ZRS(Ncs ˆ‚dS(N(RR(R(RR(RR*×s(RPRQR*((RR(RRSÖscstZ‡d†Zd„ZRS(Ncsdf‡d†ƒY}|ƒS(Nt BogonItercs&tZd„Zd„Z‡d†ZRS(NcCs d|_dS(Ni(RRO(R((RRàscCs|S(N(R(R((RRâscs%|iod|_dSnˆ‚dS(Nita(RRORR(R(RR(RRäs  (RPRQRRR((RR(RRTßs  (RT(RRT(RR(RR*Þs cCs|S(N(R (RR ((RRKês(RPRQR*RK((RR(RRSÝs cstZd„Z‡d†ZRS(NcCsdfd„ƒY}|ƒS(NRTcBs#tZd„Zd„Zd„ZRS(NcCstdƒ|_dS(NRU(tordRRO(R((RRñscCs|S(N(R(R((RRóscCsF|itdƒjo&t|iƒ}|id7_|Snt‚dS(Ntzi(RRORVtchrtrtnt StopIteration(RRY((RRõs (RPRQRRR(((RRTðs  (RT(RRT((RR*ïs cs ˆ‚dS(N(RR(RR (RR(RRKüs(RPRQR*RK((RR(RRSîs tbadseqcstZd„Z‡d†ZRS(NcCs|S(N(R(R((RRscs ˆƒ‚dS(N(RR(R(RR(RRs(RPRQRR((RR(RR[s iii(iii(RRRR:RR)R R6R=REtAttributeErrorRNRMtclearti1Rti2tsortt ExceptionRRRStobjectR[t ValueError( RRR^R_RSRMRNR[RR((RNRRRt test_updateªsF            cCsU|iƒ}|i|i|iiƒdƒdjƒ|i|i|iiƒddƒdƒ|i }|i|i|iiƒdƒdjƒ|i|i|iiƒddƒdƒ|i|i|i iƒdƒ|i i ƒdƒ|i|i|i iƒddƒ|i i ƒdƒ|i t |iƒ|i t |idddƒdS(Nii(RRRRR8RR*RFR)RRR5R=RE(RR((Rttest_get s )) ))36cCs#|iƒ}|it|iƒdS(N(RRRR=RER;(RR((Rttest_setdefaults cCs9|iƒ}|it|iƒ|it|idƒdS(Ni*(RRRR=R,RRE(RR((Rt test_popitems cCs›|iƒ}|iiƒd\}}|||<|it|i |i i ƒdƒ|i |i |ƒ|ƒ|i t |ƒdƒ|it|i |ƒdS(Ni(RRRRR R.tvR=R,R<RR*R)R-(RRR.Rh((Rttest_pop"s  #(RPRQRFRRRRRR9R?R@RDRGRHRIRJRLRdReRfRgRi(((RRs&    / *        c  tTestMappingProtocolcBs¡tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„ZRS(NcCsdti|ƒ|i|iƒ|iƒj ƒ|i|iddddƒhdd<dd<ƒdS(NR ityi(RR@RRRR)R(R((RR@/s cCsŽti|ƒ|i|iƒ ƒ|i|ihdd<ƒƒ|it|iƒƒtjƒ|it|ihdd<ƒƒtjƒdS(NR Rk( RRDRRRRRARBRC(R((RRD4s  cCs™ti|ƒ|iƒ}|i|iƒgƒ|ihdd<dd<ƒ}|iƒ}|i d|jƒ|i d|jƒ|i d|jƒdS(NRUitbitc( RRGRRRR)R*RR.R(RR.R((RRG;s  ! cCsBti|ƒ|ihdd<ƒ}|i|iƒdgƒdS(Nii(RRHRRRR)R5(RR((RRHEs cCsBti|ƒ|ihdd<ƒ}|i|iƒdgƒdS(Nii(ii(RRIRRRR)R (RR((RRIJs cCs‡|iƒ}|i|idƒ ƒ|ihdd<dd<ƒ}|iƒ}|iƒ|i |ddgƒ|i t |iƒdS(NRUiRli( RRRRR/RR*R.R`R)R=RE(RR.R((Rt test_has_keyPs !  cCs£|iƒ}|id|jƒ|id|jƒ|ihdd<dd<ƒ}|id|jƒ|id|jƒ|id|jƒ|it|iƒdS(NRUiRliRm(RRRRRR=REt __contains__(RR((Rt test_containsZs !cCsHti|ƒ|ihdd<dd<ƒ}|it|ƒdƒdS(NRUiRli(RRJRRRR)R-(RR((RRJes !cCsÒti|ƒ|ihdd<dd<ƒ}|i|ddƒ|i|ddƒd|d