mò %U²Ic@sdkZdklZdkZdfd„ƒYZdfd„ƒYZhdd„eieif<dd „eiei f<d d „ei ei f<d d „ei ei f<dd„eieif<dd„eieifYstlecCs ||jS(N(R R!(R R!((RR&ZsteqcCs ||jS(N(R R!(R R!((RR&[stnecCs ||jS(N(R R!(R R!((RR&\stgtcCs ||jS(N(R R!(R R!((RR&]stgecCs ||jS(N(R R!(R R!((RR&^st VectorTestcBs#tZd„Zd„Zd„ZRS(NcGs,x%t|D]}|i|||Œq WdS(N(topmaptopnametopRt assertRaisesterrortargs(RR1R.R2R/((Rt checkfailcs cCs|xut|D]i}|||ƒ}|it|ƒt|ƒƒx5t t|ƒƒD]!}|i ||||jƒqOWq WdS(N( R-R.R/R R!trealresRt assertEqualRtexprestxrangeRtassert_(RR.R R!R6RR4R/((Rt checkequalgs c CsÚttdƒƒ}ttdƒƒ}x$tD]}|it|||ƒq+Wtdƒ}ddg}|t|ƒft|ƒ|ft|ƒt|ƒfg}x6|D].\}}|i d||t t t t t gƒ|i d||t t t t t gƒ|i d||t t t t t gƒ|i d||t t t t t gƒ|i d||t t t t t gƒ|i d ||t t t t t gƒxAti ƒD]3}x*|D]"}|itt|||ƒƒq¨Wq›Wq¤WdS( NiiiR%R'R(R)R*R+(RtrangeR R!R-R.RR3R#R2R9tTruetFalset itervaluestopsR/R0Rtbool(RR R!R>R2R.R/((Rt test_mixedps*  9 %%%%%% (RRR3R9R@(((RR,as  t NumberTestcBs#tZd„Zd„Zd„ZRS(Nc CsóxìtdƒD]Þ}xÕtdƒD]Ç}x¾ttfD]°}x§ttfD]™}||jo tjnoqFn||ƒ} ||ƒ} xSt i ƒD]E}x<|D]4}|||ƒ}|| | ƒ}|i||ƒq£Wq–WqFWq3Wq Wq WdS(Ni(R7R R!tintRttypeattypebttattbR-R=R>R/t realoutcomet testoutcomeRR5( RR R!R>RCRDRGRHR/RFRE((Rt test_basics&       c Cs“xŒttfD]~}xuttfD]g}||ƒ} ||ƒ} xFt|D]:}|| | ƒ}t |d|ƒ}|i||jƒqIWq Wq WdS(NR(RBRRCRDR RER!RFR-R.R/R4tgetattrRR8R6( RR.R R!R6R4RCRDR/RFRE((Rt checkvalueŸs     cCs|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒ|idddtƒdS( NR%iR'R(R)R*R+i(RRKR<R;(R((Rt test_values©s$(RRRIRKRL(((RRA‹s  tMiscTestcBs#tZd„Zd„Zd„ZRS(NcCsdfd„ƒY}|ƒ}|ƒ}|i||jdƒ|i||jdƒ|i||jdƒ|itt||ƒdS(NtMisbcBsGtZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCsdS(Ni((RR((RRÄscCsdS(Ni((RR((RR ÅscCsdS(Ni((RR((RRÆscCs td‚dS(NsThis shouldn't happen(R (RR((RRÇscCs td‚dS(NsThis shouldn't happen(R (RR((RR ÈscCs td‚dS(NsThis shouldn't happen(R (RR((RR ÉscCs td‚dS(Ntexpected(t RuntimeError(RR((RRÊs( RRRR RRR R R(((RRNÃs      i(RNR R!RR5R0RPtcmp(RR R!RN((Rttest_misbehavinÂs  csodk}dfd„ƒY‰df‡d†ƒY}d„}x-||ifD]}|iˆ||ƒƒqKWdS(NtExccBstZRS(N(RR(((RRSÖstBadcstZ‡d†ZRS(Ncs ˆ‚dS(N(RS(R(RS(RRÙs(RRR((RS(RRTØscCs | dS(N(tbad(RU((RtdoÜs(toperatorRSRTRVtnot_tfuncRR0(RRVRSRTRYRW((RSRttest_notÒs  cCsdkl}|ƒ}|ƒ}|i|ƒ|i|ƒ|itti||ƒ|itti ||ƒ|itti ||ƒ|itti ||ƒ|itti ||ƒ|itti ||ƒ|idƒ|i||j ƒ|i||jƒ|itti ||ƒ|itti ||ƒ|itti ||ƒ|itti ||ƒ|idƒ|itti||ƒ|itti ||ƒ|iddƒ|iddƒ|i||j ƒ|i||jƒ|i||jƒdS(N(sUserListiii i (tUserListR R!tappendRR0RPRWR(R)R%R'R*R+R8tinsert(RR R!R[((Rttest_recursionâs4       (RRRRRZR^(((RRMÀs  tDictTestcBstZd„ZRS(Nc Cs0dk}h}x8tdƒD]*}|idƒd||idƒd