python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_itertools.cpython-311.pyc

eddlZddlZddlmZddlmZddlTddlZddlm	Z	ddl
mZddlZddl
Z
ddlZddlZddlmZddlZddlZddlZddlZejZedz
Zd	Zd
ZdZdZd
ZdZdZdZ GddZ!dZ"dZ#dZ$dZ%dZ&dZ'de(ej)dzDZ*Gddej+Z,Gddej+Z-Gddej+Z.Gd d!ej+Z/d"Z0Gd#d$Z1Gd%d&Z2Gd'd(Z3Gd)d*Z4Gd+d,Z5Gd-d.Z6Gd/d0Z7d1Z8Gd2d3ej+Z9Gd4d5ej+Z:Gd6d7ej+Z;Gd8d9ej+Z<ej=Gd:d;ej+Z>d<Z?e@d=krejAdSdS)>N)support)threading_helper)*)Decimal)Fraction)reducec.tt|SN)listzipargss G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_itertools.pylziprsT
cd|zS)zTest function of one argumentxs roneargrsQ3Jrct)z"Test function that raises an error)
ValueErrorrs rerrfuncrs
rc#KdD]}|VdS)zNon-restartable source sequencerr	rNr)is rgen3r!s*
rc|dzdkS)Test predicaterrrrs risEvenr"&Q36Mrc|dzdkS)r!rr	rrs risOddr%*r#rc|Srrrs rtupleizer'.sKrc#6Kt|D]}|VdSrrange)nrs  riranger,1s0
1XXrceZdZdZdZdZdS)StopNowz"Class emulating an empty iterable.c|Srrselfs r__iter__zStopNow.__iter__7rctr
StopIterationr0s r__next__zStopNow.__next__9rN)__name__
__module____qualname____doc__r2r7rrrr.r.5s8((rr.c<tt||S)zHConvenience function for partially consuming a long of infinite iterablerislice)r+seqs  rtakerA<ssArc8ttj|dSNr	)roperatormuliterables rprodrH@s(,!,,,rcBttd|dzS)	Factorialr	)rHr*)r+s rfactrKCsa1

rc|dSNrrrs rtestRrPHQ4Krc|dSNrrrNs rtestR2rTKrQrc|dkS)N
rrs rundertenrWNsR4Krcg|]}|fdS)cPtjtj||Sr)pickleloadsdumps)sprotos  r<lambda>z<listcomp>.<lambda>QsV\!U5K5K(L(Lrr).0r^s  r
<listcomp>raQs7BBB"'LLLBBBrceZdZd?dZdZdZdZdZd	Zd
Z	e
jdZe
j
dd
ZdZe
jdZe
j
ddZdZe
jdZe
j
ddZdZdZdZdZdZdZdZdZdZdZdZdZ e
j
dd Z!d!Z"e
j
dd"Z#d#Z$d$Z%d%Z&d&Z'd'Z(d(Z)d)Z*e
jd*Z+e
j
dd+Z,d,Z-d-Z.d.Z/d/Z0d0Z1d1Z2d2Z3d3Z4d4Z5d5Z6d6Z7d7Z8e9j:d8Z;d9Z<e
j=d:Z>e
j=d;Z?e
j=d<Z@e
j=d=ZAe
j=d>ZBdS)@TestBasicOpsr	Ncdfd	tj||}tj|}|t	|t	|||}	}|||	|r!|}
|||
tj|}d}	t|D]}
t
||dz
}n#t$rYnwxYwtj||}tj|}||}	}|||	|r+||d}
|||
dSdS)zITest that an iterator is the same after pickling, also when part-consumedrcdkrtdt|tr|S	tt	|}n#t
$r|cYSwxYwfd|DS)NrVzinfinite recursion encounteredc.g|]}|dzS)r	r)r`eexpandrs  rraz;TestBasicOps.pickletest.<locals>.expand.<locals>.<listcomp>bs'...qFF1acNN...r)RuntimeError
isinstancestrrr?	TypeError)itrlristops ` rriz'TestBasicOps.pickletest.<locals>.expandXs2vv"#CDDD"c""
	
D))**


			
.....A....sAAAr	Nr)rZr\r[assertEqualtyper*nextr6)r1protocolrnrprAcomparedumpi2abci3tookri4ris   `           @r
pickletestzTestBasicOps.pickletestVs
	/
	/
	/
	/
	/
	/
	/|B))
\$

b488,,,vbzz66"::1A	#wAQ"""\$

	4[[

R	
			D	|B))
\$

vbzz66"::1A	$wtuu~&&AQ"""""	$	$s	&C00
C=<C=c
	|tttdgd|tttdgdtt
ttfD]j}|ttt|tdtt|gdk|ttdgd|ttgg|ttdgdg|	tttddd|	tt|	tttd	|	tttd
gggd}|tt|tgd|tt|tgd
|tt|tjgd|	t5tt|tdddn#1swxYwYtt jd
zD]d}||ttd||ttdde|ttgddgd|ttgddgd|ttgddg|	t5ttddgdddddS#1swxYwYdS)NrV)
rr	rV$-rFabc)ryabrrrr	)
r	rrrrrdr	r)
rrrrrrrrrr)
rrrrrrrrrr)
riirrrrr)initial)rVrr	)rVrrd)rnst)rrr
accumulater*intcomplexrrmapassertRaisesrmminmaxrDrEchrrZHIGHEST_PROTOCOLr)r1typr]r^s    rtest_accumulatezTestBasicOps.test_accumulatesjr3344>>>	@	@	@j%))<<<==>>>	@	@	@(2	F	FCZCr 3 34455SBBBCCDD
F
F
F
F	
j//002D2D2DEEEjnn--r222j!oo..444)ZrAqAAA)Z000)Z599===)T:q"g+>+>???***jC0011777	9	9	9jC0011777	9	9	9jHL99::???	A	A	A


y
)
)	%	%As##$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%62Q677	E	EEOOE:eBii#8#8999OOE:eBii#C#C#CDDDDjTBBBCC\\\RRRjSAAABBDXDXDXYYYjS999::SEBBB


y
)
)	,	,RHc**+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,s$#MM	M R44R8;R8c
2d}t|fD]}|t|ddtd|t|dtd|t|dg|td|ddtd|t
t|dd	
dS)
Nc7&K|D]}|D]}|VdS)zPure python version in the docsNr)	iterablesrnelements   rchain2z'TestBasicOps.test_chain.<locals>.chain2s>
"
"!""G!MMMM"
"
"rrdefabcdefrdabcdrr)chainrrrrArrm)r1rr{s   r
test_chainzTestBasicOps.test_chains	"	"	"	7	7AT!!E5//22DNNCCCT!!E((^^T%[[999T!!B%%[["---T!QQue__55tF||DDDiaa1gg6666	7	7rc	|ttddgtd|ttdgtd|ttdgg|t	dtddgtd|tttddgdS)	Nrrrrrdrrr)rrrr
from_iterablerArrmr0s rtest_chain_from_iterablez%TestBasicOps.test_chain_from_iterablese115%.AABBDNNSSSe115'::;;T%[[IIIe112$7788"===a!4!4eU^!D!DEEtF||TTT)T5+>+>1v+F+FGGGGGrctjgtzD]a}tdd}|t||td|t
|d|t||td|t|tdg|td|tddtd|tt
|td	d
cttjdzD]5}|
|tddtd6dS)
Nrrrrybcdefrrdrrrr	rv)copydeepcopy
picklecopiersrrrrrtrArrmr*rZrr)r1operrnr^s    rtest_chain_reduciblez!TestBasicOps.test_chain_reducibles]Om3	B	BDue$$BT$$r((^^T(^^<<<T"XXs+++T$$r((^^T']];;;T$$uRyy//22B777T!TT%u*=*=%>%>??fNNNittE!QKK/@/@AAAA62Q677	P	PEOOE5#6#6XOOOOO	P	Prcf|ttjd|ttjg|ttjd|ttjgf|ttjt	ggft}|t	ddgf|t
|gdt}|t	ddgt	dgf|t
|gddS)Nrrrr)ryrzr{drhfghi)rryrzr{rrhr)rrmr__setstate__iterrrrr1rns  rtest_chain_setstatez TestBasicOps.test_chain_setstatesS)UWW%92>>>)UWW%92>>>)UWW%91===)UWW%9B5AAA)UWW%9DHHb>JJJ
WW
uen--/000b#A#A#ABBB
WW
uen--tUG}}=>>>b#H#H#HIIIIIrc	
|ttd|ttddd|ttd|ttdddgtzD]i}|t
|tddg|t
|tddgdtdd}t||t
||gd	|t
|ttd
dgdttd
d}t||t
||gd
kd}d}d}tdD]}dt|Dt|dzD]}t
t|}|t|||krdn1t|t|zt||z
z|t|tt|||t||D]
|t
||tt
||t

t
|
tfd
D|t


fdD||t
||||t
||||t
||ttjdzD]&}	||	t|'dS)Nrrr	c|Srrrys rr_z0TestBasicOps.test_combinations.<locals>.<lambda>Ar ABCDABrCrDrrrrrr)rrrrrrdrrrr	rrrrr	rr)rrrc3Kt|t}||krdStt|}tfd|DV	t	t|D]}||||z|z
krndS||xxdz
cc<t|dz|D]}||dz
dz||<tfd|DV)%Pure python version shown in the docsNc3(K|]}|V
dSrrr`rpools  r	<genexpr>zHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>'11AQ111111rr	c3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>'55DG555555rtuplelenrr*reversed)rGrOr+indicesrjrs      @r
combinations1z5TestBasicOps.test_combinations.<locals>.combinations1s%??DD		A1uu588nnG111111111111	
6!%((++AqzQUQY../F


a


qsA22A!(1!1GAJJ5555W55555555	
6rc3Kt|t}tt||D]?}t	|t|krtfd|DV@dS)rc3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_combinations.<locals>.combinations2.<locals>.<genexpr>'99AQ999999rN)rrpermutationsr*sortedrrGrOr+rrs    @r
combinations2z5TestBasicOps.test_combinations.<locals>.combinations2s??DD		A'a!44
:
:'??d7mm33999999999999
:
:rc3Kt|t}tt||D]?}tt	||krtfd|DV@dS)zPure python version from cwr()c3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_combinations.<locals>.combinations3.<locals>.<genexpr>rrN)rrcombinations_with_replacementr*setrs    @r
combinations3z5TestBasicOps.test_combinations.<locals>.combinations3s??DD		A8q1EE
:
:s7||$$))999999999999
:
:rrcg|]
}d|zdz
Srrr`rs  rraz2TestBasicOps.test_combinations.<locals>.<listcomp> ///ac"f///rrc3 K|]}|vV	dSrrr`rhvaluess  rrz1TestBasicOps.test_combinations.<locals>.<genexpr>''?'?V'?'?'?'?'?'?rcg|]}|v|	Srrr`rhr{s  rraz2TestBasicOps.test_combinations.<locals>.<listcomp>%B%B%BA166a666r)rrmcombinationsrrrrrrtr*rrKrr
assertTrueallrZrr)r1optestIntermediaterrrr+rOresultr^r{rs          @@rtest_combinationszTestBasicOps.test_combinationss)\5999)\5!Q???)\4888*lE2>>>:,.	:	:BT""\%%<%<"="=>>CCCT""\&!%<%<"="=>>___
a
a
a+FA66!"""T""%5"6"677TTT
V
V
V
T""\%((A%>%>"?"?@@AAA
C
C
C+E!HHa88!"""T""%5"6"677888
:
:
:
:	6	6	6&	:	:	:	:	:	:q	D	DA//eAhh///F1Q3ZZ
D
Dl615566  V1Q33aaDGGd1gg<MPTUVWXUXPYPY<YZZZ  Vc#f++.>.>???  888DDA$$SVVQ///$$SQ[[!444$$T!WWfQii888OOC'?'?'?'?Q'?'?'?$?$?@@@$$T!WW%B%B%B%B%B%B%BDDDD  mmFA.F.F)G)GHHH  mmFA.F.F)G)GHHH  mmFA.F.F)G)GHHH"6#:Q#>??DDEOOE<+B+BCCCCD!
D	D	Drc|ttf5tddddddS#1swxYwYdS)NAAi )r
OverflowErrorMemoryErrorrr0s rtest_combinations_overflowz'TestBasicOps.test_combinations_overflow"s



{;
<
<	&	&u%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&AAAz"tuple reuse is specific to CPythoncd|tttttddd|ttttttddddSNabcderr	)rrrrridrassertNotEqualrr0s rtest_combinations_tuple_reusez*TestBasicOps.test_combinations_tuple_reuse(SRgq)A)A!B!BCCDDaHHHCCDgq1I1I,J,J$K$K L LMMqQQQQQrc
t}|t|d|t|ddd|t|d|t|dddgtzD]}|t
||ddgd|dd}t||t
||gdd	}d
}d}tdD]}d
t|Dt|dzD]}t
||}	|t|	||||t|	tt|	||	t|	t
t|}
|dks|dkr||	|
n3|
t|	t|
k|	D]
|t
|dt
D}|t|tt||t

