%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/test/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/test/test_itertools.pyc

ó
Nêáac@sÕddlZddlmZddlTddlZddlmZddlmZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZyddlZWnek
rÇeZnXejZedZd„Zd	„Zd
„Zd„Zd„Zd
fd„ƒYZd„Zd„Zd„Zdejfd„ƒYZ dejfd„ƒYZ!dejfd„ƒYZ"dejfd„ƒYZ#d„Z$dfd„ƒYZ%dfd„ƒYZ&dfd „ƒYZ'd!fd"„ƒYZ(d#fd$„ƒYZ)d%fd&„ƒYZ*d'fd(„ƒYZ+d)„Z,d*ejfd+„ƒYZ-d,ejfd-„ƒYZ.d.ejfd/„ƒYZ/d0ejfd1„ƒYZ0d2Z1ie1d36Z2ed4„Z3e4d5krÑe3d6e5ƒndS(7iÿÿÿÿN(ttest_support(t*(tDecimal(tFraction(treduceicCsd|S(sTest function of one argumenti((tx((s//usr/local/lib/python2.7/test/test_itertools.pytoneargscGs
t‚dS(s"Test function that raises an errorN(t
ValueError(targs((s//usr/local/lib/python2.7/test/test_itertools.pyterrfuncsccsxdD]}|VqWdS(sNon-restartable source sequenceiiiN(iii((ti((s//usr/local/lib/python2.7/test/test_itertools.pytgen3s
cCs|ddkS(sTest predicateii((R((s//usr/local/lib/python2.7/test/test_itertools.pytisEven!scCs|ddkS(sTest predicateii((R((s//usr/local/lib/python2.7/test/test_itertools.pytisOdd%stStopNowcBs eZdZd„Zd„ZRS(s"Class emulating an empty iterable.cCs|S(N((tself((s//usr/local/lib/python2.7/test/test_itertools.pyt__iter__+scCs
t‚dS(N(t
StopIteration(R((s//usr/local/lib/python2.7/test/test_itertools.pytnext-s(t__name__t
__module__t__doc__RR(((s//usr/local/lib/python2.7/test/test_itertools.pyR)s	cCstt||ƒƒS(sHConvenience function for partially consuming a long of infinite iterable(tlisttislice(tntseq((s//usr/local/lib/python2.7/test/test_itertools.pyttake0scCsttj|dƒS(Ni(Rtoperatortmul(titerable((s//usr/local/lib/python2.7/test/test_itertools.pytprod4scCsttd|dƒƒS(t	Factoriali(Rtrange(R((s//usr/local/lib/python2.7/test/test_itertools.pytfact7stTestBasicOpscBs÷eZd„Zd„Zd„Zejd„ƒZejdƒd„ƒZ	d„Z
ejd„ƒZejdƒd„ƒZd	„Z
ejd
„ƒZejdƒd„ƒZd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zejdƒd„ƒZd„Zejdƒd„ƒZd„Zd„Zejd„ƒZejdƒd„ƒZd„Z d„Z!d„Z"d„Z#d „Z$d!„Z%d"„Z&d#„Z'd$„Z(d%„Z)e*j+e,d&ƒd'„ƒZ-d(„Z.RS()cCsËd„}x»t|fD]­}|jt|ddƒƒtdƒƒ|jt|dƒƒtdƒƒ|jt|dƒƒgƒ|jtd|ddƒƒtdƒƒ|jtt|dd	ƒƒqWdS(
Ncws+x$|D]}x|D]}|VqWqWdS(sPure python version in the docsN((t	iterablestittelement((s//usr/local/lib/python2.7/test/test_itertools.pytchain2>s

tabctdeftabcdeftitabcdii(tchaintassertEqualRRtassertRaisest	TypeError(RR&tc((s//usr/local/lib/python2.7/test/test_itertools.pyt
test_chain<s	%"(cCsÉ|jttjddgƒƒtdƒƒ|jttjdgƒƒtdƒƒ|jttjdgƒƒgƒ|jtdtjddgƒƒtdƒƒ|jtttjddgƒƒdS(	NR'R(R)R*iR+ii(R-RR,t
from_iterableRR.R/(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_chain_from_iterableKs
+(".c
	sÄ|jttdƒ|jttdddƒ|jttdƒ|jttddƒ|jttddƒƒgƒ|jtttdƒdƒƒddddgƒd	„}d
„}d„}xýtdƒD]ï}gt|ƒD]}d
|d^qà‰x¿t|dƒD]­}ttˆ|ƒƒ}|jt|ƒ||krGdn!t	|ƒt	|ƒt	||ƒƒ|jt|ƒtt
|ƒƒƒ|j|t|ƒƒx´|D]¬}|jt|ƒ|ƒ|jtt
|ƒƒ|ƒ|jt|ƒt|ƒƒ|jt
‡fd†|Dƒƒƒ|jt|ƒgˆD]}	|	|kr8|	^q8ƒq«W|j|t|ˆ|ƒƒƒ|j|t|ˆ|ƒƒƒ|j|t|ˆ|ƒƒƒqWqÍWdS(NR'iiiþÿÿÿi iiic3söt|ƒ‰tˆƒ}||kr(dSt|ƒ}t‡fd†|DƒƒVx x:tt|ƒƒD]"}|||||krePqeqeWdS||cd7<x1t|d|ƒD]}||dd||<q³Wt‡fd†|DƒƒVqRWdS(s%Pure python version shown in the docsNc3s|]}ˆ|VqdS(N((t.0R
(tpool(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>bsic3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>ls(ttupletlenR treversed(RtrRtindicesR
tj((R5s//usr/local/lib/python2.7/test/test_itertools.pyt
combinations1[sc3srt|ƒ‰tˆƒ}xStt|ƒ|ƒD]<}t|ƒt|ƒkr.t‡fd†|DƒƒVq.q.WdS(s%Pure python version shown in the docsc3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>tsN(R6R7tpermutationsR tsortedR(RR9RR:((R5s//usr/local/lib/python2.7/test/test_itertools.pyt
combinations2ns
c3srt|ƒ‰tˆƒ}xStt|ƒ|ƒD]<}tt|ƒƒ|kr.t‡fd†|DƒƒVq.q.WdS(sPure python version from cwr()c3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>|sN(R6R7tcombinations_with_replacementR tset(RR9RR:((R5s//usr/local/lib/python2.7/test/test_itertools.pyt
combinations3vs
iiic3s|]}|ˆkVqdS(N((R4te(tvalues(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>‰s(iii(iii(iii(iii(R.R/tcombinationstNoneRR-RR R7R!RAR>t
assertTruetall(
RR<R?RBRRR9tresultR0RC((RDs//usr/local/lib/python2.7/test/test_itertools.pyttest_combinationsRs6			'F"
#*cCs-|jttfƒtddƒWdQXdS(NtAAiii (R.t
OverflowErrortMemoryErrorRE(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_combinations_overflowss"tuple reuse is specific to CPythonc	Csf|jtttttddƒƒƒƒdƒ|jttttttddƒƒƒƒƒdƒdS(Ntabcdeii(R-R7RAtmaptidREtassertNotEqualR(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_combinations_tuple_reuse•s.c	sét}|jt|dƒ|jt|dddƒ|jt|dƒ|jt|ddƒ|jt|ddƒƒddddddgƒd	„}d
„}d„}x;tdƒD]-}gt|ƒD]}d
|d^qljxýt|dƒD]ë}t|ˆ|ƒƒ}|jt|ƒ|||ƒƒ|jt|ƒtt	|ƒƒƒ|j|t
|ƒƒttˆ|ƒƒ}	|dks‘|dkr¤|j||	ƒn|jt	|ƒt	|	ƒkƒxÙ|D]Ñ}
|jt|
ƒ|ƒgt
|
ƒD]\}}|^qó}
|jt|
ƒtt	|
ƒƒƒ|jt|
ƒt
|
ƒƒ|jt‡fd†|
Dƒƒƒ|j|
gˆD]}||
kr||^q|ƒqÊW|j|t|ˆ|ƒƒƒ|j|t|ˆ|ƒƒƒqòWq´WdS(NR'iiiþÿÿÿtABCtAtBtCc3sÍt|ƒ‰tˆƒ}|r)|r)dSdg|}t‡fd†|DƒƒVxux6tt|ƒƒD]}|||dkrgPqgqgWdS||dg||||)t‡fd†|DƒƒVqTWdS(s%Pure python version shown in the docsNic3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>«sic3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>³s(R6R7R8R (RR9RR:R
((R5s//usr/local/lib/python2.7/test/test_itertools.pytcwr1£s

c3sut|ƒ‰tˆƒ}xVtt|ƒd|ƒD]<}t|ƒt|ƒkr1t‡fd†|DƒƒVq1q1WdS(s%Pure python version shown in the docstrepeatc3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>»sN(R6R7tproductR R>R(RR9RR:((R5s//usr/local/lib/python2.7/test/test_itertools.pytcwr2µs
cSs>|s|rdSdSt||dƒt|ƒt|dƒS(Nii(R!(RR9((s//usr/local/lib/python2.7/test/test_itertools.pytnumcombs½siiiic3s|]}|ˆkVqdS(N((R4RC(RD(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>Ös(RURU(RURV(RURW(RVRV(RVRW(RWRW(R@R.R/RFRR-RR R7RAR>RERGtgroupbyRH(RtcwrRXR[R\RRR9RIt
regular_combsR0tktvtnorunsRC((RDs//usr/local/lib/python2.7/test/test_itertools.pyt"test_combinations_with_replacementšs>			'"
%"#	*cCs-|jttfƒtddƒWdQXdS(NRKiii@(R.RLRMR@(R((s//usr/local/lib/python2.7/test/test_itertools.pyt+test_combinations_with_replacement_overflowÜsc	Cslt}|jtttt|ddƒƒƒƒdƒ|jttttt|ddƒƒƒƒƒdƒdS(NROii(R@R-R7RARPRQRRR(RR^((s//usr/local/lib/python2.7/test/test_itertools.pyt.test_combinations_with_replacement_tuple_reuseás.c	sª|jttƒ|jttdddƒ|jttdƒ|jttddƒ|jttddƒƒgƒ|jttddƒ|jtttdƒdƒƒddddddgƒdd	„}dd
„}xÍtdƒD]¿}gt|ƒD]}d|d
^qö‰xt|dƒD]}}ttˆ|ƒƒ}|jt|ƒ||kr]dnt	|ƒt	||ƒƒ|jt|ƒtt
|ƒƒƒ|j|t|ƒƒxc|D][}|jt|ƒ|ƒ|jtt
|ƒƒ|ƒ|jt
‡fd†|Dƒƒƒq·W|j|t|ˆ|ƒƒƒ|j|t|ˆ|ƒƒƒ||kr!|j|ttˆdƒƒƒ|j|ttˆƒƒƒq!q!WqãWdS(NR'iiiþÿÿÿi tsiic3sNt|ƒ‰tˆƒ}|dkr*|n|}||kr@dSt|ƒ}t|||dƒ}t‡fd†|| DƒƒVxÆ|rIx¹tt|ƒƒD]¡}||cd8<||dkrõ||d|||d!||)||||<q||}||||||<||<t‡fd†|| DƒƒVPqWdSq„WdS(s%Pure python version shown in the docsNiÿÿÿÿc3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>úsiic3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>s(R6R7RFR R8(RR9RR:tcyclesR
R;((R5s//usr/local/lib/python2.7/test/test_itertools.pyt
permutations1ñs&	!
c3st|ƒ‰tˆƒ}|dkr*|n|}xVtt|ƒd|ƒD]<}tt|ƒƒ|krIt‡fd†|DƒƒVqIqIWdS(s%Pure python version shown in the docsRYc3s|]}ˆ|VqdS(N((R4R
(R5(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>sN(R6R7RFRZR RA(RR9RR:((R5s//usr/local/lib/python2.7/test/test_itertools.pyt
permutations2	siiic3s|]}|ˆkVqdS(N((R4RC(RD(s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>s(ii(ii(ii(ii(ii(ii(R.R/R=RFRR-RR R7R!RAR>RGRH(RRhRiRRR9RItp((RDs//usr/local/lib/python2.7/test/test_itertools.pyttest_permutationsçs4	'<"
'cCs-|jttfƒtddƒWdQXdS(NRUiii@(R.RLRMR=(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_permutations_overflow#sc	Csf|jtttttddƒƒƒƒdƒ|jttttttddƒƒƒƒƒdƒdS(NROii(R-R7RARPRQR=RRR(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_permutations_tuple_reuse(s.c		Cs>x7tdƒD])}d| }xtdƒD]}tt|d|ƒƒ}tt||ƒƒ}tt||ƒƒ}tt||ƒƒ}|jt|ƒ||ƒ|jt|ƒ|rât||dƒt|ƒt|dƒn|ƒ|jt|ƒ||krdnt|ƒt||ƒƒ|jt|ƒ||krGdn!t|ƒt|ƒt||ƒƒ|j|t	t
|ƒƒƒ|j|t	t
|ƒƒƒ|j|t	t
|ƒƒƒ|j|t	t
|ƒƒƒ|j|g|D]$}t	|ƒt|ƒkrì|^qìƒ|j|g|D]$}tt
|ƒƒ|kr'|^q'ƒ|j|g|D]$}t	|ƒt|ƒkrb|^qbƒ|j|g|D]$}tt
|ƒƒ|kr|^qƒ|j|tt
|ƒj|ƒƒ|j|tt
|ƒj|ƒƒ|j|t	t
|ƒt
|ƒ@ƒƒq*Wq
WdS(NitABCDEFGiRYii(
R RRZR@R=RER-R7R!R>RAtfiltert__contains__(	RRRfR9RR^tpermtcombtt((s//usr/local/lib/python2.7/test/test_itertools.pyttest_combinatorics-s,
I<F;;;;""cCs|jttdddddddddgƒƒtdƒƒ|jttdddddddgƒƒtdƒƒ|jttdddddddgƒƒtdƒƒ|jttdddddddgƒƒtdƒƒ|jttddddgƒƒtdƒƒ|jttd	ddddddgƒƒtd
ƒƒd}tjttdƒ|ƒƒ}tjtdƒƒ}|jtt||ƒƒdd
dg|ƒ|jttdtdƒƒ|jtttdƒdƒ|jtttdƒƒ|jtttdƒdƒdS(NtdatatABCDEFt	selectorsiitACEFR*tACRTtBCi'iii(ii(
R-RtcompressR,R2RYR R.R/RF(RRRuRw((s//usr/local/lib/python2.7/test/test_itertools.pyt
test_compressNs=777.7,c	Cs°|jtdtƒƒd%d&d'gƒ|jtdtdƒƒd(d)d*gƒ|jtdtdtdƒƒƒd+d,gƒ|jtdtdtdƒƒƒd-d.gƒ|jtdtdtdƒƒƒd/d0gƒ|jttddd	ƒ|jttdƒ|jtdttd
ƒƒttd
td
ƒƒ|jtdttd
ƒƒttd
td
ƒƒ|jtdtdƒƒdddgƒ|jtdtd1ƒƒd2d3d4gƒ|jtdttdƒƒƒtdƒtdƒtdƒgƒ|jtdtt	ddƒƒƒt	ddƒt	d
dƒt	ddƒgƒd5}|jtdt|ƒƒ||d|dgƒtdƒ}|jt
|ƒdƒ|jƒ|jt
|ƒdƒtdƒ}|jt
|ƒdƒ|jƒ|jt|ƒdƒ|jt
tdƒƒdƒ|jt
tdƒƒd ƒ|jtttdƒƒƒt
ƒxtjd
tjd
d!dddtjd
tjd
fD]O}t
t|ƒƒjd"d#ƒ}d$j|ƒjd"d#ƒ}|j||ƒq›Wx»ddtjd
tjd
fD]™}t|ƒ}|jttj|ƒƒ|ƒ|jttj|ƒƒ|ƒxFttjdƒD]1}|jttjtj||ƒƒƒ|ƒqsWqWdS(6NR'taitbiR0iiiiiÿÿÿÿiýÿÿÿiþÿÿÿi
g
@g@g@y@s1.1s2.1s3.1iièscount(3)scount(4)i÷ÿÿÿs	count(-9)iøÿÿÿg€$@scount(10.25)g$@scount(10.0)iöÿÿÿtLR*s	count(%r)(R}i(R~i(R0i(R}i(R~i(R0i(R}i(R~i(R}iÿÿÿÿ(R~i(R}iýÿÿÿ(R~iþÿÿÿy
@Ày
@Ày@Ày@ÀlC(R-tziptcountRR.R/tmaxsizeR RRtreprRttypetfloattsystmaxinttreplacet__mod__tcopytdeepcopytpickletHIGHEST_PROTOCOLtloadstdumps(RtBIGINTR0R
tr1tr2tvaluetproto((s//usr/local/lib/python2.7/test/test_itertools.pyt
test_count^sL%(...47(("!+0

"C'cCsQ|jtdtddƒƒd:d;d<gƒ|jtdtd	dd
dƒƒd=d>d?gƒ|jtdtd
dƒƒd@dAdBgƒ|jttddƒ|jtdtddƒƒdCdDdEgƒ|jtdtddƒƒdFdGdHgƒ|jtdtddƒƒdIdJdKgƒ|jtdtddƒƒdLdMdNgƒ|jtdtddƒƒdOdPdQgƒ|jtdttddƒƒtdttdtddƒƒƒ|jtdttddƒƒtdttdtddƒƒƒ|jtdtdtdƒƒtdddtdtdƒƒ|jtdtddƒƒdddgƒ|jtdtddRƒƒddSdTgƒ|jtdttdƒtdƒƒƒtdƒtdƒtd ƒgƒ|jtdtt	ddƒt	dd!ƒƒƒt	ddƒt	d"d#ƒt	dd#ƒgƒdU}|jtdtd
|ƒƒd|d|gƒ|jt
tdtdd%ƒƒƒt
dd&d'gƒƒtddƒ}|jt
|ƒd(ƒ|jƒ|jt
|ƒd)ƒtd*dƒ}|jt
|ƒd+ƒ|jƒ|jt
|ƒd+ƒtd*d,ƒ}|jt
|ƒd-ƒ|jƒ|jt
|ƒd.ƒ|jt
|ƒd.ƒ|jt
td/dƒƒd0ƒ|jt
td/dƒƒd1ƒ|jt
td/d2ƒƒd3ƒ|jt
tdd2ƒƒd4ƒtdd2ƒ}|jtt|ƒƒt
ƒ|jtt|ƒƒtƒxtjdtjdd5dddtjdtjdfD]Â}x¹tjdtjdd5ddddtjdtjdf	D]x}t
t||ƒƒjd6d7ƒ}|dkrd8|jd6d7ƒ}nd9||fjd6d7ƒ}|j||ƒqÍWq‡WdS(VNR'iiR}R~iR0itstarttstepiÿÿÿÿiiþÿÿÿiilliiidi
gô?g
@g@y@g@g!@y @s1.1s.1s1.2s1.3iiiièg@g)@g.@scount(3, 5)scount(8, 5)i÷ÿÿÿscount(-9, 0)iýÿÿÿs
count(-9, -3)scount(-12, -3)g%@scount(10.5, 1.25)scount(10.5)gð?scount(10.5, 1.0)scount(10, 1.0)iöÿÿÿRR*s	count(%r)s
count(%r, %r)(R}i(R~i(R0i(R}i(R~i(R0i(R}i(R~iÿÿÿÿ(R0iþÿÿÿ(R}i(R~i(R0i(R}i(R~i(R0i(R}i(R~i(R0i(R}i(R~i(R0i(R}i(R~i(R0iy
@Ày@Ày!@ ÀlC(R-R€RR.R/RR‚R RRRƒRR„tintR…R†R‡Rˆ(RRR0R
R;R‘R’((s//usr/local/lib/python2.7/test/test_itertools.pyttest_count_with_stride‰sf+!+++++CF#++'"-+/7


CF!cCs®|jtdtdƒƒtdƒƒ|jttdƒƒgƒ|jttƒ|jttdƒ|jttttƒƒdƒƒddddddddddg
ƒdS(	Ni
R't
abcabcabcaR*iiii(R-RtcycleRR.R/RR(R((s//usr/local/lib/python2.7/test/test_itertools.pyt
test_cycleÀs
%c
sÂ|jgttgƒƒƒ|jgttgdtƒƒƒ|jtttdgƒƒ|jttdƒ|jttdd„dƒd(d)d*d+d,d-d.d/g}g}xRt|d„ƒD]>\}}x/|D]'}|j||dƒ|j|ƒqÓWqÀW|j||ƒg}x‰t|d„ƒD]u\}}xft|d„ƒD]R\}}xC|D];}|j||dƒ|j||dƒ|j|ƒq]WqJWq+W|j||ƒgt|d„ƒD]\}}|^qÇ}tg|D]}	|	d^qéƒ}
|jt|ƒ|
ƒ|jt	|ƒt	|
ƒƒd}gtt
|ƒƒD]\}}|^qM}	|j|	dddddgƒgtt
|ƒƒD]*\}}tt|d
dƒƒr—|^q—}	|j|	dddgƒgtt
|ƒƒD]$\}}t	t|ƒƒ|f^qó}	|j|	d0d1d2d3d4gƒt
gtt
|ƒƒD]$\}}t	t|ƒƒ|f^qRdtƒd }	|j|	d5d6d7gƒd t
fd!„ƒY‰d‡fd"†}dtd#„}|jˆ||dƒƒ|jˆ||d
ƒƒd$d8‡fd%†ƒY}
|
ƒ|
ƒdg}|jˆ||d&tƒ|jˆ||ƒ‡‡fd'†‰dˆ_|jˆ|dgˆƒd
ˆ_|jˆ|ddgˆƒdS(9NtkeyR'cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyt<lambda>ÍR*i
iiiiiii
iiiiiiiicSs|dS(Ni((R9((s//usr/local/lib/python2.7/test/test_itertools.pyRžÓR*cSs|dS(Ni((R9((s//usr/local/lib/python2.7/test/test_itertools.pyRžÛR*cSs|dS(Ni((R9((s//usr/local/lib/python2.7/test/test_itertools.pyRžÜR*cSs|dS(Ni((R9((s//usr/local/lib/python2.7/test/test_itertools.pyRžäR*tabracadabraR}R~R0tdR9itreverset
ExpectedErrorcBseZRS((RR(((s//usr/local/lib/python2.7/test/test_itertools.pyR¢ùsc3s&xt|ƒD]}dVq
Wˆ‚dS(Ntyo(R (RR
(R¢(s//usr/local/lib/python2.7/test/test_itertools.pyt
delayed_raiseûs	cSs,gt||ƒD]\}}||ƒ^qS(N(R](RtkeyptfuncR`tg((s//usr/local/lib/python2.7/test/test_itertools.pytgulpÿstDummyCmpcseZ‡fd†ZRS(cs
ˆ‚dS(N((Rtdst(R¢(s//usr/local/lib/python2.7/test/test_itertools.pyt__cmp__	s(RRR«((R¢(s//usr/local/lib/python2.7/test/test_itertools.pyR©sR¦cs,ˆjdkr"ˆjd8_|Sˆ‚dS(Nii(tskip(tobj(R¢tkeyfunc(s//usr/local/lib/python2.7/test/test_itertools.pyR®s(ii
i(iii(iii(ii
i(iii(iii(iii(iii(iR}(iR~(iR0(iR (iR9(iR}(iR9(iR~((R-RR]RQR.R/RFtappendRAR7R>RtTruet	ExceptionR¬(RRftdupR`R§telemtiktigtkeysR9texpectedkeysR¤R¨R©((R¢R®s//usr/local/lib/python2.7/test/test_itertools.pyttest_groupbyÇs`"

+#+C=M		c	CsQ|jttttdƒƒƒdddgƒ|jttddddddgƒƒddgƒ|jtttdddddgƒƒddgƒ|jtdtttƒƒƒddddgƒ|j	t
tƒ|j	t
td„ƒ|j	t
td„tdƒdƒ|j	t
ttd	ƒ|j	t
ttdƒtdƒƒjƒdS(
NiiiiicSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRž&R*cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRž'R*ii(R-RtifilterRR RFtboolRRR.R/R(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_ifilter s.441"c	CsW|jttttdƒƒƒdddgƒ|jttddddddgƒƒdddgƒ|jtttdddddgƒƒdddgƒ|jtdtttƒƒƒddddgƒ|j	t
tƒ|j	t
td	„ƒ|j	t
td
„tdƒdƒ|j	t
ttdƒ|j	t
ttdƒtdƒƒjƒdS(NiiiiiiiicSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRž1R*cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRž2R*(R-RtifilterfalseRR RFRºRRR.R/R(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_ifilterfalse+s.771"cCsÍgtdtƒƒD]\}}||f^q}|j|dd
dgƒ|jttdtdƒƒƒtdtdƒƒƒ|jttd	td
ƒƒƒtd	td
ƒƒƒ|jtd
td	tƒƒƒtd	td
ƒƒƒ|jttd	ƒƒtd	ƒƒ|jttƒƒtƒƒ|jttd
ƒ|jtttd
ƒd
ƒ|jgtddƒD]}t	t|ƒƒ^qitddƒƒ|jgtddƒD]}|^qªtddƒƒdS(NR'R}iR~iR0iiR)iR((R}i(R~i(R0i(
tizipRR-RR R€RR.R/R6(RRtytanstpair((s//usr/local/lib/python2.7/test/test_itertools.pyt	test_izip6s1444"1%cCs{tttddƒƒ}|jt|ƒt|ƒƒttttddƒƒƒ}|jttj	|ƒƒt|ƒƒdS(NR'R((
RPRQR¾R-tmintmaxRR7tdicttfromkeys(Rtids((s//usr/local/lib/python2.7/test/test_itertools.pyttest_izip_tuple_reuseEscCs|x®dtdƒgtdƒdgtdƒtddƒtddƒgtdƒtdƒtddƒtd	ƒtd
ƒgtdƒtdƒtddƒtd	ƒtd
ƒtdƒggD]õ}gtttt|ƒƒƒD]A}tg|D](}|t|ƒkr||nd^qêƒ^qÚ}|jtt|Œƒ|ƒ|jtt|iŽƒ|ƒg|D]}td„|Dƒƒ^qc}|jtt|t	dd
ƒŽƒ|ƒq¸W|jt
dtdtƒƒƒtdtdƒƒƒ|jttƒƒtƒƒ|jttgƒƒtgƒƒ|jttdƒƒtdƒƒ|jttddiƒttdƒdgdƒƒ|j
ttdƒ|j
tttdƒdƒxSddgD]E}yt|tƒtƒƒWntk
rìq¹X|jd|ƒq¹W|jgtddƒD]}tt|ƒƒ^qtddƒƒ|jgtddƒD]}|^qYtddƒƒdS(NR'iièiÐi4i¸iêii°iÜcss'|]}|dkrdp|VqdS(tXN(RF(R4RC((s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>Zst	fillvalueRÉiR)tdefgsizip_longest('abc', fv=1)s4izip_longest('abc', fillvalue=1, bogus_keyword=None)sDid not raise Type in:  R((R RÄRPR7R6RFR-Rtizip_longestRÅRRR€R.R/tevaltglobalstlocalstfail(RRR
targttargetRststmtRÁ((s//usr/local/lib/python2.7/test/test_itertools.pyttest_iziplongestLs@$3F`),4""

1%cCs{tttddƒƒ}|jt|ƒt|ƒƒttttddƒƒƒ}|jttj	|ƒƒt|ƒƒdS(NR'R((
RPRQRÌR-RÃRÄRR7RÅRÆ(RRÇ((s//usr/local/lib/python2.7/test/test_itertools.pyttest_izip_longest_tuple_reusexscCsúdtfd„ƒY}|ddtƒ}|ddtƒ}d„}|j|||ƒd
ddd
gƒ|ddtƒ}|ddtƒ}t||d	dƒ}|jt|ƒdƒ|jt|ƒdƒ|jt|ƒdƒ|jtt|ƒdS(NtRepeatercBs#eZd„Zd„Zd„ZRS(cSs%||_t|ƒ|_||_dS(N(toR˜RsRC(RR×RsRC((s//usr/local/lib/python2.7/test/test_itertools.pyt__init__ƒs	cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyR‡scSs2|jdkr%|jd8_|jS|j‚dS(Nii(RsR×RC(R((s//usr/local/lib/python2.7/test/test_itertools.pyR‰s(RRRØRR(((s//usr/local/lib/python2.7/test/test_itertools.pyRÖs		iiiicSsdg}xWt||ddƒD]@\}}tjdƒ||fGHWdQX|j||fƒqW|S(NRÊitstdout(RÌRtcaptured_outputR¯(R‘R’RIR
R;((s//usr/local/lib/python2.7/test/test_itertools.pytrun”s"iRÊ(ii(ii(ii(ii(ii(ii(ii(tobjectRR-tRuntimeErrorRÌRR.(RRÖR‘R’RÛR$((s//usr/local/lib/python2.7/test/test_itertools.pyt
test_bug_7244s	%c
Csôx6gdgfdgddgftdƒtdƒgddddddgftdƒtdƒtdƒggftdƒtdƒtdƒggftdƒtdƒtdƒggfgD]w\}}|jtt|Œƒ|ƒxLtdƒD]>}|jtt||Œƒtt|td	|ƒŽƒƒqóWq¾W|jttttd
ƒgdŒƒƒdƒ|jtttdƒdƒd„}d
„}dddt	dƒt	dƒtddddddƒt
dƒtdƒttdƒƒg	}xýtdƒD]ï}gttj
dƒƒD]}tj|ƒ^q}ttt|ƒƒ}	|jttt|Œƒƒ|	ƒ|jtt|Œƒt||Œƒƒ|jtt|Œƒt||Œƒƒtt|ƒ}|jttt|Œƒƒ|	ƒqýWdS( NtabR}R~iiiiiRYiics,tt|ƒ|jddƒ}t|ƒ}|dkr@dVdStd„|DƒƒrZdSdg|}td„t||ƒDƒƒVx x™tt|ƒƒD]}||t||ƒdkrÅq›n||cd7<x%t|d|ƒD]}d||<qéWtd„t||ƒDƒƒVPq›WdSqˆWdS(NRYiicss!|]}t|ƒdkVqdS(iN(R7(R4R5((s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>½scss|]\}}||VqdS(N((R4R5R
((s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>Àscss|]\}}||VqdS(N((R4R5R
((s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>Ès((RPR6tgetR7tanyR€R8R (RtkwdstpoolsRR:R
R;((s//usr/local/lib/python2.7/test/test_itertools.pytproduct1·s&
cs†tt|ƒ|jddƒ}gg}x;|D]3}g|D] }|D]}||g^qFq<}q/Wx|D]}t|ƒVqmWdS(s Pure python version used in docsRYiN(RPR6Rà(RRâRãRIR5RR¿R((s//usr/local/lib/python2.7/test/test_itertools.pytproduct2Ís	
1
R*R'R0tabcdefgii
idi((R}(R~(ii(ii(ii(ii(ii(iii‘Ë(R R-RRZRÅR7R.R/RFtxrangeRAR6trandomt	randrangetchoiceRRPtiter(
RRRIR9RäRåtargtypesR
R;texpected_len((s//usr/local/lib/python2.7/test/test_itertools.pyttest_product§s2-$$4'/			3'1"((c
Cs7|jttfƒtdddgdŒWdQXdS(NRYiiRßiii (R.RLRMRZ(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_product_overflowásc	Csf|jtttttddƒƒƒƒdƒ|jttttttddƒƒƒƒƒdƒdS(NR'R(i(R-R7RARPRQRZRRR(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_product_tuple_reuseæs.cCs|jttddddƒƒdddgƒ|jttddddƒƒgƒ|jttddddƒƒgƒ|jttddddƒƒgƒ|jttdƒtdƒƒdddgƒ|jttddƒƒdddgƒ|jtdtdƒƒdddgƒ|jttddƒƒgƒ|jttdd
ƒƒgƒ|jttƒ|jttdddƒ|jttddƒtdƒ}|jt	|ƒd
ƒtddƒ}|jt	|ƒdƒt|ƒ|jt	|ƒdƒdS(NRÜR}ttimesiiiÿÿÿÿiþÿÿÿiiiýÿÿÿiysrepeat((1+0j))isrepeat((1+0j), 5)srepeat((1+0j), 0)(iR}(iR}(iR}yð?yð?(
R-RRYR€RçRR.R/RFRƒ(RR9((s//usr/local/lib/python2.7/test/test_itertools.pyttest_repeatës&.%%%((
cCs†|jttddƒƒdƒ|jttddƒƒdƒ|jttdddƒƒdƒ|jttdddƒƒdƒdS(NR}iÿÿÿÿsrepeat('a', 0)iþÿÿÿRñ(R-RƒRY(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_repeat_with_negative_timess"cCs‚|jtttjtdƒtddƒƒƒd
ddgƒ|jttddtdƒƒƒdddgƒ|jttddtƒƒƒdddgƒ|jtdtddtƒƒƒddgƒ|jtttjgƒƒgƒ|j	t
tƒ|j	t
ttjƒ|j	t
tdtdƒƒjƒ|j	t
ttdgdgƒjƒ|j	t
ttdgdgƒjƒdS(NiiiiiR'iR}R~R0i
iiii(R}i(R~i(R0i(R}i(R~i(R0i(R}i(R~i(R-RtimapRtpowR RFRRR.R/tnegRRR	R(R((s//usr/local/lib/python2.7/test/test_itertools.pyt	test_imaps-!!
""%c	Cs‹|jtttjttdƒtddƒƒƒƒd
ddgƒ|jtdttjtt	ƒt	dƒƒƒƒd
ddgƒ|jtttjgƒƒgƒ|jtttjt
ddgƒgƒƒdgƒ|jttttjdgƒƒ|jttƒ|jtttjdgdƒ|jttd	dgƒjƒ|jtttdgƒjƒ|jtttdgƒjƒdS(Niiiiiiitextrai
iiiiiii(ii(ii(ii(ii(R-RtstarmapRRõR€R RR¾RRëR.R/RFRRR	R(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_starmaps30"4"cCs…xKddddddgD]1}|jtttdƒ|Œƒt|ŒƒqWxZddfddfddfgD]7\}}|jtttdƒ|Œƒt|ŒƒqpW|jtttdƒdƒƒtdƒƒ|jtttdƒddƒƒtdƒƒ|jtttdƒdddƒƒtdƒƒ|jtttdƒddƒƒtddƒƒ|jtttdƒdddƒƒtdddƒƒttdƒƒ}|jtt|dƒƒtdƒƒ|jt|ƒtddƒƒttdƒƒ}|jtt|ddƒƒgƒ|jt|ƒtddƒƒ|jtttdƒƒ|jtttdƒddddƒ|jt	ttdƒd	ddƒ|jt	ttdƒdd	d
ƒ|jt	ttdƒddd
ƒ|jt	ttdƒdddƒ|jt	ttdƒdƒ|jt	ttdƒddƒ|jt	ttdƒddƒ|jt	ttdƒdddƒ|jt	ttdƒdddƒ|jt
tttƒddtƒƒƒdƒtƒ}|jtt|ddd
ƒƒdgƒ|jt
|ƒdƒd„dDƒ}tj|ƒ}t|dƒ}|j|ƒƒt|ƒtjƒ|j|ƒƒdS(Ni
iiidiniiiiûÿÿÿiÿÿÿÿiR}i2css|]}|VqdS(N((R4R((s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>[s(i
ii(i
ii(i
i(i
i
(i
i(i(i
ini(i
idi(i
in(i
id(in(id(ii(R-RRRçR RFRëR.R/RR7RR‚RtweakreftreftassertIsNotNoneRt
gc_collecttassertIsNone(RRttgtargsR$R0twr((s//usr/local/lib/python2.7/test/test_itertools.pyttest_islice$s\
/		/+.117%"%"""""".	(

cCsHddddddddg}d	„}|jtt||ƒƒdddgƒ|jtt|gƒƒgƒ|jttƒ|jtttjƒ|jtttjd
gd
ƒ|jttddgƒjƒ|jttt	dgƒjƒtt
ddddddgƒ}|jt|ƒdddgƒ|jt|jƒdS(NiiiiiiiicSs
|dkS(Ni
((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžeR*Røi
i(ii(ii(ii(R-Rt	takewhileR.R/RRõRRR	RºR(RRutundertenRs((s//usr/local/lib/python2.7/test/test_itertools.pyttest_takewhilecs	(!cCsûddddddddg}d	„}|jtt||ƒƒdddddgƒ|jtt|gƒƒgƒ|jttƒ|jtttjƒ|jtttjdgd
ƒ|jttdd
gƒjƒ|jttt	dgƒjƒdS(NiiiiiiiicSs
|dkS(Ni
((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžsR*Røi
(ii(ii(ii(
R-Rt	dropwhileR.R/RRõRRR	(RRuR((s//usr/local/lib/python2.7/test/test_itertools.pyttest_dropwhileqs	.cCsªd}d„}tgƒ\}}|jt|ƒgƒ|jt|ƒgƒt||ƒƒ\}}|jt||ƒtt|ƒt|ƒƒƒt||ƒƒ\}}|jt|ƒt|ƒƒ|jt|ƒt|ƒƒt||ƒƒ\}}x*tdƒD]}|j|jƒ|ƒqW~|jt|ƒt|ƒƒt||ƒƒ\}}x*tdƒD]}|j|jƒ|ƒqlW~|jt|ƒtd|ƒƒx½tdƒD]¯}dg|dg|}tj|ƒggf}t||ƒƒ}	x/|D]'}|	|jƒ}
||j	|
ƒqW|j|dt|ƒƒ|j|dt|ƒƒq»W|j
ttƒ|j
ttdƒ|j
ttddgd	ƒ|j
ttddgdd	ƒtd
ƒ\}}t|ƒdƒ}|jt|ƒtdƒƒttdƒdƒ\}}}x*tdƒD]}|j|jƒ|ƒq7W|jt|ƒtdƒƒ|j|jƒ|jƒgtdƒƒ|jt|ƒtddƒƒ|jt|ƒtddƒƒ|j
ttd
d
ƒ|j
t
tgdƒxutdƒD]g}td
|ƒ}|jt|ƒtƒ|jt|ƒ|ƒ|jtt|ƒtd
ƒg|ƒqWtd
ƒ\}}t|ƒ\}}
|j||kƒtd
ƒ\}}t|ƒ}|j
t|ƒ|j
t|dƒ||ƒ}|jt|ƒt|ƒkoAt|ƒkoAtd
ƒknƒttdƒƒ\}}tj|ƒ}|jt|dƒt|ƒƒ~|j
tt|dƒdS(NiÈcss xt|ƒD]}|Vq
WdS(N(Rç(RR
((s//usr/local/lib/python2.7/test/test_itertools.pytirange~sidiiiiiRR'R(iÐtinvalidiÿÿÿÿi
t	__class__(tteeR-RR€R RçRRètshuffleR¯R.R/R„RR6R7RPRGRûtproxytgetattrtReferenceError(RRRR}R~R
R;tordertliststitsR“R0RIR tt1tt2ttnewtt3Rj((s//usr/local/lib/python2.7/test/test_itertools.pyttest_tee|s‚	.

(*FcCsCttddƒƒ\}}yt|ƒ~Wn~~‚nXdS(Ni-1(RRYRFRá(Rtforwardtbackward((s//usr/local/lib/python2.7/test/test_itertools.pyttest_tee_del_backwardÖs
csUdd‡fd†ƒY}t|ƒƒ\}‰|jtdƒt|ƒWdQXdS(NtIcs&eZeZd„Z‡fd†ZRS(cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRâscs&|j}t|_|r"tˆƒSdS(N(tfirsttFalseR(RR(R~(s//usr/local/lib/python2.7/test/test_itertools.pyRäs		(RRR°RRR((R~(s//usr/local/lib/python2.7/test/test_itertools.pyRàs	R((RtassertRaisesRegexpRÝR(RRR}((R~s//usr/local/lib/python2.7/test/test_itertools.pyttest_tee_reenterßs
s!Threading required for this test.cs»tjƒ‰tjƒ‰dd‡‡fd†ƒY}t|ƒƒ\}}tjdtd|gƒ}|jƒz1ˆjƒ|jtdƒt|ƒWdQXWdˆj	ƒ|j
ƒXdS(NRcs#eZd„Z‡‡fd†ZRS(cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRóscsˆjƒˆjƒdS(N(RAtwait(R(tfinishR–(s//usr/local/lib/python2.7/test/test_itertools.pyRõs
(RRRR((R!R–(s//usr/local/lib/python2.7/test/test_itertools.pyRòs	RÒRR((t	threadingtEventRtThreadRR–R RRÝRAtjoin(RRR}R~tthread((R!R–s//usr/local/lib/python2.7/test/test_itertools.pyttest_tee_concurrentîs


cCsš|jttƒjƒxOttttfD];}|jt|gƒjƒ|jt|tƒƒjƒq)W|jttgdƒjƒ|jtttƒdƒjƒt
gƒ\}}|jt|jƒ|jt|jƒt
tƒƒ\}}|jt|jƒ|jt|jƒ|jttddƒjƒxatt
ttttfD]G}|jt|d„gƒjƒ|jt|d„tƒƒjƒqKWdS(NicSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžR*cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžR*(R.RR¾RR,R›R]RRRFRRYR¹R¼RôRRRù(RtfRjtq((s//usr/local/lib/python2.7/test/test_itertools.pyttest_StopIterations  (/RRR1R3RJRtbigaddrspacetestRNtimpl_detailRSRcRdReRkRlRmRtR|R•R™RœR¸R»R½RÂRÈRÔRÕRÞRîRïRðRòRóR÷RúRRRRRRtunittestt
skipUnlessR"R'R*(((s//usr/local/lib/python2.7/test/test_itertools.pyR";sN			>	B	<	!		+	7		Y				,	(	:					?			Z			tTestExamplescBs¼eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs&|jdjtddƒƒdƒdS(NR*RTtDEFRv(R-R%R,(R((s//usr/local/lib/python2.7/test/test_itertools.pyR1scCs,|jdjtjddgƒƒdƒdS(NR*RTR0Rv(R-R%R,R2(R((s//usr/local/lib/python2.7/test/test_itertools.pyR3 sc	Csf|jttddƒƒddd
dddgƒ|jtttdƒdƒƒddddgƒdS(NtABCDiRURVRWtDiiii(RURV(RURW(RUR2(RVRW(RVR2(RWR2(iii(iii(iii(iii(R-RRER (R((s//usr/local/lib/python2.7/test/test_itertools.pyRJ#sc	Cs5|jttddƒƒdddd	d
dgƒdS(NRTiRURVRW(RURU(RURV(RURW(RVRV(RVRW(RWRW(R-RR@(R((s//usr/local/lib/python2.7/test/test_itertools.pyRc)sc
Cs;|jttdddddddgƒƒtdƒƒdS(NRviiRx(R-RR{(R((s//usr/local/lib/python2.7/test/test_itertools.pyR|-scCs8|jtttdƒdƒƒdddddgƒdS(Ni
iiii
i(R-RRR(R((s//usr/local/lib/python2.7/test/test_itertools.pyR•0scCs/|jtttdƒdƒƒtdƒƒdS(NR1itABCDABCDABCD(R-RRR›(R((s//usr/local/lib/python2.7/test/test_itertools.pyRœ3sc	Cs>|jttd„dddddgƒƒdddgƒdS(NcSs
|dkS(Ni((R((s//usr/local/lib/python2.7/test/test_itertools.pyRž7R*iii(R-RR(R((s//usr/local/lib/python2.7/test/test_itertools.pyR6scCs’|jgtdƒD]\}}|^qtdƒƒ|jgtdƒD]\}}t|ƒ^qHtdƒtdƒtdƒtdƒgƒdS(NtAAAABBBCCDAABBBtABCDABt
AAAABBBCCDtAAAAtBBBtCCR2(R-R]R(RR`R§((s//usr/local/lib/python2.7/test/test_itertools.pyR¸9s(
.cCs;|jttd„tdƒƒƒdddddgƒdS(NcSs|dS(Ni((R((s//usr/local/lib/python2.7/test/test_itertools.pyRž@R*i
iiiii	(R-RR¹R (R((s//usr/local/lib/python2.7/test/test_itertools.pyR»?scCs;|jttd„tdƒƒƒdddddgƒdS(NcSs|dS(Ni((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžCR*i
iiiii(R-RR¼R (R((s//usr/local/lib/python2.7/test/test_itertools.pyR½BscCs/|jtttdd	ƒƒdddgƒdS(
Niii
ii i	iè(iii
(iii(R-RRôRõ(R((s//usr/local/lib/python2.7/test/test_itertools.pyR÷EscCs¤|jttddƒƒtdƒƒ|jttdddƒƒtdƒƒ|jttdddƒƒtdƒƒ|jttddddƒƒtdƒƒdS(	NRnitABitCDtCDEFGitACEG(R-RRRF(R((s//usr/local/lib/python2.7/test/test_itertools.pyRHs%((cCs)|jttddƒƒddgƒdS(	NR1txyRURRVR¿(RUR(RVR¿(R-RR¾(R((s//usr/local/lib/python2.7/test/test_itertools.pyRÂNscCs5|jttddddƒƒddd
dgƒdS(NR1R>RÊt-RURRVR¿RWR2(RUR(RVR¿(RWR?(R2R?(R-RRÌ(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_izip_longestQsc
Csf|jttddƒƒttdjƒƒƒ|jtttdƒƒƒddd	d
ddgƒdS(
NR1is#AB AC AD BA BC BD CA CB CD DA DB DCiii(iii(iii(iii(iii(iii(iii(R-RR=RPR6tsplitR (R((s//usr/local/lib/python2.7/test/test_itertools.pyRkUscCsr|jttddƒƒttdjƒƒƒ|jtttdƒddƒƒd	d
ddd
dddgƒdS(NR1R>sAx Ay Bx By Cx Cy Dx DyiRYiii(iii(iii(iii(iii(iii(iii(iii(iii(R-RRZRPR6RAR (R((s//usr/local/lib/python2.7/test/test_itertools.pyRî[s
!cCs,|jttddƒƒdddgƒdS(Ni
i(R-RRY(R((s//usr/local/lib/python2.7/test/test_itertools.pyRòbscCs5|jtttdd	d
gƒƒdddgƒdS(Niiii
i i	iè(ii(ii(i
i(R-RRùRõ(R((s//usr/local/lib/python2.7/test/test_itertools.pyttest_stapmapes!c	Cs;|jttd„dddddgƒƒddgƒdS(NcSs
|dkS(Ni((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžjR*iii(R-RR(R((s//usr/local/lib/python2.7/test/test_itertools.pyRis(RRR1R3RJRcR|R•RœRR¸R»R½R÷RRÂR@RkRîRòRBR(((s//usr/local/lib/python2.7/test/test_itertools.pyR/s(																			tTestPurePythonRoughEquivalentscBs eZed„ƒZd„ZRS(c
gs't|Œ}|jpd|jp'tj|jp3d}}}tt|||ƒƒ}yt|ƒ}Wn8t	k
r x#t
t|ƒ|ƒD]\}}	qŒWdSXyAx:t|ƒD],\}}	||kr±|	Vt|ƒ}q±q±WWn>t	k
r"x.t
t|d|ƒ|ƒD]\}}	qWnXdS(Nii(tsliceR–tstopR†R‡R—RëRçRRR¾t	enumerate(
RRRfR–RER—R$tnextiR
R%((s//usr/local/lib/python2.7/test/test_itertools.pyRos"2
"
)cCs©|jt|jddƒƒtdƒƒ|jt|jdddƒƒtdƒƒ|jt|jdddƒƒtdƒƒ|jt|jddddƒƒtdƒƒttd	ƒƒ}|jt|j|d
ƒƒtd
ƒƒ|jt|ƒtd
d	ƒƒttd	ƒƒ}|jt|j|d
d
ƒƒgƒ|jt|ƒtd
d	ƒƒtƒ}|jt|j|dd
dƒƒdgƒ|jt|ƒd
ƒdS(
NRniR:iR;R<iR=i
iii2(	R-RRRFRëRçR RR(RR$R0((s//usr/local/lib/python2.7/test/test_itertools.pyttest_islice_recipe…s(++.(%	+(RRtstaticmethodRRH(((s//usr/local/lib/python2.7/test/test_itertools.pyRCmstTestGCcBsÎeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs!|j|ƒ|jƒ~~dS(N(R¯R(Rtiteratort	container((s//usr/local/lib/python2.7/test/test_itertools.pyt	makecycle™s

cCs g}|jt|ƒ|ƒdS(N(RMR,(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR1žscCs&g}|jtj|gƒ|ƒdS(N(RMR,R2(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR3¢scCs/g}|jtdd|dgdƒ|ƒdS(Niii(RMRE(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRJ¦scCs/g}|jtdd|dgdƒ|ƒdS(Niii(RMR@(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRcªsc	Cs5g}|jtdddddddgƒ|ƒdS(NRvii(RMR{(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR|®scCsMg}tdtftd|ƒƒ}|jt|dƒ|dƒƒ|ƒdS(NtIntRii(R„R˜RÅRMR(RR}RN((s//usr/local/lib/python2.7/test/test_itertools.pyR•²scCs'g}|jt|gdƒ|ƒdS(Ni(RMR›(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRœ·scCs,g}|jttd||gƒ|ƒdS(Ni(RMRRº(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR»scCs-g}|jt|gdd„ƒ|ƒdS(NicSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžÁR*(RMR](RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR¸¿scCsXd}d„}xBtt|ƒd|ƒD](\}}|jjdgƒj|ƒq(WdS(Ni
cSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžÆR*RR(R]Rçt__dict__t
setdefaultR¯(RRR®R
R;((s//usr/local/lib/python2.7/test/test_itertools.pyttest_issue2246Ãs	%cCs-g}|jtd„|gdƒ|ƒdS(NcSstS(N(R°(R((s//usr/local/lib/python2.7/test/test_itertools.pyRžÌR*i(RMR¹(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR»ÊscCs&g}|jtd„|ƒ|ƒdS(NcSstS(N(R(R((s//usr/local/lib/python2.7/test/test_itertools.pyRžÐR*(RMR¼(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR½ÎscCs1g}|jt|gd|gdƒ|ƒdS(Nii(RMR¾(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRÂÒscCsjg}|jt|gd|gdƒ|ƒ|dg}|jt|gd|gdd|ƒ|ƒdS(NiiRÊ(RMRÌRF(RR}R~((s//usr/local/lib/python2.7/test/test_itertools.pyR@Ös'cCs-g}|jtd„|gdƒ|ƒdS(NcSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžÞR*i(RMRô(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyR÷ÜscCs*g}|jt|gddƒ|ƒdS(Ni(RMRRF(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRàscCs/g}|jtdd|dgdƒ|ƒdS(Niii(RMR=(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRkäscCs2g}|jtdd|dgddƒ|ƒdS(NiiiRY(RMRZ(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRîèscCs g}|jt|ƒ|ƒdS(N(RMRY(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRòìscCs3g}|jtd„||fgdƒ|ƒdS(NcWs|S(N((Rs((s//usr/local/lib/python2.7/test/test_itertools.pyRžòR*i(RMRù(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRúðscCs/g}|jttdd||gƒ|ƒdS(Nii(RMRRº(RR}((s//usr/local/lib/python2.7/test/test_itertools.pyRôs(RRRMR1R3RJRcR|R•RœRR¸RQR»R½RÂR@R÷RRkRîRòRúR(((s//usr/local/lib/python2.7/test/test_itertools.pyRJ—s,																					ccsx|D]}|VqWdS(sRegular generatorN((tseqnR
((s//usr/local/lib/python2.7/test/test_itertools.pytRøs
tGcBs eZdZd„Zd„ZRS(sSequence using __getitem__cCs
||_dS(N(RR(RRR((s//usr/local/lib/python2.7/test/test_itertools.pyRØÿscCs|j|S(N(RR(RR
((s//usr/local/lib/python2.7/test/test_itertools.pyt__getitem__s(RRRRØRU(((s//usr/local/lib/python2.7/test/test_itertools.pyRTýs	RcBs)eZdZd„Zd„Zd„ZRS(s Sequence using iterator protocolcCs||_d|_dS(Ni(RRR
(RRR((s//usr/local/lib/python2.7/test/test_itertools.pyRØs	cCs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyR	scCsD|jt|jƒkr!t‚n|j|j}|jd7_|S(Ni(R
R7RRR(RRa((s//usr/local/lib/python2.7/test/test_itertools.pyRs
	(RRRRØRR(((s//usr/local/lib/python2.7/test/test_itertools.pyRs		tIgcBs eZdZd„Zd„ZRS(s9Sequence using iterator protocol defined with a generatorcCs||_d|_dS(Ni(RRR
(RRR((s//usr/local/lib/python2.7/test/test_itertools.pyRØs	ccsx|jD]}|Vq
WdS(N(RR(Rtval((s//usr/local/lib/python2.7/test/test_itertools.pyRs(RRRRØR(((s//usr/local/lib/python2.7/test/test_itertools.pyRVs	RÉcBs eZdZd„Zd„ZRS(s Missing __getitem__ and __iter__cCs||_d|_dS(Ni(RRR
(RRR((s//usr/local/lib/python2.7/test/test_itertools.pyRØs	cCsD|jt|jƒkr!t‚n|j|j}|jd7_|S(Ni(R
R7RRR(RRa((s//usr/local/lib/python2.7/test/test_itertools.pyRs
	(RRRRØR(((s//usr/local/lib/python2.7/test/test_itertools.pyRÉs	tNcBs eZdZd„Zd„ZRS(sIterator missing next()cCs||_d|_dS(Ni(RRR
(RRR((s//usr/local/lib/python2.7/test/test_itertools.pyRØ's	cCs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyR*s(RRRRØR(((s//usr/local/lib/python2.7/test/test_itertools.pyRX%s	tEcBs)eZdZd„Zd„Zd„ZRS(sTest propagation of exceptionscCs||_d|_dS(Ni(RRR
(RRR((s//usr/local/lib/python2.7/test/test_itertools.pyRØ/s	cCs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyR2scCsdddS(Nii((R((s//usr/local/lib/python2.7/test/test_itertools.pyR4s(RRRRØRR(((s//usr/local/lib/python2.7/test/test_itertools.pyRY-s		tScBs)eZdZd„Zd„Zd„ZRS(sTest immediate stopcCsdS(N((RRR((s//usr/local/lib/python2.7/test/test_itertools.pyRØ9scCs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyR;scCs
t‚dS(N(R(R((s//usr/local/lib/python2.7/test/test_itertools.pyR=s(RRRRØRR(((s//usr/local/lib/python2.7/test/test_itertools.pyRZ7s		cCs(ttd„ttt|ƒƒƒƒƒS(s Test multiple tiers of iteratorscSs|S(N((R((s//usr/local/lib/python2.7/test/test_itertools.pyRžBR*(R,RôRSRVRT(RR((s//usr/local/lib/python2.7/test/test_itertools.pyR@stTestVariousIteratorArgscBseZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„ZRS(cCs+x$ddtdƒd	tdddƒfD]û}x•ttttttfD]{}|jt	t
||ƒƒƒt	||ƒƒƒ|jt	t
||ƒ||ƒƒƒt	||ƒƒt	||ƒƒƒqGW|jtt	t
t
|ƒƒƒ|jtt	t
t|ƒƒƒ|jtt	t
t|ƒƒƒq(WdS(
Nt123R*iètdog333333ó?iÐi˜i(R]g333333ó?(R RçRTRRVRZRRSR-RR,R.R/RÉRXtZeroDivisionErrorRY(RRfR§((s//usr/local/lib/python2.7/test/test_itertools.pyR1Gs..KcCsxddtdƒd
tdddƒfD]Þ}t|ƒ}xWttttttfD]=}|j	t
t||ƒtd	ƒƒƒt
||ƒƒƒqSW|j
ttt|ƒtd	ƒƒ|j
tt
tt|ƒtd	ƒƒƒ|j
tt
tt|ƒtd	ƒƒƒq(WdS(NR\R*ièR]g333333ó?iÐi˜ii(R]g333333ó?(R RçR7RTRRVRZRRSR-RR{RYR.R/RÉRXR^RY(RRfRR§((s//usr/local/lib/python2.7/test/test_itertools.pyR|Ps.;"(cCsxzddtdƒd	tdddƒfD]Q}|jttt|ƒƒ|jttt|ƒƒ|jttt|ƒƒq(WdS(
NR\R*ièR]g333333ó?iÐi˜i(R]g333333ó?(	R RçR.R/RZRÉRXR^RY(RRf((s//usr/local/lib/python2.7/test/test_itertools.pyRîYs.cCsxddtdƒd
tdddƒfD]×}xwttttttfD]]}t|ƒd	}t	||ƒƒd	}t	t
t||ƒƒ|ƒƒ}|j||ƒqGW|j
ttt|ƒƒ|j
tt	tt|ƒƒƒ|j
tt	tt|ƒƒƒq(WdS(NR\R*ièR]g333333ó?iÐi˜ii(R]g333333ó?(R RçRTRRVRZRRSR7RRR›R-R.R/RÉRXR^RY(RRfR§ttgtlentexpectedtactual((s//usr/local/lib/python2.7/test/test_itertools.pyRœ_s.!cCsýxötdƒtdƒtdƒd	tdddƒfD]Á}xattttttfD]G}|jgt	||ƒƒD]\}}|^qrt
||ƒƒƒqSW|jtt	t
|ƒƒ|jtt
t	t|ƒƒƒ|jtt
t	t|ƒƒƒq4WdS(
Ni
iièiiiÐi˜i(ii(R RçRTRRVRZRRSR-R]RR.R/RÉRXR^RY(RRfR§R`tsb((s//usr/local/lib/python2.7/test/test_itertools.pyR¸js:EcCsùxòtdƒtdƒtdƒd	tdddƒfD]½}xTttttttfD]:}|jt	t
t||ƒƒƒtt||ƒƒƒqSW|j
tt
tt|ƒƒ|j
tt	t
tt|ƒƒƒ|j
tt	t
tt|ƒƒƒq4WdS(
Ni
iièiiiÐi˜i(ii(R RçRTRRVRZRRSR-RR¹RRoR.R/RÉRXR^RY(RRfR§((s//usr/local/lib/python2.7/test/test_itertools.pyR»rs:8"cCsùxòtdƒtdƒtdƒd	tdddƒfD]½}xTttttttfD]:}|jt	t
t||ƒƒƒtt
||ƒƒƒqSW|jtt
tt|ƒƒ|jtt	t
tt|ƒƒƒ|jtt	t
tt|ƒƒƒq4WdS(
Ni
iièiiiÐi˜i(ii(R RçRTRRVRZRRSR-RR¼RRoR
R.R/RÉRXR^RY(RRfR§((s//usr/local/lib/python2.7/test/test_itertools.pyR½zs:8"cCsxddtdƒd	tdddƒfD]î}xŽttttttfD]t}|jt	t
||ƒƒƒt||ƒƒƒ|jt	t
||ƒ||ƒƒƒt||ƒ||ƒƒƒqGW|jt
t
t|ƒƒ|jt
t	t
t|ƒƒƒ|jtt	t
t|ƒƒƒq(WdS(
NR\R*ièR]g333333ó?iÐi˜i(R]g333333ó?(R RçRTRRVRZRRSR-RR¾R€R.R/RÉRXR^RY(RRfR§((s//usr/local/lib/python2.7/test/test_itertools.pyR‚s..DcCsxddtdƒd	tdddƒfD]î}xŽttttttfD]t}|jt	t
||ƒƒƒt||ƒƒƒ|jt	t
||ƒ||ƒƒƒt||ƒ||ƒƒƒqGW|jt
t
t|ƒƒ|jt
t	t
t|ƒƒƒ|jtt	t
t|ƒƒƒq(WdS(
NR\R*ièR]g333333ó?iÐi˜i(R]g333333ó?(R RçRTRRVRZRRSR-RRÌR€R.R/RÉRXR^RY(RRfR§((s//usr/local/lib/python2.7/test/test_itertools.pyRÔ‹s..Dc	CsEx>tdƒtdƒtdƒd	tdddƒfD]	}x ttttttfD]†}|jt	t
t||ƒƒƒtt||ƒƒƒ|jt	t
t
j||ƒ||ƒƒƒtt
j||ƒ||ƒƒƒqSW|jtt
tt|ƒƒ|jtt	t
tt|ƒƒƒ|jtt	t
tt|ƒƒƒq4WdS(
Ni
iidiiii2i(ii(R RçRTRRVRZRRSR-RRôRRPRRõR.R/RÉRXR^RY(RRfR§((s//usr/local/lib/python2.7/test/test_itertools.pyR÷”s:4P"c	CsýxöddtdƒdtdddƒfD]Í}xdttttttfD]J}|jt	t
||ƒd	dd
ƒƒt	||ƒƒd	dd
…ƒqGW|jt
t
t|ƒdƒ|jt
t	t
t|ƒdƒƒ|jtt	t
t|ƒdƒƒq(WdS(
Nt12345R*ièR]g333333ó?iÐi˜iiii
(R]g333333ó?(R RçRTRRVRZRRSR-RRRFR.R/RÉRXR^RY(RRfR§((s//usr/local/lib/python2.7/test/test_itertools.pyRs.H"c	Cs xtdƒtdƒtdƒd	tdddƒfD]ä}xrttttttfD]X}t||ƒ}|j	t
ttj
||ƒƒƒttj
||ƒ||ƒƒƒqSW|jtttj
t|ƒƒ|jtt
ttj
t|ƒƒƒ|jtt
ttj
t|ƒƒƒq4WdS(
Ni
iidiiii2i(ii(R RçRTRRVRZRRSR€R-RRùRRõRPR.R/RÉRXR^RY(RRfR§tss((s//usr/local/lib/python2.7/test/test_itertools.pyRú¥s:G%cCs$xtdƒtdƒtdƒd	tdddƒfD]è}xttttttfD]e}g}x1||ƒD]#}t|ƒs‚Pn|j	|ƒqlW|j
ttt||ƒƒƒ|ƒqSW|j
tttt|ƒƒ|j
ttttt|ƒƒƒ|j
ttttt|ƒƒƒq4WdS(
Ni
iièiiiÐi˜i(ii(R RçRTRRVRZRRSRR¯R-RRR.R/RÉRXR^RY(RRfR§ttgtR³((s//usr/local/lib/python2.7/test/test_itertools.pyR®s:)"cCs-x&tdƒtdƒtdƒd	tdddƒfD]ñ}xˆttttttfD]n}g}x:||ƒD],}|r‹t|ƒr‹qln|j	|ƒqlW|j
ttt||ƒƒƒ|ƒqSW|j
tttt|ƒƒ|j
ttttt|ƒƒƒ|j
ttttt|ƒƒƒq4WdS(
Ni
iièiiiÐi˜i(ii(R RçRTRRVRZRRSR
R¯R-RRR.R/RÉRXR^RY(RRfR§ReR³((s//usr/local/lib/python2.7/test/test_itertools.pyRºs:)"cCsx
ddtdƒd
tdddƒfD]ä}x|ttttttfD]b}t||ƒƒ\}}|j	t
|ƒt
||ƒƒƒ|j	t
|ƒt
||ƒƒƒqGW|jttt
|ƒƒ|jtt
tt|ƒƒd	ƒ|jtt
tt|ƒƒd	ƒq(WdS(NR\R*ièR]g333333ó?iÐi˜ii(R]g333333ó?(R RçRTRRVRZRRSRR-RR.R/RÉRXR^RY(RRfR§tit1tit2((s//usr/local/lib/python2.7/test/test_itertools.pyRÆs."&#(RRR1R|RîRœR¸R»R½RÂRÔR÷RRúRRR(((s//usr/local/lib/python2.7/test/test_itertools.pyR[Es																				tLengthTransparencycBseZd„ZRS(cCsLddlm}|j|tddƒƒdƒ|jt|tdƒƒdS(Niÿÿÿÿ(R7i2(ttest.test_iterlenR7R-RYRFR.R/(RR7((s//usr/local/lib/python2.7/test/test_itertools.pyRòÒs(RRRò(((s//usr/local/lib/python2.7/test/test_itertools.pyRhÐstRegressionTestscBs5eZd„Zd„Zd„Zd„Zd„ZRS(csNd„}‡fd†}g‰|d	|d
ƒttƒ}|jˆ|ƒdS(Ncsmdg‡‡fd†}t|ƒ}t|ƒ|dd+t||ƒ}t|gt|ƒŒ‰ˆjƒdS(Nics!|r|2ˆˆjƒƒn|S(N(R(R“R(R(tz(s//usr/local/lib/python2.7/test/test_itertools.pyR§às(RRôR¾R7R(ttuple1R(ttuple2R§titemstgen((R(Rks//usr/local/lib/python2.7/test/test_itertools.pyt
mutatingtupleÜscs|attƒˆ(dS(N(tTR(Rs(R(s//usr/local/lib/python2.7/test/test_itertools.pyR(ësiiiiii(iii(iii(RRqR-(RRpR(tsecond((Rs//usr/local/lib/python2.7/test/test_itertools.pyttest_sf_793826Ùs	cs܇fd†}‡fd†}g‰|jttt|ƒ|tƒƒƒ|jˆddgƒg‰|jttt|ƒ|tƒƒƒ|jˆddgƒg‰|jttt|ƒƒƒ|jˆddgƒdS(Nc3s6ˆjdƒdVˆjdƒt‚ˆjdƒdS(Niii(R¯tAssertionError((thist(s//usr/local/lib/python2.7/test/test_itertools.pytgen1ús


c3s2ˆjdƒdVˆjdƒ|r.t‚ndS(Niii(R¯R(R(Ru(s//usr/local/lib/python2.7/test/test_itertools.pytgen2s


ii(R.RtRR,RR-R°R›(RRvRw((Rus//usr/local/lib/python2.7/test/test_itertools.pyttest_sf_950057ös%%cCsCtjd„tdƒDƒƒ}|jtƒt|ƒWdQXdS(Ncss|]}dVqdS(N(((R4tunused((s//usr/local/lib/python2.7/test/test_itertools.pys	<genexpr>si€–˜(R,R2RçR.RR(RR$((s//usr/local/lib/python2.7/test/test_itertools.pyt"test_long_chain_of_empty_iterablesscsC‡fd†}x-ttdƒ|ƒD]\}‰tˆƒq%WdS(Ncs#|dkrtˆƒn|dkS(Nii(R(R(R~(s//usr/local/lib/python2.7/test/test_itertools.pyR(s
i
(R]R R(RR(R`((R~s//usr/local/lib/python2.7/test/test_itertools.pyttest_issue30347_1s"csfdtf‡‡fd†ƒY‰tttdƒˆƒƒd‰x!tdƒD]}tˆdƒqKWdS(NtKcs2eZdZd„Z‡‡fd†Zd„ZRS(icSsdS(N((RRa((s//usr/local/lib/python2.7/test/test_itertools.pyRØ'scs2ˆjd7_ˆjdkr.tˆdƒntS(Ni(R
RRFR°(Rtother(R|R§(s//usr/local/lib/python2.7/test/test_itertools.pyt__eq__)scSsdS(Ni((R((s//usr/local/lib/python2.7/test/test_itertools.pyt__hash__.s(RRR
RØR~R((R|R§(s//usr/local/lib/python2.7/test/test_itertools.pyR|%s	i
ii(RÜRR]R RF(RR;((R|R§s//usr/local/lib/python2.7/test/test_itertools.pyttest_issue30347_2$s(RRRsRxRzR{R€(((s//usr/local/lib/python2.7/test/test_itertools.pyRj×s
				tSubclassWithKwargsTestcBseZd„ZRS(cs“xŒtttttttttt	t
tfD]`‰dˆf‡fd†ƒY}y|ddƒWq+tk
rŠ}|j
d|jdƒq+Xq+WdS(NtSubclasscseZd‡fd†ZRS(csˆj||ŒdS(N(RØ(RtnewargR(tcls(s//usr/local/lib/python2.7/test/test_itertools.pyRØ;sN(RRRFRØ((R„(s//usr/local/lib/python2.7/test/test_itertools.pyR‚:sRƒisdoes not take keyword argumentsi(RYR¾R¹R¼R,RôRùRRRR›R{R/tassertNotInR(RR‚terr((R„s//usr/local/lib/python2.7/test/test_itertools.pyttest_keywords_in_subclass6s(RRR‡(((s//usr/local/lib/python2.7/test/test_itertools.pyR5ssŸ Doctest for examples in the library reference: libitertools.tex


>>> amounts = [120.15, 764.05, 823.14]
>>> for checknum, amount in izip(count(1200), amounts):
...     print 'Check %d is for $%.2f' % (checknum, amount)
...
Check 1200 is for $120.15
Check 1201 is for $764.05
Check 1202 is for $823.14

>>> import operator
>>> for cube in imap(operator.pow, xrange(1,4), repeat(3)):
...    print cube
...
1
8
27

>>> reportlines = ['EuroPython', 'Roster', '', 'alex', '', 'laura', '', 'martin', '', 'walter', '', 'samuele']
>>> for name in islice(reportlines, 3, None, 2):
...    print name.title()
...
Alex
Laura
Martin
Walter
Samuele

>>> from operator import itemgetter
>>> d = dict(a=1, b=2, c=1, d=2, e=1, f=2, g=3)
>>> di = sorted(sorted(d.iteritems()), key=itemgetter(1))
>>> for k, g in groupby(di, itemgetter(1)):
...     print k, map(itemgetter(0), g)
...
1 ['a', 'c', 'e']
2 ['b', 'd', 'f']
3 ['g']

# Find runs of consecutive numbers using groupby.  The key to the solution
# is differencing with a range so that consecutive numbers all appear in
# same group.
>>> data = [ 1,  4,5,6, 10, 15,16,17,18, 22, 25,26,27,28]
>>> for k, g in groupby(enumerate(data), lambda t:t[0]-t[1]):
...     print map(operator.itemgetter(1), g)
...
[1]
[4, 5, 6]
[10]
[15, 16, 17, 18]
[22]
[25, 26, 27, 28]

>>> def take(n, iterable):
...     "Return first n items of the iterable as a list"
...     return list(islice(iterable, n))

>>> def enumerate(iterable, start=0):
...     return izip(count(start), iterable)

>>> def tabulate(function, start=0):
...     "Return function(0), function(1), ..."
...     return imap(function, count(start))

>>> import collections
>>> def consume(iterator, n=None):
...     "Advance the iterator n-steps ahead. If n is None, consume entirely."
...     # Use functions that consume iterators at C speed.
...     if n is None:
...         # feed the entire iterator into a zero-length deque
...         collections.deque(iterator, maxlen=0)
...     else:
...         # advance to the empty slice starting at position n
...         next(islice(iterator, n, n), None)

>>> def nth(iterable, n, default=None):
...     "Returns the nth item or a default value"
...     return next(islice(iterable, n, None), default)

>>> def all_equal(iterable):
...     "Returns True if all the elements are equal to each other"
...     g = groupby(iterable)
...     return next(g, True) and not next(g, False)

>>> def quantify(iterable, pred=bool):
...     "Count how many times the predicate is true"
...     return sum(imap(pred, iterable))

>>> def padnone(iterable):
...     "Returns the sequence elements and then returns None indefinitely"
...     return chain(iterable, repeat(None))

>>> def ncycles(iterable, n):
...     "Returns the sequence elements n times"
...     return chain(*repeat(iterable, n))

>>> def dotproduct(vec1, vec2):
...     return sum(imap(operator.mul, vec1, vec2))

>>> def flatten(listOfLists):
...     return list(chain.from_iterable(listOfLists))

>>> def repeatfunc(func, times=None, *args):
...     "Repeat calls to func with specified arguments."
...     "   Example:  repeatfunc(random.random)"
...     if times is None:
...         return starmap(func, repeat(args))
...     else:
...         return starmap(func, repeat(args, times))

>>> def pairwise(iterable):
...     "s -> (s0,s1), (s1,s2), (s2, s3), ..."
...     a, b = tee(iterable)
...     for elem in b:
...         break
...     return izip(a, b)

>>> def grouper(n, iterable, fillvalue=None):
...     "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
...     args = [iter(iterable)] * n
...     return izip_longest(fillvalue=fillvalue, *args)

>>> def roundrobin(*iterables):
...     "roundrobin('ABC', 'D', 'EF') --> A D E B F C"
...     # Recipe credited to George Sakkis
...     pending = len(iterables)
...     nexts = cycle(iter(it).next for it in iterables)
...     while pending:
...         try:
...             for next in nexts:
...                 yield next()
...         except StopIteration:
...             pending -= 1
...             nexts = cycle(islice(nexts, pending))

>>> def powerset(iterable):
...     "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
...     s = list(iterable)
...     return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))

>>> def unique_everseen(iterable, key=None):
...     "List unique elements, preserving order. Remember all elements ever seen."
...     # unique_everseen('AAAABBBCCDAABBB') --> A B C D
...     # unique_everseen('ABBCcAD', str.lower) --> A B C D
...     seen = set()
...     seen_add = seen.add
...     if key is None:
...         for element in iterable:
...             if element not in seen:
...                 seen_add(element)
...                 yield element
...     else:
...         for element in iterable:
...             k = key(element)
...             if k not in seen:
...                 seen_add(k)
...                 yield element

>>> def unique_justseen(iterable, key=None):
...     "List unique elements, preserving order. Remember only the element just seen."
...     # unique_justseen('AAAABBBCCDAABBB') --> A B C D A B
...     # unique_justseen('ABBCcAD', str.lower) --> A B C A D
...     return imap(next, imap(itemgetter(1), groupby(iterable, key)))

This is not part of the examples but it tests to make sure the definitions
perform as purported.

>>> take(10, count())
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> list(enumerate('abc'))
[(0, 'a'), (1, 'b'), (2, 'c')]

>>> list(islice(tabulate(lambda x: 2*x), 4))
[0, 2, 4, 6]

>>> it = iter(xrange(10))
>>> consume(it, 3)
>>> next(it)
3
>>> consume(it)
>>> next(it, 'Done')
'Done'

>>> nth('abcde', 3)
'd'

>>> nth('abcde', 9) is None
True

>>> [all_equal(s) for s in ('', 'A', 'AAAA', 'AAAB', 'AAABA')]
[True, True, True, False, False]

>>> quantify(xrange(99), lambda x: x%2==0)
50

>>> a = [[1, 2, 3], [4, 5, 6]]
>>> flatten(a)
[1, 2, 3, 4, 5, 6]

>>> list(repeatfunc(pow, 5, 2, 3))
[8, 8, 8, 8, 8]

>>> import random
>>> take(5, imap(int, repeatfunc(random.random)))
[0, 0, 0, 0, 0]

>>> list(pairwise('abcd'))
[('a', 'b'), ('b', 'c'), ('c', 'd')]

>>> list(pairwise([]))
[]

>>> list(pairwise('a'))
[]

>>> list(islice(padnone('abc'), 0, 6))
['a', 'b', 'c', None, None, None]

>>> list(ncycles('abc', 3))
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

>>> dotproduct([1,2,3], [4,5,6])
32

>>> list(grouper(3, 'abcdefg', 'x'))
[('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'x', 'x')]

>>> list(roundrobin('abc', 'd', 'ef'))
['a', 'd', 'e', 'b', 'f', 'c']

>>> list(powerset([1,2,3]))
[(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]

>>> all(len(list(powerset(range(n)))) == 2**n for n in range(18))
True

>>> list(powerset('abcde')) == sorted(sorted(set(powerset('abcde'))), key=len)
True

>>> list(unique_everseen('AAAABBBCCDAABBB'))
['A', 'B', 'C', 'D']

>>> list(unique_everseen('ABBCcAD', str.lower))
['A', 'B', 'C', 'D']

>>> list(unique_justseen('AAAABBBCCDAABBB'))
['A', 'B', 'C', 'D', 'A', 'B']

>>> list(unique_justseen('ABBCcAD', str.lower))
['A', 'B', 'C', 'A', 'D']

t
libreftestcCsÀttttttttf}tj	|Œ|r¥t
tdƒr¥ddl}dgd}xAtt|ƒƒD]-}tj	|Œ|jƒtjƒ||<qlW|GHntjtjt|ƒdS(Ntgettotalrefcountiÿÿÿÿi(R"R[RJRjRhRR/RCRtrun_unittestthasattrR†tgcRFRçR7tcollectR‰trun_doctesttmodulesR(tverbosettest_classesRŒtcountsR
((s//usr/local/lib/python2.7/test/test_itertools.pyt	test_mainDs		



t__main__R(6R-ttestRt	itertoolsRûtdecimalRt	fractionsRR†RRèRŠRŒt	functoolsRR"tImportErrorRFtMAX_Py_ssize_tR‚tminsizeRR	RRR
RRRR!tTestCaseR"R/RCRJRSRTRRVRÉRXRYRZRR[RhRjRRˆt__test__R“RR°(((s//usr/local/lib/python2.7/test/test_itertools.pyt<module>sh


									ÿÿÿãR*a	
	
		‹^ÿ


Zerion Mini Shell 1.0