mò &á¸Ec@sÄdZdkZdeifd„ƒYZdefd„ƒYZdefd„ƒYZdefd „ƒYZd efd „ƒYZd efd „ƒYZd„Z e djoei ddƒndS(sgUnittests for Lazy sequence classes $Id: testLazySequences.py 40218 2005-11-18 14:39:19Z andreasjung $NtBaseSequenceTestcBstZd„ZRS(NcCs6|it|ƒt|ƒƒ|it|ƒ|ƒdS(N(tselft assertEqualtlentlseqtseqtlist(RRR((tH/data/zmath/zope/lib/python/Products/ZCatalog/tests/testLazySequences.pyt_compares(t__name__t __module__R(((RRst TestLazyCatcBsGtZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcGsdkl}||ƒS(N(sLazyCat(tProducts.ZCatalog.LazytLazyCatt sequences(RRR ((Rt _createLSeqs cCs#|igƒ}|i|gƒdS(N(RRtlcatR(RR((Rt testEmptyscCs/tdƒ}|i|ƒ}|i||ƒdS(Ni (trangeRRRRR(RRR((RttestSingleSequence"s cCshdkl}l}tdƒ}t|ƒ}t|ƒ}|i |||ƒ}|i ||||ƒdS(N(s hexdigitsslettersi ( tstringt hexdigitstlettersRtseq1Rtseq2tseq3RRRR(RRRRRRR((RttestMultipleSequences's    c Cs’dkl}l}tdƒ}t|ƒ}t|ƒ}t|i g}|||fD]}||i |ƒqT~ƒ}|i||||ƒdS(N(s hexdigitsslettersi (RRRRRRRRtapplyRRt_[1]RRR( RRRRRRRRR((RttestNestedLazySequences/s    6c Cs¡dkl}l}tdƒ}t|ƒ}t|ƒ}t|i g}|||fD]}||i |ƒqT~ƒ}|i|dd!|d||d ƒdS(N(s hexdigitsslettersi iiûÿÿÿ(RRRRRRRRRRRRRRR( RRRRRRRRR((RttestSlicedSequences8s    6cCs’|itdƒƒ}|it|ƒdƒ|itdƒƒ}|d|it|ƒdƒ|itdƒƒ}||it|ƒdƒdS(Ni i(RRRRRR(RR((RttestConsistentLengthAs( R R RRRRRRR(((RR s     t TestLazyMapcBs#tZd„Zd„Zd„ZRS(NcGs|id„|ŒS(NcCs|S(N(tx(R!((RtSs(Rt _createLMapR(RR((RRRscGs>dkl}g}x|D]}|i|ƒqW|||ƒS(N(sLazyMap(R tLazyMapttotalseqRtstextendtmapfunc(RR(RR$R&R%((RR#Us  c Cs›dkl}l}tdƒ}t|ƒ}t|ƒ}d„}|i ||||ƒ} |i | g}|||D]}|t|ƒiƒqt~ƒdS(N(s hexdigitsslettersi cCst|ƒiƒS(N(tstrR!tlower(R!((RR"as(RRRRRRRRtfilterRR#tlmapRRR!R)R*( RRRR+RR!RRRR,((RttestMap\s    (R R RR#R-(((RR Qs  tTestLazyFiltercBs,tZd„Zd„Zd„Zd„ZRS(NcGs|id„|ŒS(NcCstS(N(tTrue(R!((RR"hs(Rt_createLFilterR(RR((RRgscGs>dkl}g}x|D]}|i|ƒqW|||ƒS(N(s LazyFilter(R t LazyFilterR%RR&R'R+(RR+RR%R&R1((RR0js  cCstdkl}l}tdƒ}t|ƒ}t|ƒ}d„}|i ||||ƒ}|i ||d|ƒdS(N(s hexdigitsslettersi cCst|ƒiƒS(N(R)R!tisalpha(R!((RR"vs( RRRRRRRRR+RR0R,R(RRR+RRRRR,((Rt testFilterqs    cCs±dkl}|id„t|ƒƒ}|it|ƒdƒ|id„t|ƒƒ}|d|it|ƒdƒ|id„t|ƒƒ}||it|ƒdƒdS(N(sletterscCs |iƒS(N(R!tislower(R!((RR"~sicCs |iƒS(N(R!R4(R!((RR"‚si cCs |iƒS(N(R!R4(R!((RR"‡s(RRRR0RtlfilterRR(RRR5((RttestConsistentLengthWithFilterzs (R R RR0R3R6(((RR.fs   t TestLazyMopcBs,tZd„Zd„Zd„Zd„ZRS(NcGs|id„|ŒS(NcCs|S(N(R!(R!((RR"Žs(Rt _createLMopR(RR((RRscGs>dkl}g}x|D]}|i|ƒqW|||ƒS(N(sLazyMop(R tLazyMopR%RR&R'R((RR(RR9R%R&((RR8s  c Cs—dkl}l}tdƒ} t|ƒ}t|ƒ}d„}|i || ||ƒ}|i |g}||D]}|t|ƒiƒqp~ƒdS(N(s hexdigitsslettersi cCs$t|tƒo t‚n|iƒS(N(t isinstanceR!tintt ValueErrorR*(R!((RR+œs (RRRRRRRRR+RR8tlmopRRR!R)R*( RRRR=R+RR!RRR((RttestMop—s    cCsµdkl}tdƒt|ƒ}d„}|i||ƒ}|i t |ƒdƒ|i||ƒ}|d|i t |ƒdƒ|i||ƒ}||i t |ƒdƒdS(N(slettersi cCs$t|tƒo t‚n|iƒS(N(R:R!R;R<R*(R!((RR+§s i4i( RRRRRR+RR8R=RR(RRRR=R+((RttestConsistentLengthWithMop£s  (R R RR8R>R?(((RR7Œs   tTestLazyValuescBs,tZd„Zd„Zd„Zd„ZRS(NcCsdkl}||ƒS(N(s LazyValues(R t LazyValuesR(RRRA((Rt_createLValues¼s cCs#|igƒ}|i|gƒdS(N(RRBtlvalsR(RRC((RRÀscCsKdkl}t|tdƒƒ}|i|ƒ}|i|tdƒƒdS(N(slettersi ( RRtzipRRRRBRCR(RRRRC((Rt testValuesÄs cCsUdkl}t|tdƒƒ}|i|ƒ}|i|dd!tddƒƒdS(N(slettersi iiþÿÿÿi( RRRDRRRRBRCR(RRRRC((Rt testSliceÊs (R R RBRRERF(((RR@»s   cCs~tiƒ}|ititƒƒ|ititƒƒ|ititƒƒ|ititƒƒ|itit ƒƒ|S(N( tunittestt TestSuitetsuitetaddTestt makeSuiteR R R.R7R@(RI((Rt test_suiteÑs t__main__t defaultTestRL( t__doc__RGtTestCaseRR R R.R7R@RLR tmain(R@R R.R7RGR RLR((Rt?s 8&/