t
|
tfd
D||
fdD||	t
||||	t
||tt jdzD]"}||||#dS)Nrrr	rc|Srrrs rr_zATestBasicOps.test_combinations_with_replacement.<locals>.<lambda>4rrABC)rrrrrrrrr)rrrrrc3fKt|t}|s|rdSdg|z}tfd|DV	tt|D]}|||dz
krndS||dzg||z
z||d<tfd|DVg)rNrc3(K|]}|V
dSrrrs  rrzPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>Errr	c3(K|]}|V
dSrrrs  rrzPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>Mrr)rrrr*)rGrOr+rrrs     @rcwr1z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr1=s??DD		A

cAgG111111111111
6!%((++AqzQU**+F&qzA~.!a%85555W55555555
6rc3Kt|t}tt||D]?}t	|t|krtfd|DV@dS)rrepeatc3(K|]}|V
dSrrrs  rrzPTestBasicOps.test_combinations_with_replacement.<locals>.cwr2.<locals>.<genexpr>UrrN)rrproductr*rrrs    @rcwr2z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr2Os??DD		A"588A666
:
:'??d7mm33999999999999
:
:rc|s|rdndSt||zdz
t|zt|dz
zSNrr	)rK)r+rOs  rnumcombszATestBasicOps.test_combinations_with_replacement.<locals>.numcombsWsF
%}qq1$!A;;a($qs))33rrcg|]
}d|zdz
Srrrs  rrazCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>]rrrcg|]\}}|Srr)r`kvs   rrazCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>ms666CAaa666rc3 K|]}|vV	dSrrrs  rrzBTestBasicOps.test_combinations_with_replacement.<locals>.<genexpr>prrcg|]}|v|	Srrrs  rrazCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>rrr)rrrmrrrrrrtr*rrrrrgroupbyrrZrr)r1cwrrrrr r#r+rOr
regular_combsnorunsr^r{rs             @@r"test_combinations_with_replacementz/TestBasicOps.test_combinations_with_replacement-s'+)S%000)S%A666)S$///*c5"555:,.	V	VBT""SS]]"3"344___
a
a
a"s5!}}!"""T""%5"6"677TTT
V
V
V
V	6	6	6$	:	:	:	4	4	4
q	:	:A//eAhh///F1Q3ZZ
:
:cc&!nn--  Vhhq!nn===  Vc#f++.>.>???  888 $\&!%<%< = =
66Q!VV$$V];;;;OOCKK3}3E3E$EFFFDDA$$SVVQ///6671::666F$$S[[#c&kk2B2BCCC$$T!WWfQii888OOC'?'?'?'?Q'?'?'?$?$?@@@$$V%B%B%B%B%B%B%BDDDD  dd61oo)>)>???  dd61oo)>)>???"6#:Q#>??::EOOE33va==9999:1
:	:	:rc|ttf5tddddddS#1swxYwYdS)Nr@)rrrrr0s r+test_combinations_with_replacement_overflowz8TestBasicOps.test_combinations_with_replacement_overflowys



{;
<
<	7	7)$666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7r	cbt}|ttt	t
|ddd|ttt	t
t|ddddSr)rrrrrrr
rr)r1r+s  r.test_combinations_with_replacement_tuple_reusez;TestBasicOps.test_combinations_with_replacement_tuple_reuses+SRWa!9!9::;;Q???CCDWa,A,A$B$B C CDDaHHHHHrcv|tt|ttddd|ttd|ttdd|ttddg|ttdd|ttt
ddgddd	}dd
}t
dD]}dt
|Dt
|dzD]U}tt|}|t|||krd
n!t|t||z
z|t|tt|||t||D]}|t|||tt|||tfd|D||t||||t||||kra||ttd||ttt
tjdzD]&}||t|'WdS)Nrrr	rrr]r)rr	rrr	rr	r)rr)rr	c3Kt|t}||n|}||krdStt|}tt||z
dz|dzddd}tfd|d|DV|rt	t|D]}||xxdzcc<||dkr)||dzd|||dzz||d<||z
||<G||}||||c||<||<tfd|d|DVndS|dSdS)rNr	c3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>s'55AQ555555rrc3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>s'#A#ADG#A#A#A#A#A#Arr)rGrOr+rcyclesrrrs       @r
permutations1z5TestBasicOps.test_permutations.<locals>.permutations1s??DD		AYAA1uu588nnG%!Aqs++,,TTrT2F5555!55555555
!%((++A1IIINIIIayA~~&-acddmga!en&D$%Eq		"1I291"+wqz/
GQBK##A#A#A#AWRaR[#A#A#AAAAAAF




rc3Kt|t}||n|}tt||D]?}tt	||krtfd|DV@dS)rNrc3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_permutations.<locals>.permutations2.<locals>.<genexpr>rr)rrrr*rrs    @r
permutations2z5TestBasicOps.test_permutations.<locals>.permutations2s??DD		AYAA"588A666
:
:s7||$$))999999999999
:
:rrcg|]
}d|zdz
Srrrs  rraz2TestBasicOps.test_permutations.<locals>.<listcomp>rrrc3 K|]}|vV	dSrrrs  rrz1TestBasicOps.test_permutations.<locals>.<genexpr>rrr)rrmrrrrrr*rrKrrrrrZrr)	r1r>rAr+rOrpr^rs	        @rtest_permutationszTestBasicOps.test_permutationss|)\222)\5!Q???)\4888*lE2>>>l5"5566;;;)\5#>>>l588Q7788+U+U+U	W	W	W				0	:	:	:	:q	D	DA//eAhh///F1Q3ZZ
D
Dl615566  V1Q33aaDGGd1Q3ii<OPPP  Vc#f++.>.>???  888AAA$$SVVQ///$$SQ[[!444OOC'?'?'?'?Q'?'?'?$?$?@@@@  mmFA.F.F)G)GHHH  mmFA.F.F)G)GHHH66$$VT,vt2L2L-M-MNNN$$VT,v2F2F-G-GHHH"6#:Q#>??DDEOOE<+B+BCCCCD
D	D	Drc|ttf5tddddddS#1swxYwYdS)Nrr0)rrrrr0s rtest_permutations_overflowz'TestBasicOps.test_permutations_overflows



{;
<
<	%	%e$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%r	cd|tttttddd|ttttttddddSr)rrrrrr
rrrr0s rtest_permutations_tuple_reusez*TestBasicOps.test_permutations_tuple_reuserrctdD]}dd|}tdD]tt|}tt|}tt	|}tt|}|t||z|t||r8t|zdz
tzt|dz
zn|t||krdn!t|t|z
z|t||krdn1t|tzt|z
z||tt|||tt|||tt|||tt|||d|D||fd|D||d	|D||fd
|D||ttt|j|||ttt|j|||tt|t|zdS)NrABCDEFGrrr	rcRg|]$}t|t|k"|%Srrrr`ts  rraz3TestBasicOps.test_combinatorics.<locals>.<listcomp>s.&M&M&MQ&))T!WW:L:Lq:L:L:LrcTg|]$}tt|k"|%Srrrr`rOrOs  rraz3TestBasicOps.test_combinatorics.<locals>.<listcomp>s*'J'J'Ja3s1vv;;>>>>>rcRg|]$}t|t|k"|%SrrMrNs  rraz3TestBasicOps.test_combinatorics.<locals>.<listcomp>s.'N'N'Na6!99d1gg;M;M;M;M;MrcTg|]$}tt|k"|%SrrQrRs  rraz3TestBasicOps.test_combinatorics.<locals>.<listcomp>s*'I'I'Ia#c!ff++q.....r)
r*rrrrrrrrrKrrfilter__contains__)r1r+r]rHr+permcombrOs       @rtest_combinatoricszTestBasicOps.test_combinatoricsswq	E	EA"1"
A1XX
E
EGAa000118A>>??LA..//LA..//  TAqD111  SQR+_D1QKK$q'',A4!99,L,L]^Y^```  T1AA$q''D1II:MNNN  T1AA$q''DGG:KdSTUVSVii:WXXX  vc$ii'8'8999  fSXX&6&6777  vc$ii'8'8999  vc$ii'8'8999  &M&M$&M&M&MNNN  'J'J'J'J4'J'J'JKKK  'N'N4'N'N'NOOO  'I'I'I'I3'I'I'IJJJ  tF3s883H$,O,O'P'PQQQ  tF3t993I3,O,O'P'PQQQ  vc#hhT.B'C'CDDDD3
E	E	Erc|ttdgdtd|ttdgdtd|ttdgdtd|ttdgdtd|ttdgdtd	|ttd
gdtdd
}ttt
d|}ttd}|tt||gd|z|ttdt
d|ttt
dd|ttt
d|ttt
ddddgtzD]}dgdddfdgdddfdgdddfdgdd	dfd
gdddffD]\}}}}|t|t||t||t|t||t|t||}|rHt||t||t|dS)NABCDEFr	rr	rr	r	)data	selectorsACEF)rrrrrrr)r	r	r	r	r	r	r	rr	ACr)rr	r	r	r	r	BC'rr5r	rrc*tj|Sr)rrs rr_z,TestBasicOps.test_compress.<locals>.<lambda>sDIaLLrc*tj|Sr)rrrs rr_z,TestBasicOps.test_compress.<locals>.<lambda>s4=3C3CrCEFBCDEFr)rrrcompressrrrr*rrmrrt)r1r+r]r^rresult1result2rs        r
test_compresszTestBasicOps.test_compressshH


NNNOOQUV\Q]Q]^^^hx??@@$v,,OOOhx??@@$r((KKKhx??@@$x..QQQhx99::DJJGGGhummm<<==tDzzJJJ""6%((A#6#677''v77	htY7788'''A+FFF)XtU1XX>>>)XuQxx>>>)XuQxx888)XuQxx>>>)(*C*CD}T	P	PB===&%8==="b1===(G<777D#.


tS16

P

P1i'  bbty)Q)Q)Q&R&R!S!SUYZaUbUbccc  bb$	)B)B&C&C!D!Dd7mmTTT#+D)#<#< P)***$$T""-=*>*>%?%?gOOO

P	P	PrcL
|tdtgd|tdtdgd|tdtdtdddg|tdt	dtdd	d
g|tdt	dtddd
g|ttddd|ttd|tdttdz
tttdz
tdz|tdttdz
tttdz
tdz|tdtdgd|tdtdgd|tdttdtdtdtdg|tdttddtddtddtddgddz}|tdt|||dz|dzgtd}|t|dt||t|dtd}|t|dt||t|d |ttd!d"|ttd#d$|tttd#tt jdz
t jdzd%dd&dt jdz
t jdzfD]I}tt|}d'|}|||Jddtdz
tdzfD]}t|}|tt%j|||tt%j||tt(jdzD]%}||t|&tdtdzt!jdS)(Nrryrrzr	r{rr)ryrrzrd)r{rrrrrsr:)ryr:)rzr)ryrt)rzrrdryrVr
@)rug@g@
@)rvy@@1.1z2.1z3.1rr	zcount(3)zcount(4)z	count(-9)ig$@zcount(10.25)g$@zcount(10.0)r	count(%r))rrrcountrAr
rrmmaxsizerr*rrreprrtrsfloatsys__mod__rrrZrrexc_info)r1BIGINTr{rr1r2valuer^s        r
test_countzTestBasicOps.test_counts|eEGG,,.L.L.LMMMeE!HH--/M/M/MNNNaeE!HH!5!56688LMMMaU599!5!566H8MNNNaU599!5!566I8NOOO)UAq!444)UC000b%	"2"233eGAIwqy99::	<	<	<b%
"3"344eWHQJ
;;<<	>	>	>at--/A/A/ABBBaw002M2M2MNNNawu~~!6!677!%..'%..'%..I	K	K	Kax1~~!6!677"1a..(1a..(1a..I	K	K	KDav//&&(F1H1MNNN!HHa*---Qa*---"IIa+...Qa"%%%eEll++^<<<eDkk**M:::d5;;//00%888;,q.3;,q.#r1b#+a-QTQ\]^Q^_	%	%AeAhhB$$Q''BR$$$$GAIwqy0	5	5EeAT$)A,,//777T$-"2"233U;;;v6:;;
5
5uU||4444
5	aS\^^^^^rcB|tdtddgd|tdtddgd|tdtdgd|ttd	d
|tdtddgd|tdtdd
gd|tdtddgd|tdttdz
dtdttdz
tdzd|tdttdz
dtdttdz
tdzd|tdtdtdzttdddtdzzztdz|tdtddgd|tdtddgd|tdttdtdtdtdtdg|tdttddtd
dtddtddtddgd
dz}|tdt|d|d|zg|ttdtdd tgd!tdd}|t|d"t||t|d#td$d}|t|d%t||t|d%td$d&}|t|d't||t|d(|t|d(|ttd)dd*|ttd)d
d+|ttd)d,d-|ttdd,d.tdd,}|tt|t|tt|tt jdz
t jdzd/dddt jdz
t jdzfD]}t jdz
t jdzd/ddd
dt jdz
t jdzf	D]}tt||}|d
krd0|z}n	d1|d2|d3}|||tt"jd
zD]&}||t||'dS)4Nrrr)ryr)rzr)r{r)startstepr:)r)ro)rzr:)r{rryrzr)r)rzrrqr	)r)rzr)r{rdrrrrVrg?)rrug@rv)rrwy!@ rxz.1z1.2z1.3rrryg@)rVg)@g.@zcount(3, 5)zcount(8, 5)rzzcount(-9, 0)rtz
count(-9, -3)zcount(-12, -3)g%@zcount(10.5, 1.25)zcount(10.5)g?zcount(10.5, 1.0)zcount(10, 1.0)r{r|zcount(z, ))rrrr}rrmrAr~r*rrrrrtrsrrrrZrr)r1rr{rrrrr^s        rtest_count_with_stridez#TestBasicOps.test_count_with_strideAseE!AJJ//1O1O1OPPPeEq$9$9$9::777	9	9	9eErNNN33999	;	;	;)UC555eE!AJJ//1O1O1OPPPeE!AJJ//1O1O1OPPPeE!AJJ//1O1O1OPPPb%
A"6"677b%PR
T[\_T_abBcBc9d9deeeb%Q"7"788$r5'RTV]U]^aUacdCeCe:f:fgggar719!5!566eB1gai=(8'!)DDEE	G	G	Gaq$00...AAAaq'!2!2335I5I5IJJJawu~~wt}}!E!EFF!%..'%..'%..I	K	K	Kax!}}hqmm!D!DEE"1Q--"R(2b//J	L	L	LDaF!3!3!344q&!F(6KLLLd1eBnn5566=M=M=M8N8NOOO!QKKa-000Qa-000"aLLa.111Qa.111"bMMa/222Qa"2333a"2333eD$//002EFFFeD!nn--}===eD$//002DEEEeBoo..0@AAA"cNNd1gg,,,d1gg...;,q.3;,q.#r1b#+a-QTQ\]^Q^_
	8
	8A|A~|A~sB1b#+VW-Y\YdefYfg	
8	
8%1++&&66%/BB./QQ2B  R((("6#:Q#>??88EOOE5A;;77778	
8
	8
	8rc
|tdtdtd|ttdg|t
t|t
td|tt
ttdgddS)NrVr
abcabcabcarr)
rr	rrr	rrr	rr)rrrAcyclerrrmr?rr0s r
test_cyclezTestBasicOps.test_cyclexsb%,,//l1C1CDDDeBii"---)U+++)UA...fU466]]266779N9N9NOOOOOrctd|td|tdt	jt
dttj	dzD]}|tdtj
tj|t
dt|tdtj
tj|t
dttttj	dzD]%}||td&ttj	dzD])}td}t|fdtd	D}tj|}tj
|}|td
|t
dtd}t|fdtd
D}tj|}tj
|}|td
|t
d+dS)NrryrV
bcabcabcabr	
cabcabcabcrc.g|]}tSrrtr`rr{s  rraz7TestBasicOps.test_cycle_copy_pickle.<locals>.<listcomp>+++Qa+++rrrcdeabcdeabcdeabcdeabc.g|]}tSrrrs  rraz7TestBasicOps.test_cycle_copy_pickle.<locals>.<listcomp>rrr)rrrrtrArrrr*rZrr[r\rr)r1r^rn_rDrr{s      @rtest_cycle_copy_picklez#TestBasicOps.test_cycle_copy_pickles%LLa#&&&	
b$-"2"233T,5G5GHHH62Q677		ET"fl6<53I3I&J&JKK!,//
1
1
1GGGT"fl6<53I3I&J&JKK!,//
1
1
1GGGGGGG62Q677	1	1EOOE5<<000062Q677	H	HEgBb		A++++%((+++AQ&&AQAT"a[[$/E*F*FGGGgBb		A++++%((+++AQ&&AQAT"a[[$/E*F*FGGGG	H	Hrcgd}t|dksJ|D]<}tj|}|t	d|gd=dS)N)sHcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI0
tb.s?citertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaKtb.s>citertools
cycle
c__builtin__
iter
](KKKeRKbR]KaKb.s;citertools
cycle
cbuiltins
iter
](KKKeRKbR]KaKb.sH=	itertoolscyclebuiltinsiter](KKKeRKbR]KaKb.sHcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I1
tb.s?citertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hKtb.s>citertools
cycle
c__builtin__
iter
]q(KKKeRKbRhKb.s;citertools
cycle
cbuiltins
iter
]q(KKKeRKbRhKb.sG<	itertoolscyclebuiltinsiter](KKKeRKbRhKb.sIcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI00
tb.sAcitertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaI00
tb.s=citertools
cycle
c__builtin__
iter
](KKKeRKbR]Kab.s:citertools
cycle
cbuiltins
iter
](KKKeRKbR]Kab.sG<	itertoolscyclebuiltinsiter](KKKeRKbR]Kab.sIcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I01
tb.sAcitertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hI01
tb.s=citertools
cycle
c__builtin__
iter
]q(KKKeRKbRhb.s:citertools
cycle
cbuiltins
iter
]q(KKKeRKbRhb.sF;	itertoolscyclebuiltinsiter](KKKeRKbRhb.rrV)
rrr	rrr	rrr	r)rrZr[rrrA)r1	testcasesrOrns    rtest_cycle_unpickle_compatz'TestBasicOps.test_cycle_unpickle_compats~


	29~~####	K	KAaBT"b\\+I+I+IJJJJ	K	Krctd}|tddf|t	d|tdtd}|tddf|t	d|td|t5tdtddgdddn#1swxYwY|t5td}|tddfdddn#1swxYwYt	d||t5tdtddfdddn#1swxYwY|ttd	jd
|ttd	jgfdS)Ndefgrrrdefgabcdefgabcdefgababcdefgr	rrr)rrrrrrArrmr)r1r{s  rtest_cycle_setstatez TestBasicOps.test_cycle_setstates
&MM	UQ'(((b!d+A&B&BCCC
&MM	Y+,,,b!d+A&B&BCCC

y
)
)	=	=&MM&&Y';<<<	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=

y
)
)	/	/f

A
NNE&MM1-...	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	
R

y
)
)	?	?&MM&&Y'=>>>	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	
)U2YY%;R@@@)U2YY%;bUCCCCCs6#2D!!D%(D%4FF

F
;2G99G=G=c|gttg|gttgt|t
ttdg|t
td|t
tdddgd}g}t|dD];\}}|D]3}|||d||4<|||ttj	dzD]}g}tj
tjt|t|D];\}}|D]3}|||d||4<|||g}t|tD]r\}}t|tD]W\}}|D]O}|||d|||d	||PXs|||ttj	dzD]}g}tj
tjt|t|D]\}}tj
tjt|t|D]W\}}|D]O}|||d|||d	||PX|||d
t|tD}	td|D}
|t|	|
|t|	t|
tt!dtd
}t|t}t#|\}}
t#|\}}t#|\}}|t|
g|t|g|t#|dt||t|gttj	dzD]}t|t}t#|\}}t#|t#||ttj
tj||gd}dtt%|D}||gddtt%|D}||gddtt%|D}||gdt%dtt%|Dddd}||gdGddt&d#fd	}dtfd}|||d|||dGfdd }||dg}|||t!|||fd"d_||dgd_||ddgdS)$Nkeyrc|Srrrs rr_z+TestBasicOps.test_groupby.<locals>.<lambda>arrV))rrVr)rr)rrr)r	
r)r	)rrr)rr)rrrc|dSrMrrNs rr_z+TestBasicOps.test_groupby.<locals>.<lambda>s
!rrr	rcg|]\}}|Srrr`r&gs   rraz-TestBasicOps.test_groupby.<locals>.<listcomp>s000da000rcg|]
}|dSrqr)r`rOs  rraz-TestBasicOps.test_groupby.<locals>.<listcomp>s,,,QAaD,,,r	AABBBAAAAr)rrabracadabracg|]\}}|Srrrs   rraz-TestBasicOps.test_groupby.<locals>.<listcomp>4s...41aQ...r)ryrzr{rrOc	Tg|]%\}}tt|dd#|&Sr8r>rs   rraz-TestBasicOps.test_groupby.<locals>.<listcomp>7s3EEE41afQqmm1D1DEQEEEr)ryrzrOcPg|]#\}}tt||f$Srrrrs   rraz-TestBasicOps.test_groupby.<locals>.<listcomp>:s->>>41ac$q''llA
>>>r)rryrrz)r	r{)r	rrrOcPg|]#\}}tt||f$Srrrs   rraz-TestBasicOps.test_groupby.<locals>.<listcomp>=s-FFF41aSa\\A&FFFrT)reverser)rrrceZdZdS)0TestBasicOps.test_groupby.<locals>.ExpectedErrorNr9r:r;rrr
ExpectedErrorrAsDrrc38Kt|D]}dV)Nyor))r+rrs  r
delayed_raisez0TestBasicOps.test_groupby.<locals>.delayed_raiseCs-1XX





rc<fdt||DS)Nc,g|]\}}|Srr)r`r&rfuncs   rraz;TestBasicOps.test_groupby.<locals>.gulp.<locals>.<listcomp>Hs%@@@1DDGG@@@r)r*)rGkeyprs  `rgulpz'TestBasicOps.test_groupby.<locals>.gulpGs'@@@@$(?(?@@@@rceZdZfdZdS)+TestBasicOps.test_groupby.<locals>.DummyCmpcrr)r1dstrs  r__eq__z2TestBasicOps.test_groupby.<locals>.DummyCmp.__eq__Qs	##rN)r9r:r;r)rsrDummyCmprPs.
$
$
$
$
$
$
$rr)rcBjdkrxjdzc_|Sr")skip)objrkeyfuncs rrz*TestBasicOps.test_groupby.<locals>.keyfunc[s+|a!
##rrq)rrrr*r
rrmappendr*rZrr[r\rPrTrrr
rtr	Exceptionr)r1r]dupr&relemr^ikigkeysexpectedkeysrnrg1g2g3rOrrrrrs                    @@rtest_groupbyzTestBasicOps.test_groupbysHT'"++..///T'"""5"5"566777)T75"+=+=>>>)Wd333)WeZZDDD
.
.
.A}}--	!	!DAq
!
!  DG,,,

4    
!	
C   62Q677	%	%ECV\'!U2C2CU%K%KLL
%
%1%%D$$QQ000JJt$$$$%
Q$$$$Au%%	%	%DAq!!V,,
%
%B%%D$$QQ000$$Ra111JJt$$$$%
%
	
C   62Q677	%	%ECV\'!U2C2CU%K%KLL
)
)1$l6<68J8JE+R+RSS))FB "))((DG444((T!W555

4(((())

Q$$$$10ga//000,,!,,,--TL111TC$5$5666
[%((++,,
Q

R2R2R2b2&&&b2&&&b8,,,Rb2&&&62Q677	M	MEE""B88DAqHHHHHHT&,v|Au/E/E"F"FGGLLLL
..76!99--...555666EE76!99--EEEOOO,,,>>76!99+=+=>>>NNNOOOFF76!993E3EFFFPTUUUVXWXVXY:::;;;					I				 	 	 	 	 	 !%4	A	A	A	A	
-}}Q/?/?@@@-}}Q/?/?@@@	$	$	$	$	$	$	$	$	$	$XZZT*	
-qr:::-q111	$	$	$	$	$	$-vw???-d|WEEEEErc|tttt	dgd|ttdgdddg|ttt
gdddg|t
dtttgd|tt|ttd|ttd	t	dd
|tttd|tttt	dt	dgd}ttt	d}|ttj||ttt	d}|ttj||t	tjdzD]}ttt	d}|ttjtj|||t||ttjtj|||ddt	tjdzD]:}ttt	d}|||;dS)Nr)rrrdrr	rrrr	rrd)rrrdrc|Srrrs rr_z*TestBasicOps.test_filter.<locals>.<lambda>narc|Srrrs rr_z*TestBasicOps.test_filter.<locals>.<lambda>orrrr)rrrrUr"r*boolrAr}rrmrtrrrZrr[r\rr1ansr{r^s    rtest_filterzTestBasicOps.test_filterhsfVU1XX6677AAAfT;;;77881Q%@@@fT;;;77881Q%@@@a!8!899999EEE)V,,,)VZZ888)VZZq1EEE)VVQ777)T6%((E!HH+E+EFFFgg6588$$dill++S1116588$$dmA..//55562Q677	R	REvuQxx((AT&,v|Au/E/E"F"FGGMMMGGGT&,v|Au/E/E"F"FGGQRRQQQQ62Q677	&	&EvuQxx((AOOE1%%%%	&	&rc
h|tttt	dgd|ttdgdgd|ttt
gdgd|t
dtttgd|tt|ttd|ttdt	dd	|tttd
|tttt	dt	dt	tjdzD]8}|
|ttt	d9dS)Nrrdrrrrrd)r	rrrc|Srrrs rr_z/TestBasicOps.test_filterfalse.<locals>.<lambda>1rc|Srrrs rr_z/TestBasicOps.test_filterfalse.<locals>.<lambda>rrrrr	)rrrfilterfalser"r*rrAr}rrmrtrZrrr1r^s  rtest_filterfalsezTestBasicOps.test_filterfalsesk&%((;;<<gggFFFk$<<==wwwGGGk$<<==wwwGGGaVUWW!=!=>>			JJJ)[111)[**===)[**eAhhJJJ)[&!<<<)T;uQxxq+J+JKKK62Q677	B	BEOOE;vuQxx#@#@AAAA	B	Brc
dtdtD}||gd|ttdt	dtdt	d|ttdt	dtdt	d|t
dtdttdt	d|ttdtd|ttt|ttd|ttt	dd|dtddDtdd|d	tddDtdddS)
Ncg|]	\}}||f
Srrr`rys   rraz)TestBasicOps.test_zip.<locals>.<listcomp>s 444A!u444rrrnrrrcFg|]}tt|Srrrr`pairs  rraz)TestBasicOps.test_zip.<locals>.<listcomp>s&JJJ%T

++JJJrrcg|]}|Srrrs  rraz)TestBasicOps.test_zip.<locals>.<listcomp>s===4$===r)	r
r}rrrr*rrArrm)r1rs  rtest_zipzTestBasicOps.test_zips
44U577!3!3444<<<===c%q2233T%q5J5JKKKc(E!HH5566XuQxx8P8PQQQaHegg 6 677ha9Q9QRRRc(mm,,d8nn===ceedff---)S!,,,)S%((A666JJE58I8IJJJeU++	-	-	-==3ue+<+<===eU++	-	-	-	-	-rcttttdd}|t|t
|tttttdd}|tt	|t|dtj
tdtD}||gddtjtdtD}||gdttjdzD]e}dtjtjtdt|D}||gdfttjdzD]v}tdt}t%|dtjtj||D}||d	d
gwttjdzD]2}||tdt3dS)Nrrcg|]	\}}||f
Srrrs   rraz5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s ???A!u???rrncg|]	\}}||f
Srrrs   rraz5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s CCCA!uCCCrr	cg|]	\}}||f
Srrrs   rraz5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s [[[TQAa5[[[rcg|]	\}}||f
Srrrs   rraz5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s YYYTQAa5YYYrrprq)rrr
r
rrrrrdictfromkeysrr}rr*rZrr[r\rtr)r1idsrr^rs     rtest_zip_tuple_reusez!TestBasicOps.test_zip_tuple_reuses3r3ue,,--..S3s88,,,3r4E5 1 1223344T]]3//00#c((;;;@?3uUWW+=+=!>!>???<<<===CCs5/A/A!B!BCCC<<<===62Q677	B	BE[[V\&,s5?Q?QSX2Y2Y%Z%Z[[[CS"@"@"@AAAA62Q677	8	8E"511!"""YYV\&,?OQV2W2W%X%XYYYCS8X"6777762Q677	8	8EOOE3uegg#6#67777	8	8rcB	dtdgtddgtdtddtddgtdtdtddtd	td
gtdtdtddtd	td
tdgfD]ۊfdttttD}|tt
||tt
ii|d|D}|tt
itd
||tdt
dtttdtd|tt
tt|tt
gttg|tt
dttd|tt
diitttddgzd|ttd|tttdddD]T}	t|tt|d|zE#t$rYQwxYw|dt
ddDttdd|dt
ddDttdddS)Nrrryi4iiriicHg|]tfdDS)cJg|]}t|kr|nd Srr)r`argrs  rraz;TestBasicOps.test_ziplongest.<locals>.<listcomp>.<listcomp>s/NNN#q3s88||SVVNNNrr)r`rrs @rraz0TestBasicOps.test_ziplongest.<locals>.<listcomp>sG;;;NNNNNNNOO;;;rc@g|]}td|DS)c3&K|]}|durdp|V
dS)NXr)r`rhs  rrz:TestBasicOps.test_ziplongest.<locals>.<listcomp>.<genexpr>s0@@Q$Y.33!@@@@@@rr
rNs  rraz0TestBasicOps.test_ziplongest.<locals>.<listcomp>s/QQQQe@@a@@@@@QQQrr	fillvaluerrr)zzip_longest('abc', fv=1)z3zip_longest('abc', fillvalue=1, bogus_keyword=None)zDid not raise Type in:  cFg|]}tt|Srrrs  rraz0TestBasicOps.test_ziplongest.<locals>.<listcomp>s&RRR%T

++RRRrrcg|]}|Srrrs  rraz0TestBasicOps.test_ziplongest.<locals>.<listcomp>sEEE4$EEEr)rr)r*rrrrrrzip_longestrrAr}r
rrmevalglobalslocalsfail)r1targetstmtrs   @rtest_ziplongestzTestBasicOps.test_ziplongestsa!q5!teD..d40@0@AteAhhd4(8(8%++uT{{SteAhhd4(8(8%++uT{{TYZ[T\T\]	V	VD;;;;$SS$%8%899;;;FT+t"455v>>>T+t":r":":;;VDDDQQ&QQQFT+t"Ktc7J7J7J"K"KLLfUUUUaHegg > >??c(TYZ[T\T\F]F]A^A^___kmm,,d355kk:::k"oo..SWW

>>>k(3344d3x==6I6IJJJk>>2>>??c$u++tf"4f==>>	@	@	@)[!444)[%((A>>>
		=		=D
=T799fhh///		4t;<<<<




	
RRE58Q8QRRRc%//00	2	2	2EE;ue+D+DEEEc%//00	2	2	2	2	2s;)O==
P
	P
cttttdd}|t|t
|tttttdd}|tt	|t|dS)Nrr)
rrr
rrrrrrrr)r1rs  rtest_zip_longest_tuple_reusez)TestBasicOps.test_zip_longest_tuple_reuses3r;ue445566S3s88,,,3r4E5 9 9::;;<<T]]3//00#c((;;;;;rc	httjdzD]}||t	dd||t	dd||t	ddd||t	dddS)Nr	rrdefghrr)r*rZrrrrs  rtest_zip_longest_picklingz&TestBasicOps.test_zip_longest_picklings62Q677	=	=EOOE;ue#<#<===OOE;ug#>#>???OOE;ug#K#K#KLLLOOE;r7#;#;<<<<		=	=rc
tGfdd}|t5}t|dddn#1swxYwY||jdS)NceZdZfdZdS)?TestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterablecrr)r1	exceptions rr2zHTestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterable.__iter__srN)r9r:r;r2)r&srBadIterabler$s.
 
 
 
 
 
 
 rr')rmrrassertIsr&)r1r'cmr&s   @rtest_zip_longest_bad_iterablez*TestBasicOps.test_zip_longest_bad_iterablesKK		 	 	 	 	 	 	 	 	 	 

y
)
)	'R

&&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	


blI.....sAA!$A!c2Gdd}|ddt}|ddt}d}||||gd|ddt}|ddt}t||d	
}|t	|d|t	|d|t	|d|tt|dS)Nc eZdZdZdZdZdS),TestBasicOps.test_bug_7244.<locals>.RepeatercJ||_t||_||_dSr)orrOrh)r1r/rOrhs    r__init__z5TestBasicOps.test_bug_7244.<locals>.Repeater.__init__s!Qrc|Srrr0s rr2z5TestBasicOps.test_bug_7244.<locals>.Repeater.__iter__rcT|jdkr|xjdzc_|jS|jr")rOr/rhr0s rr7z5TestBasicOps.test_bug_7244.<locals>.Repeater.__next__	s*6A::FFaKFF6M&LrN)r9r:r;r0r2r7rrrRepeaterr-sA






!
!
!
!
!rr4r	rrrdcg}t||dD]Y\}}tjd5t||fdddn#1swxYwY|||fZ|S)Nrrstdout)rrcaptured_outputprintr)rrrrrs     rrunz'TestBasicOps.test_bug_7244.<locals>.runsF#Ba888
&
&1,X66""1a&MMM"""""""""""""""

q!f%%%%MsAA	A	)r8r8r8r6rrr8)r6rrrjrrtr)r1r4rrr9rns      r
test_bug_7244zTestBasicOps.test_bug_7244s8
	!
	!
	!
	!
	!
	!
	!
	!"XaM
*
*
XaM
*
*				
R&B&B&BCCCXaL
)
)
XaM
*
*
R1
-
-
-b6***b6***b6***,b11111rc|ttdg|ttdg|ttddgf|ttdgd|tttdtt	tdtdd|t5tdddn#1swxYwY|t5td	d
dddn#1swxYwY|t5td	dddn#1swxYwY|t5tdddddS#1swxYwYdS)Nrryrryrzr)r<)rzr{)r{r)rrhrcr	rrVrF)rrrpairwiser*r
rrmr0s r
test_pairwisezTestBasicOps.test_pairwise'shrll++R000hsmm,,b111htnn--)l	,	,	-	-hw//00NNN	P	P	PhuV}}5566c%--q&1A1ABBCC	E	E	E

y
)
)		JJJ															


y
)
)	 	 UB	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 


y
)
)	%	%e$$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%


y
)
)		TNNN																		sHE--E14E1F//F36F3G11G58G5H33H7:H7cfd}|dhdgdgfdgfdgdgfg|dhdgdgdgffdgdgfdgfdgdgfg|dhdgdgfdgdgdgffdgdgfdgfdgdgfg|ddhdgdgfdgfdgfdgdgfg|ddhdgdgdgffdgfdgdgfg|ddhdgdgfdgdgfdgffdgdgfdgfdgfdgdgfg|ddhdgdgdgdgfffdgdgdgffdgfdgdgfgdS)	NcGfdd}t||D]%}t|&dS)Nc&eZdZdZdZfdZdS)<TestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.Irc|Srrr0s rr2zETestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.I.__iter__>Krcd|xjdz
c_|jvrtS|jgSrC)r}rt)r1rn
reenter_ats rr7zETestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.I.__next__@s4JJNJJzZ//#Bxx J<'rNr9r:r;r}r2r7)rnrFsrIrB<sG   ((((((((rrH)r=rrrt)rFexpectedrHitemrnr1s`   @rcheckz1TestBasicOps.test_pairwise_reenter.<locals>.check;s
(
(
(
(
(
(
(
(
(
(
(!!##B 
1
1  b40000
1
1rr	rrrdrrrrr1rKs` rtest_pairwise_reenterz"TestBasicOps.test_pairwise_reenter:sU
	1
	1
	1
	1
	1	qccA3Z!S1#J
				qcSA3*cA3Z!S1#J
			
	qcS1#JSA3*cA3Z!S1#J	
				q!fsQCj1#
$S1#J
				q!fcQC!:
$S1#J
				q!fcA3ZA3*qc*+sQCj1#
$S1#J
			
	q!fSA3!qc
#$cQC!:
$S1#J
					rcfd}|dg|dg|dg|ddgdgfdgfgdS)NcGfdd}t|t|dS)Nc&eZdZdZdZfdZdS)=TestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.Irc|Srrr0s rr2zFTestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.I.__iter__prDrc|jkrt|xjdz
c_|jdkrtdS|jgSrC)r}r6rt)r1rnmaxcounts rr7zFTestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.I.__next__rsHzX--++JJNJJzQ#B~~- J<'rNrG)rnrTsrrHrQnsG   ((((((((rrH)r=rrr)rTrIrHrnr1s`  @rrKz2TestBasicOps.test_pairwise_reenter2.<locals>.checkmsq

(

(

(

(

(

(

(

(

(

(

(!!##BT"XXx00000rr	rrrdrrLs` rtest_pairwise_reenter2z#TestBasicOps.test_pairwise_reenter2lsu	1	1	1	1	1 	a
a
a
aQC!:s#$%%%%%rcgdgfdgddgftdtdggdftdtdtdggftdtdtdggftdtdtdggffD]\}}|tt||td	D]T}|tt||ztt|it	|
U|ttttdgdzd
|tttddd}d}dddtdtd	t	dddtdtdttdg	tdD]I}fdttjdD}ttt
|}|ttt|||tt|t|||tt|t||tt|}|ttt||KdS)Nrrrrzrr)rrr5r6r7)r	r	r8rrdrrric?xKttt||ddz}t	|}|dkrdVdStd|DrdSdg|z}tdt
||DV	tt|D]z}||t	||dz
kr%||xxdz
cc<t|dz|D]}d||<tdt
||DVndS)Nrr	rrc3<K|]}t|dkVdS)rNr)r`rs  rrz>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>s,44d3t99>444444rc3,K|]\}}||VdSrrr`rrs   rrz>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>s*CCGD!QCCCCCCrc3,K|]\}}||VdSrrr\s   rrz>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>s*KKGD!QKKKKKKr)	rrrgetranyr
rr*)rkwdspoolsr+rrrs       rproduct1z+TestBasicOps.test_product.<locals>.product1shUD))**TXXh-B-BBEE

AAvv44e44444
cAgGCCs5'/B/BCCCCCCCC

!%((++		AqzSq]]Q%666 AJJJ!OJJJ"1Q3]]''%&

KKs5'7J7JKKKKKKKKEF

rc?Kttt||ddz}gg}|D]fd|D}|D]}t|VdS)z Pure python version used in docsrr	c&g|]
}D]}||gz	Srr)r`rrrs   rraz?TestBasicOps.test_product.<locals>.product2.<locals>.<listcomp>s,>>>A>>A!QC%>>>>rN)rrrr^)rr`rarrHrs     @rproduct2z+TestBasicOps.test_product.<locals>.product2sUD))**TXXh-B-BBETF
?
?>>>>>>>
"
"Dkk!!!!
"
"rrrr	)ryrzr{rrrrc8g|]}tjSr)randomchoice)r`rargtypess  rraz-TestBasicOps.test_product.<locals>.<listcomp>s#PPPFM(++PPPrr)r*rrrrrrrrmrrrg	randrangerHrr)	r1rrrOrbrerexpected_lenris	        @rtest_productzTestBasicOps.test_products<
"JVff%&Ahha
!#M#M#MNAhha%((
+R0Ahha%((
+R0Ahha%((
+R0
	I	ILD&
T'4.116:::1XX
I
I  gQ&8!9!9!%gt&Ft1~~~&F&F!G!GIIII
I	
T'E!HH:a<"899::DAAA)WeAhh===			,	"	"	"r588U1XXta17J7J7J	NNE"IIuU2YY/?/?As	F	FAPPPPU6;KA;N;N5O5OPPPDC//LSgtn!5!566EEET'4.114$3H3HIIIT'4.114$3H3HIIItT??DSgtn!5!566EEEE	F	Frc|ttf5tdgdzddiddddS#1swxYwYdS)Nrrri)rrrrr0s rtest_product_overflowz"TestBasicOps.test_product_overflows



{;
<
<	2	2tfTk15111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2r	cd|tttttddd|ttttttddddS)Nrrr	)rrrrrr
rrrr0s rtest_product_tuple_reusez%TestBasicOps.test_product_tuple_reusesSR)>)>!?!?@@AA1EEECCD1F1F,G,G$H$H I IJJANNNNNrc
gdgfdgddgftdtdggdftdtdtdggftdtdtdggftdtdtdggffD]\}}|ttjt	|||ttjt	||ttjd	zD]}||t	| dS)
NrrrrWrrrXrr	)	r*rrrrrrrZrr)r1rrr^s    rtest_product_picklingz"TestBasicOps.test_product_picklingsW"JVff%&Ahha
!#M#M#MNAhha%((
+R0Ahha%((
+R0Ahha%((
+R0
	7	7LD&
T$)GTN";";<<fEEET$-"?"?@@&IIIv6:;;
7
7w~6666
7	7	7rc$tdd}|d|t|dtddd}|d|t
t|dS)Nr8)r)rrrr)rrrt)rrrrrtrr6)r1rDs  rtest_product_issue_25021z%TestBasicOps.test_product_issue_25021sF4  	{###a&)))FB%%	~&&&-q11111rcr|ttddgd|tt	dtdgd|ttddgd|tdtdgd|ttddg|ttddg|tt|ttddd|ttddtd	}|t|d
td	d}|t|dt||t|d
tdd}|t|d|tdtj
|td|tdtj|tdt	tj
dzD]'}||tdd(dS)Nryr)objecttimes)ryryry))rryr	ry)rryrrtrdy?zrepeat((1+0j))rzrepeat((1+0j), 5)zrepeat((1+0j), 0)rVraar	)rrrrrr*rArrmrrtrrrZrr)r1rOr{r^s    rtest_repeatzTestBasicOps.test_repeatsfCq999::OOOLLLeAhhvc{{33777	9	9	9fS!nn--???a--???fS!nn--r222fS"oo..333)V,,,)VT1a888)VT37774LLa"23334OOa"5666Qa"5666
#R(((a#&&&a1..W

>>>aq!1!122DMMBBB62Q677	A	AEOOE6B#?#?#?@@@@	A	Arc|ttddd|ttddd|ttddd|ttddddS)Nryr:zrepeat('a', 0)rry)rrrrr0s rtest_repeat_with_negative_timesz,TestBasicOps.test_repeat_with_negative_timessfS"oo..0@AAAfS"oo..0@AAAfS333446FGGGfS333446FGGGGGrc`|tttjtdtddgd|tttdtdgd|tttdtgd|tdttdtd	d
g|tttjgg|	tt|	tttdtdtd|	tttj|	tttdtd|	ttttdgdg|	ttttdgdggd}ttdt}|tt!j||ttdt}|tt!j||tt$jdzD]:}ttdt}|||;dS)
Nrr	rrr	rrrrnrrorprVrd)rrrrrDpowr*r'r}rArrmnegrtrrrrrrZrrrs    rtest_mapzTestBasicOps.test_mapsc(,a%!**EEFF+++	-	-	-c(E588<<==222	4	4	4c(E577;;<<222	4	4	4aHeUWW = =>>!'*	,	,	,c(,3344b999)S))))T3tU1XXuQxx+H+HIII)S(,777)T3r588+<+<===*dC!qc,B,BCCC)T3vsQC+@+@AAA(''%))dill++S111%))dmA..//55562Q677	&	&EHeUWW--AOOE1%%%%	&	&rc|tttjtt
dt
ddgd|tdttjtttdgd|tttjgg|tttjtddggdg|
ttttjdg|
tt|
tttjdgd	|
tttd
dg|
ttttdg|
ttttdggd}ttjtt
dt
dd}|tt!j||ttjtt
dt
dd}|tt!j||t
t$jdzD][}ttjtt
dt
dd}|||\dS)Nrr	rrrdrirdrextrarV)rrrstarmaprDrr
r*rAr}rrrmrtrrrrrrZrrrs    rtest_starmapzTestBasicOps.test_starmapsghlCa%!**4M4MNNOO+++	-	-	-as577E!HH7M7M!N!NOO+++	-	-	-ghlB7788"===ghlT1Q%[[MBBCCdVLLL)T78<$+H+HIII)W---)WhlUGWMMM)T72w+?+?@@@*dGGeW,E,EFFF)T76E7+C+CDDD!  HL#eAhha

";";<<dill++S111HL#eAhha

";";<<dmA..//55562Q677	&	&Ec%((E!AJJ&?&?@@AOOE1%%%%	&	&rcdD]Q}|tttdg|Rtt|RdD]T\}}|tttdg|Rtt|U|tttddttd|tttdddttd|tttddddttd|tttdddttdd|tttddddttdddt	td}|tt|dttd|t|ttddt	td}|tt|ddg|t|ttddtd}|tt||tt|dddd|tt|d	dd|tt|dd	d
|tt|ddd
|tt|ddd|tt|d|tt|dd|tt|dd|tt|ddd|tt|ddd|ttttddtdt}|tt|ddd
dg|t|ddD]}|ttjttdg|Rtt||ttj
ttdg|Rtt|ttjdzD]0}||ttdg|R1ddD}t#j|}t|d}||t|t)j||Gddt.}|tttd|dttd|tttd|d|d
ttdd
|tttd|d|d
|dttdd
ddS)N)rVrrrVrrrVr)rVrVrVrrr)))rVrr)rVrr))rVr)rVr))r)rrVrr	rrdr:rry2)rrrrrc3K|]}|VdSrrrs  rrz+TestBasicOps.test_islice.<locals>.<genexpr>s"
 
 Aa
 
 
 
 
 
 rr8ceZdZdZdZdS))TestBasicOps.test_islice.<locals>.IntLikec||_dSrvalr1rs  rr0z2TestBasicOps.test_islice.<locals>.IntLike.__init__s
rc|jSrrr0s r	__index__z3TestBasicOps.test_islice.<locals>.IntLike.__index__s	xrN)r9r:r;r0rrrrIntLikers2



 
 
 
 
 rrr)rrrr?r*rrrmrrr}r~rtrrrZrrweakrefrefassertIsNotNoner
gc_collectassertIsNonerx)	r1rtgtargsrnrar{r^wrrs	         rtest_islicezTestBasicOps.test_islice8sj		1		1D
T&s";d";";";<<!%,//
1
1
1
1	4	4MD'

T&s";d";";";<<!%/22
4
4
4
4	
fU2YY5566U2YYHHHfU2YYd;;<<d599ooNNNfU2YYdDAABBDrOOTTTfU2YY488994a;M;MNNNfU2YY4;;<<d5BPQ??>S>STTT%))__fRmm,,d588nn===b4a#5#5666
%))__fRA..//444b4a#5#56662YY)VR000)VRAq!<<<*fb"b!<<<*fb!R<<<*fb!R<<<*fb!R;;;*fb#666*fb#q999*fb!S999*fb#q!<<<*fb!S!<<<T&!R"A"ABBCCQGGG
GGfQ1b1122QC888a!$$$	B	BD
T$)F5::,E,E,E,E"F"FGG!%,//
1
1
1T$-uSzz0ID0I0I0I"J"JKK!%,//
1
1
1v6:;;
B
BveCjj'@4'@'@'@AAAA
B
!
 
 
 
 
[__
B]]RRTT"""R""$$	 	 	 	 	 f	 	 	 
	
fU3ZZ==>>U2YYPPPfU3ZZggbkkJJKKeBmm,,	.	.	.fU3ZZggbkk77ST::VVWWeBr!nn--	/	/	/	/	/rc
gd}|ttt|gd|tttgg|t
t|t
ttj|t
ttjdgd|t
ttddg|ttttdgttgd}|t|gd|tt||ttj
tt|gd|ttjtt|gdtt jdzD]+}||tt|,dS)	Nr	rrrrrdrrrdrrrV)r	r	r	rrrr	r	r	r	)rrr	takewhilerWrrmrDrrtrrrr6rrr*rZrr)r1r]rOr^s    rtest_takewhilezTestBasicOps.test_takewhiles(((i$7788)))DDDi"5566;;;)Y///)Y===)YugwOOO)T9R%+A+ABBB*dIgw,G,GHHHd...//a))),,,-q111	
di	(D(A(ABBCCYYYOOOdmIh,E,EFFGG!			#	#	#62Q677	>	>EOOE9Xt#<#<====	>	>rc
^gd}|ttt|gd|tttgg|t
t|t
ttj|t
ttjdgd|t
ttddg|ttttdg|ttjtt|gd|ttjtt|gdttjdzD]+}||tt|,dS)Nr)rrrdrrrrrVr	)rrr	dropwhilerWrrmrDrrtrrrrr*rZrr)r1r]r^s   rtest_dropwhilezTestBasicOps.test_dropwhiles(((i$7788:J:J:JKKKi"5566;;;)Y///)Y===)YugwOOO)T9R%+A+ABBB*dIgw,G,GHHH	
di	(D(A(ABBCCEUEUEUVVVdmIh,E,EFFGG(((	*	*	*62Q677	>	>EOOE9Xt#<#<====	>	>rc	dd}tg\}}|t|g|t|gtt|\}}|t	||t	t|t|tt|\}}|t|tt||t|tt|tt|\}}tdD]%}|t
||&~|t|tt|tt|\}}tdD]%}|t
||&~|t|ttd|tdD]}dg|zdg|zz}tj|ggf}tt|}|D]2}t
||}	||	|	3||dtt|||dtt||
tt|
ttd|
ttddgd|
ttddgddtd	\}}t|d
}
|t|
td
ttdd\}}}
tdD]%}|t
||&|t|ttd|t
|
t
|
gttd|t|ttdd|t|
ttdd|
ttd	d|
ttgd
tdD]}td	|}|t|t|t|||d|Dtd	g|ztd	\}}t|\}
}|||
utd	\}
}t|
}|
t||
t|d||
}|t|
t|cxko&t|cxkotd	kncttd\}}t#j|}|t'|dt|~t)j|
t,t&|dtd	}ttd}td	\}}|tt/j|||tt/j||tttd\}}|tt/j|||tt/j||td	\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddttd\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddtd	\}}|tt/j|||tt/j|||t|||t||ttd\}}|tt/j|||tt/j|||t|||t||td	\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddttd\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddtt4jdzD]t}||t;td	td	\}}||||||||udS)Nrrrr	rrrrrrinvalidr:c,g|]}t|Srrrs  rraz)TestBasicOps.test_tee.<locals>.<listcomp>s666!d1gg666rrV	__class__rc<r)teerrrr,rr*rtrgshufflerrrmrsrrrrrproxygetattrrrReferenceErrorrrArrZrrr)r1r+ryrzrrorderlistsitsrr{rrt1t2tnewt3rDrlong_ansr^s                     rtest_teezTestBasicOps.test_tees2ww1a"%%%a"%%%6!99~~1aDq588$<$<===6!99~~1a$uQxx..111a$uQxx..1116!99~~1s	)	)AT!WWa((((
a$uQxx..1116!99~~1s	)	)AT!WWa((((
a$uS!}}"5"5666q		7		7ACEQCEMEN5!!!HEfQii..C
'
'SVa&&&&U1XtE!HH~~666U1XtE!HH~~6666	
)S))))S!,,,)S1Q%555)S1Q%C8885zz1DGGENNa$u++...eDkk1%%1as	)	)AT!WWa((((a$uT{{"3"3444$q''477+T%((^^<<<a$uS"7"7888a$uQt}}"5"5666	
)S%;;;*c2r222q	I	IA]]FT&\\5111S[[!,,,66v666e
aHHHH5zz11vv1QUBBxx)T***)T2...
T"XXRDHHGGGGRGGGGDKKGGGGHHH599~~1M!K00$q'':::
.'1kBBB5kke%%5zz1dill++S111dill++S1114e%%&&1dill++X666dill++X6665zz1Q


Q


dill++SW555dill++SW555a#abb'***a#abb'***5<<  1S!Rdill++Xcdd^<<<dill++Xbcc];;;a(344.111a(233-0005zz1dmA..//555dmA..//555a#&&&a#&&&5<<  1dmA..//:::dmA..//:::a(+++a(+++5zz1Q


Q


dmA..//QRR999dmA..//QRR999a#abb'***a#abb'***5<<  1S!RdmA..//#$$@@@dmA..//"##???a(344.111a(233-00062Q677	3	3EOOE4E

#3#3444u::DAqOOE1cO222OOE1cO2222		3	3rcxttdd\}}	t|~dS#~~xYw)Ni-1)rrr_)r1forwardbackwards   rtest_tee_del_backwardz"TestBasicOps.test_tee_del_backwardQsFtX 6 677	LLL	s49cGfdd}t|\}|td5t|ddddS#1swxYwYdS)Nc$eZdZdZdZfdZdS)(TestBasicOps.test_tee_reenter.<locals>.ITc|Srrr0s rr2z1TestBasicOps.test_tee_reenter.<locals>.I.__iter__]r2rcF|j}d|_|rtSdSNF)firstrt)r1rrzs  rr7z1TestBasicOps.test_tee_reenter.<locals>.I.__next___s.
"
#77N##rN)r9r:r;rr2r7rWsrrHr[sBE



#
#
#
#
#
#
#rrHr)rassertRaisesRegexrjrt)r1rHryrzs   @rtest_tee_reenterzTestBasicOps.test_tee_reenterZs	#	#	#	#	#	#	#	#	#	#1133xx1

#
#L%
8
8		GGG																		sA##A'*A'cbtjtjGfdd}t|\}}tjt|g}|	|td5t	|dddn#1swxYwY	|
dS#	|
wxYw)Nc"eZdZdZfdZdS)+TestBasicOps.test_tee_concurrent.<locals>.Ic|Srrr0s rr2z4TestBasicOps.test_tee_concurrent.<locals>.I.__iter__nr2rcXdSr)rwait)r1finishrs rr7z4TestBasicOps.test_tee_concurrent.<locals>.I.__next__ps!		




rN)r9r:r;r2r7)rrsrrHrmsB










rrH)rrr)	threadingEventrThreadrtrrrrjrjoin)r1rHryrzthreadrrs     @@rtest_tee_concurrentz TestBasicOps.test_tee_concurrentisZ!!""											1133xx1!QC888	JJLLL''e<<

Q















JJLLLKKMMMMM
JJLLLKKMMMMs0/D3CDCDCD*D.c
|ttttt
ttfD]b}|tt|g|tt|tc|tttgd|ttttdtg\}}|tt||tt|tt\}}|tt||tt||tttddtttttt fD]f}|tt|dg|tt|dtgdS)Nrc|Srrrs rr_z1TestBasicOps.test_StopIteration.<locals>.<lambda>rrc|Srrrs rr_z1TestBasicOps.test_StopIteration.<locals>.<lambda>rr)rr6rtr
rrr*r.r?rrrUrrrrr)r1rrDqs    rtest_StopIterationzTestBasicOps.test_StopIterations-suu555W-	A	AAmT11R55999mT11WYY<<@@@@-vb$/?/?@@@-vgii/F/FGGG2ww1-q111-q111799~~1-q111-q111-vdA???+sIy'J	M	MAmT11ZZ3D3DEEEmT11ZZ3K3KLLLL	M	Mrctdggd}t|tj|tjt|dSrC)rrtgccollectr
is_trackedrs  rtest_combinations_result_gcz(TestBasicOps.test_combinations_result_gcsW
4*a
(
(R

	

d2hh//00000rctdggd}t|tj|tjt|dSrC)rrtrrrrrs  r,test_combinations_with_replacement_result_gcz9TestBasicOps.test_combinations_with_replacement_result_gcsU+D":q
9
9R


d2hh//00000rctdggd}t|tj|tjt|dSrC)rrtrrrrrs  rtest_permutations_result_gcz(TestBasicOps.test_permutations_result_gcsU4*a
(
(R


d2hh//00000rctdgg}t|tj|tjt|dSr)rrtrrrrrs  rtest_product_result_gcz#TestBasicOps.test_product_result_gcsSdBZ
 
 R


d2hh//00000rctgg}tj|tjt|dSr)rrrrrrtrs  rtest_zip_longest_result_gcz'TestBasicOps.test_zip_longest_result_gcsF"




d2hh//00000r)rdr	N)Cr9r:r;rrrrrrrrbigaddrspacetestrimpl_detailrr.r1r3rErGrIrYrlrrrrrrrrrrrrrr!r*r:r>rMrUrlrnrprrrvr|rrrrrrrrrrrequires_working_threadingrrcpython_onlyrrrrrrrrrcrcTs*'$'$'$'$R!,!,!,F
7
7
7HHHPPPJJJNDNDND`
&&&
W=>>RR?>RJ:J:J:X
777
W=>>II?>I
=D=D=D~
%%%W=>>RR?>REEEBPPPD.,.,.,`585858nPPP"H"H"HHKKK>"D"D"DH@F@F@FD&&&6BBB--- W=>>88?>84(2(2(2TW=>><<?><===
/
/
/&2&2&2P&000d&&&,8F8F8Ft
222W=>>OO?>O
7
7
7222AAA4HHH&&&<&&&6\/\/\/|>>>(>>>"S3S3S3l


102232*MMM.

1
1
1
111
111
111
11111rrcceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdS)TestExamplescn|ttgdgddSNr	rrrdrr	rrrVr)rrrrr0s rrzTestExamples.test_accumulates9j55668I8I8IJJJJJrcPgd}gd}ttjdzD]}t|}|ttjtj|||dd|t|d|ttjtj|||ddt|}|t|d|ttj
||dd|ttj	||dddS)Nrrr	)r*rZrrrrrr[r\rtrr)r1r]accumulatedr^rns     rtest_accumulate_reduciblez&TestExamples.test_accumulate_reduciblesn'''62Q677	[	[ED!!BT&,v|B/F/F"G"GHH+VWVWVW.YYYT"XXq)))T&,v|B/F/F"G"GHH+VWVXVX/ZZZZ


b1%%%dmB//00+abb/BBBdimm,,k!""o>>>>>rc6tgdtj}|t	|dttjdzD]N}t
jt
j	||}|t|ddgO|ttj|ddg|ttj|ddgdS)N)NNNr	TF)
rrDis_rrrtr*rZrr[r\rrr)r1rnr^it_copys    rtest_accumulate_reducible_nonez+TestExamples.test_accumulate_reducible_nones
***HL
9
9b4(((62Q677	;	;El6<E#:#:;;GT']]T5M::::dmB//004-@@@dimm,,tUm<<<<<rct|dtddddSNrrDEFr[)rrrrr0s rrzTestExamples.test_chains4ue!4!455x@@@@@rc|dtddgddSr)rrrrrr0s rrz%TestExamples.test_chain_from_iterables<!4!4eU^!D!DEExPPPPPrc	|ttddgd|tttddgddS)Nrrrrdrr)rrrrr*r0s rrzTestExamples.test_combinationssl615566[[[	]	]	]l588Q7788===	?	?	?	?	?rcl|ttddgddS)Nrrr)rrrrr0s rr.z/TestExamples.test_combinations_with_replacementsG;E1EEFF[[[	]	]	]	]	]rc	|ttdgdtddS)Nr[r\r_)rrrrir0s rrlzTestExamples.test_compresss:hx??@@$v,,OOOOOrc	|tttddgddS)NrVr)rVrrrr)rrrr?r}r0s rrzTestExamples.test_counts=fU2YY22335I5I5IJJJJJrc	|tttddtddS)NrrABCDABCDABCD)rrrr?rr0s rrzTestExamples.test_cycles>fU6]]B7788$~:N:NOOOOOrc	r|ttdgdgddS)Nc|dkSNrrrs rr_z-TestExamples.test_dropwhile.<locals>.<lambda>
!A#rr	rdrrdr	)rrdr	)rrrrr0s rrzTestExamples.test_dropwhiles:i

{{{CCDDgggNNNNNrc	D|dtdDtd|dtdDtdtdtdtd	gdS)
Ncg|]\}}|Srrrs   rraz-TestExamples.test_groupby.<locals>.<listcomp>sCCC1!CCCrAAAABBBCCDAABBBABCDABc2g|]\}}t|Srrrs   rraz-TestExamples.test_groupby.<locals>.<listcomp>s"FFF1477FFFr
AAAABBBCCDAAAABBBCCr)rrr*rr0s rrzTestExamples.test_groupbysCC0A(B(BCCCh	)	)	)FF0E0EFFFv,,UT$ZZcK	M	M	M	M	Mrc
|ttdtdgddS)Nc|dzSrSrrs rr_z*TestExamples.test_filter.<locals>.<lambda>s
qsrrV)r	rrrr)rrrrUr*r0s rrzTestExamples.test_filters<f]]E"II>>??MMMMMrc
|ttdtdgddS)Nc|dzSrSrrs rr_z/TestExamples.test_filterfalse.<locals>.<lambda>s
AaCrrV)rrrdrr)rrrrr*r0s rrzTestExamples.test_filterfalses<k--rCCDDkkkRRRRRrc	x|tttddgddS)N)rrrV)rrrrrry)rrrrrr0s rrzTestExamples.test_map	s6c#x99::MMMJJJJJrc
|ttddtd|ttdddtd|ttdddtd|ttddddtddS)	NrKrABrdCDCDEFGrACEG)rrrr?r0s rrzTestExamples.test_islicesfY2233T$ZZ@@@fY15566T

CCCfY488994==IIIfY4;;<<d6llKKKKKrcl|ttddddgdS)Nrxyrrrr)rrrr
r0s rrzTestExamples.test_zips5c&$//00:z2JKKKKKrc	p|ttdddgddS)Nrr#-r)r$r%)rr')rr')rrrrr0s rtest_zip_longestzTestExamples.test_zip_longestsKk&$#FFFGGIII	K	K	K	K	Krc
J|ttddtttd|ttt
dgddS)Nrrz#AB AC AD BA BC BD CA CB CD DA DB DCr)r)rrr	)r	rr)r	rr)rrr	)rr	r)rrrrrrsplitr*r0s rrEzTestExamples.test_permutationssl615566c%)N)T)T)V)VWWXX	Z	Z	Zl5884455OOO	Q	Q	Q	Q	Qrc
N|ttddtttd|ttt
ddgddS)Nrr#zAx Ay Bx By Cx Cy Dx Dyrrr)r)rrr	)rr	r)rr	r	)r	rrr`)r	r	rr)rrrrrrr*r*r0s rrlzTestExamples.test_productsgfd3344c%)B)H)H)J)JKKLL	N	N	NgeAhhq999::===	>	>	>	>	>rcl|ttddgddS)NrVr)rVrVrV)rrrrr0s rr|zTestExamples.test_repeat&s2fRmm,,lll;;;;;rc	z|tttgdgddS)N))rrrrrr)rrrrrr0s rtest_stapmapzTestExamples.test_stapmap)sFgc+A+A+ABBCC&	(	(	(	(	(rc	r|ttdgdddgdS)Nc|dkSrrrs rr_z-TestExamples.test_takewhile.<locals>.<lambda>.rrr
r	rd)rrrrr0s rrzTestExamples.test_takewhile-s:i

{{{CCDDqeLLLLLrN)r9r:r;rrrrrrr.rlrrrrrrrrrr(rErlr|r/rrrrrrsKKK
?
?
?===AAAQQQ???]]]PPPKKKPPPOOOMMMNNNSSSKKKLLLLLLKKKQQQ>>><<<(((MMMMMrrc*eZdZedZdZdS)TestPurePythonRoughEquivalentsc'Kt|}|jpd|jptj|jpd}}}t
t|||}	t|}n4#t$r'tt||D]\}}	YdSwxYw	t|D]\}}	||kr|	Vt|}dS#t$r+tt|dz||D]\}}	YdSwxYwr")slicerrprr~rrr*rtr6r
	enumerate)
rGrr]rrprrnnextirrs
          rr?z%TestPurePythonRoughEquivalents.islice3sF4LGLq!&*?CK1Tt
%tT**
+
+	HHEE			!%,,99


7FF		
	'11
%
%
7::!MMM HHE
%
%			!%At"4"4h??


7


	s$A  -BB.C1C:9C:c
~|t|ddtd|t|dddtd|t|dddtd|t|ddddtdtt	d	}|t||d
tt	d
|t|tt	d
d	tt	d	}|t||d
d
g|t|tt	d
d	t}|t||dd
ddg|t
|d
dS)
NrKrrrdrr rr!rVrr	r)rrrr?rr*r}rt)r1rnr{s   rtest_islice_recipez1TestPurePythonRoughEquivalents.test_islice_recipeIsdkk)Q7788$t**EEEdkk)Q::;;T$ZZHHHdkk)Q==>>W

NNNdkk)Qa@@AA4<<PPP
%))__dkk"a00114a>>BBBb4a#5#5666
%))__dkk"a3344b999b4a#5#5666GGdkk!Q26677!===a!$$$$$rN)r9r:r;staticmethodr?r9rrrr3r31s<\*%%%%%rr3ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdS)TestGCcR||t|~~dSr)rrt)r1iterator	containers   r	makecyclezTestGC.makecycle]s*"""XxxxrcXg}|tdd|dg|dSNr	rr)r@rr1rys  rrzTestGC.test_accumulatebs1z1Qq),,a00000rcPg}|t||dSr)r@rrCs  rrzTestGC.test_chainfs'uQxx#####rchg}|t|g|dSr)r@rrrCs  rrzTestGC.test_chain_from_iterablejs1u**A3//33333rcZg}|tdd|dgd|dSrB)r@rrCs  rrzTestGC.test_combinationsn3|Qq1Iq11155555rcZg}|tdd|dgd|dSrB)r@rrCs  rr.z)TestGC.test_combinations_with_replacementrs44a!AYBBAFFFFFrcVg}|tdgd|dS)Nr[)r	rr	rr	r)r@rirCs  rrlzTestGC.test_compressvs/x---88!<<<<<rcg}tdtft|}|t	|d|d|dS)NIntrrr	)rsrrr@r})r1ryrKs   rrzTestGC.test_countzsV53&$))),,uSSVVSSVV,,a00000rcXg}|t|gdz|dSrS)r@rrCs  rrzTestGC.test_cycles-uaSU||Q'''''rcbg}|ttd||g|dSrM)r@rrrCs  rrzTestGC.test_dropwhiles1y1ay11155555rc\g}|t|gdzd|dS)Nrc|Srrrs rr_z%TestGC.test_groupby.<locals>.<lambda>sqr)r@r*rCs  rrzTestGC.test_groupbys3ws1ujj11155555rcd}d}tt||D]3\}}|jdg|4dS)NrVc|Srrrs rr_z'TestGC.test_issue2246.<locals>.<lambda>rrrr)r*r*__dict__
setdefaultr)r1r+rrrs     rtest_issue2246zTestGC.test_issue2246sh+E!HH'222	:	:DAq''B//66q9999	:	:rc\g}|td|gdz|dS)NcdS)NTrrs rr_z$TestGC.test_filter.<locals>.<lambda>strr)r@rUrCs  rrzTestGC.test_filters3vmmaSU33Q77777rcTg}|td||dS)NcdSrrrs rr_z)TestGC.test_filterfalse.<locals>.<lambda>sEr)r@rrCs  rrzTestGC.test_filterfalses-{>>155q99999rcbg}|t|gdz|gdz|dS)Nrr)r@r
rCs  rrzTestGC.test_zips7sA3q51#a%((!,,,,,rcg}|t|gdz|gdz||dg}|t|gdz|gdz||dS)Nrrr)r@r)r1ryrzs   rr(zTestGC.test_zip_longestso{A3q51#a%00!444
I{A3q51#a%1===qAAAAArc\g}|td|gdz|dS)Nc|Srrrs rr_z!TestGC.test_map.<locals>.<lambda>sArr)r@rrCs  rrzTestGC.test_maps3s::s1u--q11111rcZg}|t|gdzd|dSrS)r@r?rCs  rrzTestGC.test_islices1vqc!eT**A.....rcXg}|t|gdz|dSr)r@r=rCs  rr>zTestGC.test_pairwises-xA*****rcZg}|tdd|dgd|dSrB)r@rrCs  rrEzTestGC.test_permutationsrGrc\g}|tdd|dgd|dS)Nr	rrr)r@rrCs  rrlzTestGC.test_products6w!Aay333Q77777rcPg}|t||dSr)r@rrCs  rr|zTestGC.test_repeats'vayy!$$$$$rc`g}|td||fgdz|dS)Nc|Srr)rOs rr_z%TestGC.test_starmap.<locals>.<lambda>s!rr)r@rrCs  rrzTestGC.test_starmaps7w||qeWQY77;;;;;rc	dg}|ttdd||g|dS)Nr	r)r@rrrCs  rrzTestGC.test_takewhiles3y1a|44a88888rN)r9r:r;r@rrrrr.rlrrrrrTrrrr(rrr>rErlr|rrrrrr<r<[s   
111$$$444666GGG===111
(((666666:::888:::---BBB222///+++666888%%%<<<99999rr<c#K|D]}|VdS)zRegular generatorNrseqnrs  rRrhs*
rceZdZdZdZdZdS)GzSequence using __getitem__c||_dSrrgr1rgs  rr0z
G.__init__s
			rc|j|Srrl)r1rs  r__getitem__z
G.__getitem__sy|rN)r9r:r;r<r0rorrrrjrjs8  rrjc$eZdZdZdZdZdZdS)rHz Sequence using iterator protocolc"||_d|_dSrMrfrms  rr0z
I.__init__	rc|Srrr0s rr2z
I.__iter__r3rc|jt|jkrt|j|j}|xjdz
c_|SrCrrrgr6r1r's  rr7z
I.__next__>6S^^##=%8Idf!rNr9r:r;r<r0r2r7rrrrHrHsG&&rrHceZdZdZdZdZdS)Igz9Sequence using iterator protocol defined with a generatorc"||_d|_dSrMrfrms  rr0zIg.__init__rrrc#&K|jD]}|VdSrrlrs  rr2zIg.__iter__s,9		CIIII		rNr9r:r;r<r0r2rrrrzrzs8??rrzceZdZdZdZdZdS)rz Missing __getitem__ and __iter__c"||_d|_dSrMrfrms  rr0z
X.__init__rrrc|jt|jkrt|j|j}|xjdz
c_|SrCrurvs  rr7z
X.__next__rwrN)r9r:r;r<r0r7rrrrrs8&&rrceZdZdZdZdZdS)NzIterator missing __next__()c"||_d|_dSrMrfrms  rr0z
N.__init__rrrc|Srrr0s rr2z
N.__iter__r3rNr}rrrrrs8!!rrc$eZdZdZdZdZdZdS)EzTest propagation of exceptionsc"||_d|_dSrMrfrms  rr0z
E.__init__rrrc|Srrr0s rr2z
E.__iter__r3rcddzdS)Nrrrr0s rr7z
E.__next__s	QrNrxrrrrrsG$$rrc$eZdZdZdZdZdZdS)SzTest immediate stopcdSrrrms  rr0z
S.__init__src|Srrr0s rr2z
S.__iter__r3rctrr5r0s rr7z
S.__next__	r8rNrxrrrrrsG


rrcttdttt	|S)z Test multiple tiers of iteratorsc|Srrrs rr_zL.<locals>.<lambda>sar)rrrhrzrjrls rLrs.ZZ2agg;;00111rcteZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdS)TestVariousIteratorArgsc
gd}gd}t|}ttttt
fD];}|tt|||<|ttt|g|
ttt||
ttt||
tttt|dSr)rrjrHrzrrhrrrrrrrmrrZeroDivisionErrorr)r1r]rOr+rs     rrz'TestVariousIteratorArgs.test_accumulatesKKMMFFQAq!	8	8AT*QQqTT"2"233Q7777j1..//444)Z1666)Z1666+T:add3C3CDDDDDrcddtddtdddfD]}ttttt
tfD]}|tt||t|||tt||||t||t||z|
tttt||
tttt||
tttt|dSN123rrydog333333?rr)r*rjrHrzrrrhrrrrrrmrrrrr1r]rs   rrz"TestVariousIteratorArgs.test_chains`U4[[+uT$q7I7IJ	D	DAB1a(
Q
Q  eAAaDDkk!2!2D1JJ???  eAAaDD!!A$$&7&7!8!8$qqtt**T!!A$$ZZ:OPPPPiuQqTT{{;;;iuQqTT{{;;;/uQqTT{{CCCC
	D	DrcddtddtdddfD]Y}t|}tttt
ttfD]_}|tt||tdt||`|ttt|td|ttt|td|t ttt#|td[dS	Nrrryrrrrr	)r*rrjrHrzrrrhrrrrirrrmrrrr)r1r]r+rs    rrlz%TestVariousIteratorArgs.test_compress's*U4[[+uT$q7I7IJ	R	RAAAB1a(
N
N  hqqttVAYY&?&?!@!@$qqtt**MMMMi1Q44CCCi1Q44CCC/x!fQii7P7PQQQQ
	R	Rrc	fddtddtdddfD]}|ttt	||ttt||ttt|dSr)r*rrmrrrrr)r1r]s  rrlz$TestVariousIteratorArgs.test_product0sU4[[+uT$q7I7IJ	@	@Ai!A$$777i!A$$777/!A$$????	@	@rcddtddtdddfD]9}ttttt
tfD]x}t|dz}t||dz}ttt|||}|||y|ttt||ttt||t ttt#|;dS)	Nrrryrrrrr)r*rjrHrzrrrhrrr?rrrrrmrrrr)r1r]rtgtlenrIactuals      rrz"TestVariousIteratorArgs.test_cycle6s U4[[+uT$q7I7IJ	D	DAB1a(
3
3Q!!::a<fU11Q44[[&99::  2222i!555i!555/uQqTT{{CCCC	D	Drc
tdtdtddtdddfD]}ttttt
tfD]N}|dt||Dt||O|
ttt||
ttt||
tttt|dS)	NrVrryrrrrrcg|]\}}|Srr)r`r&sbs   rraz8TestVariousIteratorArgs.test_groupby.<locals>.<listcomp>Ds!?!?!?2!!?!?!?r)r*rjrHrzrrrhrrr*rrrmrrrrrs   rrz$TestVariousIteratorArgs.test_groupbyAs))U1XXuT{{FE$tA<N<NO	F	FAB1a(
M
M  !?!?1!?!?!?aaddLLLLi!A$$777i!A$$777/wqtt}}EEEE	F	FrctdtdtddtdddfD]'}ttttt
tfD]T}|ttt||d||DU|tttt||tttt||ttttt!|)dS)	NrVrryrrrrc0g|]}t||Sr)r"rs  rraz7TestVariousIteratorArgs.test_filter.<locals>.<listcomp>Ms#!?!?!?VAYY!?!!?!?!?r)r*rjrHrzrrrhrrrrUr"rrmrrrrrs   rrz#TestVariousIteratorArgs.test_filterIs())U1XXuT{{FE$tA<N<NO	M	MAB1a(
A
A  fVQQqTT&:&:!;!;!?!?QQqTT!?!?!?AAAAi1>>>i1>>>/vfadd7K7KLLLL
	M	MrctdtdtddtdddfD]'}ttttt
tfD]T}|ttt||d||DU|tttt||tttt||ttttt!|)dS)	NrVrryrrrrc0g|]}t||Sr)r%rs  rraz<TestVariousIteratorArgs.test_filterfalse.<locals>.<listcomp>Vs#!>!>!>U1XX!>!!>!>!>r)r*rjrHrzrrrhrrrrr"rrmrrrrrs   rrz(TestVariousIteratorArgs.test_filterfalseRs())U1XXuT{{FE$tA<N<NO	R	RAB1a(
@
@  k&!!A$$&?&?!@!@!>!>QQqTT!>!>!>@@@@ifaddCCCifaddCCC/{61Q447P7PQQQQ
	R	Rrc:ddtddtdddfD]u}ttttt
tfD]}|tt||t|||tt||||t|||||ttt||ttt||tttt!|wdSr)r*rjrHrzrrrhrrrr
rrrmrrrrrs   rrz TestVariousIteratorArgs.test_zip[sIU4[[+uT$q7I7IJ	B	BAB1a(
J
J  c!!A$$ii$qqtt**===  c!!A$$!oo!6!6QQqTT11Q448H8HIIIIiadd333iadd333/s1Q44yyAAAA
	B	Brc
nddtddtdddfD]}ttttt
tfD]}|tt||tt|||tt||||tt|||||ttt||ttt||tttt!|dSr)r*rjrHrzrrrhrrrrr
rrmrrrrrs   rrz'TestVariousIteratorArgs.test_ziplongestds^U4[[+uT$q7I7IJ	J	JAB1a(
W
W  k!!A$$&7&7!8!8$s11Q44yy//JJJ  k!!A$$!&=&=!>!>S1qqQRtt__@U@UVVVViadd;;;iadd;;;/{1Q447H7HIIII
	J	Jrc
tdtdtddtdddfD]}ttttt
tfD]}|ttt||d||D|tttj||||d	||D|
tttt||
tttt!||
t"tttt%|dS)
NrVrrrrrrc,g|]}t|Sr)rrs  rraz4TestVariousIteratorArgs.test_map.<locals>.<listcomp>qs!:!:!:&))!:!:!:rcg|]}||zSrrrs  rraz4TestVariousIteratorArgs.test_map.<locals>.<listcomp>s!5!5!51!Q$!5!5!5r)r*rjrHrzrrrhrrrrrrDrrrmrrrrrs   rrz TestVariousIteratorArgs.test_mapmsy))U1XXuSzz65Bq>>J	J	JAB1a(
7
7  c&!!A$$&7&7!8!8!:!:QQqTT!:!:!:<<<  c(,!aadd&C&C!D!D!5!5!!5!5!57777ifadd;;;ifadd;;;/s61Q447H7HIIII	J	JrcddtddtdddfD]!}ttttt
tfD]]}|tt||ddd	t||ddd	^|
ttt|d
|
ttt|d
|
tttt|d
#dS)N12345rryrrrrr	rrV)r*rjrHrzrrrhrrrr?rrmrrrrrs   rrz#TestVariousIteratorArgs.test_islicexs2uT{{KtD9K9KL	I	IAB1a(
P
P  fQQqTT!D&;&;!<!<d11Q44jjA>NOOOOi1r:::i1r:::/vaddB7G7GHHHH	I	Irc
ddtddtdddfD];}ttttt
tfD]z}t||}tt||dd}tt||}|
||{|ttt||ttt||tttt!|=dSr)r*rjrHrzrrrhrr
r=rrrrmrrrr)r1r]rr@rIrs      rr>z%TestVariousIteratorArgs.test_pairwises"U4[[+uT$q7I7IJ	G	GAB1a(
3
311Q44jjCQRR 1 122hqqttnn--  2222i1Q44888i1Q44888/x!~~FFFF	G	GrctdtdtddtdddfD]K}ttttt
tfD]i}t||}|tttj||d||Dj|
tttjt||
tttjt!||
t"tttjt%|MdS)	NrVrrrrrrcg|]}||zSrrrs  rraz8TestVariousIteratorArgs.test_starmap.<locals>.<listcomp>rr)r*rjrHrzrrrhrrrrrrDrrrmrrrr)r1r]rsss    rrz$TestVariousIteratorArgs.test_starmaps5))U1XXuSzz65Bq>>J	U	UAB1a(
7
7!QZZ  ghlAAbEE&B&B!C!C!5!5!!5!5!57777i(,"FFFi(,"FFF/wx|QrUU7S7STTTT	U	UrctdtdtddtdddfD]J}ttttt
tfD]w}g}||D](}t|sn||)|	ttt|||x|tttt||tttt||t tttt#|LdSNrVrryrrrr)r*rjrHrzrrrhr"rrrrrrrmrrrrr1r]rtgtrs     rrz&TestVariousIteratorArgs.test_takewhilesF))U1XXuT{{FE$tA<N<NO		P		PAB1a(
E
EAaDD%%D!$<<.JJt$$$$  i!&=&=!>!>DDDDiFAaDDAAAiFAaDDAAA/y17N7NOOOO		P		PrctdtdtddtdddfD]K}ttttt
tfD]x}g}||D])}|st|r||*|	ttt|||y|tttt||tttt||t tttt#|MdSr)r*rjrHrzrrrhr%rrrrrrrmrrrrrs     rrz&TestVariousIteratorArgs.test_dropwhilesI))U1XXuT{{FE$tA<N<NO		O		OAB1a(
D
DAaDD%%D85;;8JJt$$$$  iqqtt&<&<!=!=sCCCCiE1Q44@@@iE1Q44@@@/y!7M7MNNNN		O		Orc
ddtddtdddfD]V}ttttt
tfD]}t||\}}|t|t|||t|t|||
ttt||
ttt||
tttt|dXdS)	Nrrryrrrrr)r*rjrHrzrrrhrrrrrrmrrrr)r1r]rit1it2s     rrz TestVariousIteratorArgs.test_tees.U4[[+uT$q7I7IJ	E	EAB1a(
8
8qqtt99S  cD1JJ777  cD1JJ7777iadd333iadd333/s1Q44yy|DDDD	E	ErN)r9r:r;rrrlrlrrrrrrrrr>rrrrrrrrrsH	E	E	EDDDRRR@@@	D	D	DFFFMMMRRRBBBJJJ	J	J	JIII	G	G	GUUU
P
P
P
O
O
OEEEEErrceZdZdZdZdS)LengthTransparencycJ|tjtddd|tjtddd|tjtddddS)NrrrrrrDlength_hintrr0s rr|zLengthTransparency.test_repeats-fT2.>.>??DDD-fT1oo>>BBB-fTllB??DDDDDrc|tjtddd|tjtddd|tjtddd|tjtddddS)Nr:rrr~rr0s rrz2LengthTransparency.test_repeat_with_negative_timess-fT2.>.>??CCC-fT2.>.>??CCC-fT.D.D.DEEqIII-fT.D.D.DEEqIIIIIrN)r9r:r;r|rrrrrrs:EEE
JJJJJrrcreZdZdZdZejejddZdZ	dZ
dS)RegressionTestscd}fd}g|d|dtt}||dS)Ncdgffd	}t|}t||dd<t||}t|gt|zt	dS)Nr	cF|r|dd=t|Srr)rrrzs  rrz@RegressionTests.test_sf_793826.<locals>.mutatingtuple.<locals>.gs.aaaAd1ggJJJr)rrr
rrt)tuple1rtuple2ritemsgenrs `    @r
mutatingtuplez5RegressionTests.test_sf_793826.<locals>.mutatingtuples!"s







LLEfE!A#Ja--CcU3v;;&'AGGGGGrc>|attdd<dSr)Tr)rOrs rrz)RegressionTests.test_sf_793826.<locals>.fsAAwwE!!!HHHrr)rdrr)rrrr)r1rrsecondrs    @rtest_sf_793826zRegressionTests.test_sf_793826sm
	
	
						

gq'***a'''''rc
$fd}fd}g|ttt||d|ddgg|ttt||d|ddgg|ttt||ddgdS)Nc3rKddVdtr")rAssertionError)histsrgen1z,RegressionTests.test_sf_950057.<locals>.gen1s4KKNNNGGGKKNNN  rc3hKddVddS)Nrrrd)r)rrs rgen2z,RegressionTests.test_sf_950057.<locals>.gen2s2KKNNNGGGKKNNNNNrFrr	T)rrrrrrr)r1rrrs   @rtest_sf_950057zRegressionTests.test_sf_950057s										
.$ddffdd5kk0J0JKKK!u%%%.$ddffdd4jj0I0IJJJ!u%%%.$ddff

>>>!u%%%%%rcpuctdtdD}|t5t|ddddS#1swxYwYdS)Nc3K|]}dVdS)rNr)r`unuseds  rrzERegressionTests.test_long_chain_of_empty_iterables.<locals>.<genexpr>	s" B B B B B B B Bri)rrr*rr6rtrs  r"test_long_chain_of_empty_iterablesz2RegressionTests.test_long_chain_of_empty_iterabless
 
  B B%// B B B
B
B


}
-
-		HHH																		sA))A-0A-cvfd}ttd|D]\}tdS)Nc:|dkrt|dkS)Nrrr)r+rzs rrz,RegressionTests.test_issue30347_1.<locals>.f
	s AvvQ6MrrV)r*r*r)r1rr&rzs   @rtest_issue30347_1z!RegressionTests.test_issue30347_1		sX					eBii++		FQGGGG		rcGfdd}dtttd|dtdD]}tddS)Nc"eZdZdZfdZdS),RegressionTests.test_issue30347_2.<locals>.KcdSrrrvs  rr0z5RegressionTests.test_issue30347_2.<locals>.K.__init__	src>dz
dkrtddS)Nr	Tr)r1otherrrs  rrz3RegressionTests.test_issue30347_2.<locals>.K.__eq__	s'Q66DMMMtrN)r9r:r;r0r)rrsrKr	sB










rrrrVr	r)rtr*r*)r1rrrrs   @@rtest_issue30347_2z!RegressionTests.test_issue30347_2	s											
rA&&''*q		ADMMMM		rN)r9r:r;rrrskip_if_pgo_taskrequires_resourcerrrrrrrrs(((:&&&8
Wu%%&%




rrceZdZdZdS)SubclassWithKwargsTestcdtdddgftddgdfddgftdddgfdgftdddgfdgftddgdd	gfgd
ft
tddgfddgfttj	d
fddgftgdddfddgfttgdfdgfttgdfdd	gftddgfgdftdgdfddgfg}|D]\}}}||5Gdd|}||}|t%|||t)t|dd||t,5||ddidddn#1swxYwYdddn#1swxYwY|D]\}}}|tttfvr||5Gdd|}||ddi}|t%|||t)t|dd|||jddddn#1swxYwY|D]\}}}||5Gdd|}||ddi}|t%|||t)t|dd|||jddddn#1swxYwYdS)Nr8r	rrrzrrrrdr12)rur.rr)r	rrrd)rrrd)r	rr	rr`rrceZdZdS)BSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclassNrrrrsubclassr4	sDrrnewargceZdZdddZdS)LSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_initNrc||_dSrr)r1rrs   rr0zUSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_init.__init__D	s
&,r)r9r:r;r0rrrsubclass_with_initrC	s059-------rrc$eZdZddfd
ZxZS)KSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_newNrcJtj|g|R}||_|Sr)super__new__r)clsrrr1rs    rrzSSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_new.__new__N	s,.uwws:T:::&,#r)r9r:r;r
__classcell__)rs@rsubclass_with_newrM	sE37$$$$$$$$$$$rr)rr
rUrrrrlrrDrr?rr"rrrisubTestr(rsrrrrrmr)	r1rrrrrurrs	         rtest_keywords_in_subclassz0SubclassWithKwargsTest.test_keywords_in_subclass"	sVaV$
Aq64.8X"67
dQF^aS)
4!Q.1#.
aVaV$iii0
3A-#s,
x|%56A?
lllAq)Aq62
+aS1
+aV4
aVIyyy)
yyy)C:6

	"+	.	.Cvc""
.
.sHdO

d1ggx000  fQ1oo!6!6???&&y11..Hd-1---...............

.
.
.
.
.
.
.
.
.
.
.
.
.
.
."+
	.
	.CvvsH---c""
.
.--------'&7Q77

d1gg'9:::  fQ1oo!6!6???  1---
.
.
.
.
.
.
.
.
.
.
.
.
.
.
."+
	.
	.Cvc""	
.	
.$$$$$$$$
&%t6A66

d1gg'8999  fQ1oo!6!6???  1---	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.
	.
	.s]&BF)	E>2F>FFFFF	F	BI((I,	/I,	BL$$L(	+L(	N)r9r:r;rrrrrr!	s#3.3.3.3.3.rrc:eZdZdZejZdZdZdZdZ	dS)
SizeofTestc8tjd|_dS)Nr+)structcalcsizessize_tr0s rsetUpzSizeofTest.setUpZ	ss++rctjd}|j}|tdd|d|jzz|td|d|jzzdS)N3Pir12r)
rrrrrrrrrrrV)rcalcobjsizecheck_sizeofrrr1basesizerKs   rtest_product_sizeofzSizeofTest.test_product_sizeof_	sk&u--!
gdD!!8a$,.>#>???
g
'B4E)EFFFFFrctjd}|j}|tdd|d|jzz|ttdd|d|jzzdSN3PnirrrVrd)rrrrrr*rs   rtest_combinations_sizeofz#SizeofTest.test_combinations_sizeofe	sv&v..!
l61%%x!dl2B'BCCC
l599a(((Q5E*EFFFFFrct}tjd}|j}||dd|d|jzz||tdd|d|jzzdSr)rrrrrr*)r1r+rrKs    r)test_combinations_with_replacement_sizeofz4SizeofTest.test_combinations_with_replacement_sizeofk	s}+&v..!
cc&!nnhT\)99:::
cc%))QA,<!<=====rctjd}|j}|td|d|jzzd|jzz|tdd|d|jzzd|jzz|tdd|d|jzzd|jzz|ttdd|d|jzzd|jzzdS)N4PnirrdrrrrV)rrrrrr*rs   rtest_permutations_sizeofz#SizeofTest.test_permutations_sizeofr	s&v..!
l6""T\))A,<<	>	>	>
l61%%T\))A,<<	>	>	>
l7A&&T\))A,<<	>	>	>
l599a((dl**Q-==	?	?	?	?	?rN)
r9r:r;r
rrrrrrrrrrrX	so,,,'LGGGGGG>>>
?
?
?
?
?rrcR|tj|Sr)addTestdoctestDocTestSuite)loadertestspatterns   r
load_testsr&	s"	MM'&(()))Lr__main__)Br!unittesttestrtest.supportr	itertoolsrdecimalr	fractionsrrDrgrrZ	functoolsrrr
rrMAX_Py_ssize_tr~minsizerrrrr"r%r'r,r.rArHrKrPrTrWr*rrTestCasercrr3r<rhrjrHrzrrrrrrrrrrrr&r9mainrrr<module>r3sk))))))















				

 (1*
   ---
BB#eF$;a$?@@BBB
l1l1l1l1l18$l1l1l1^3kMkMkMkMkM8$kMkMkM\'%'%'%'%'%X%6'%'%'%Tg9g9g9g9g9X
g9g9g9R
								222
dEdEdEdEdEh/dEdEdELJJJJJ*JJJZZZZZh'ZZZz4.4.4.4.4.X.4.4.4.n	#?#?#?#?#?"#?#?#?L
zHMOOOOOr