python (3.11.7)

(root)/
lib/
python3.11/
lib2to3/
tests/
__pycache__/
test_pytree.cpython-311.opt-1.pyc

e?dZddlmZddlmZ	en#e$rdZYnwxYwGddejZGdd	ejZ	d
S)aUnit tests for pytree.py.

NOTE: Please *don't* add doc strings to individual test methods!
In verbose mode, printing of the module, class and method name is much
more helpful than printing of (the first line of) the docstring,
especially when debugging a test.
)support)pytreecLt|}||SN)listsort)lstls  M/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/lib2to3/tests/test_pytree.pysortedr
sII	ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"S)#	TestNodesz(Unit tests for nodes (Base, Leaf, Node).cdSr)assertRaisesAssertionErrorrBase)selfs rtest_instantiate_basezTestNodes.test_instantiate_bases	;	;rctjdd}||jd||jddS)Ndfoo)rLeafassertEqualtypevaluerl1s  r	test_leafzTestNodes.test_leaf"sI
[e
$
$#&&&5)))))rcvtjdd}|t|ddS)NrrzLeaf(100, 'foo'))rrrreprrs  rtest_leaf_reprzTestNodes.test_leaf_repr's6
[e
$
$b#566666rctjdd}|t|dtjddd}|t|ddS)Nrr) )
rcontextz foo)rrrstr)rrl2s   r
test_leaf_strzTestNodes.test_leaf_str+sg
[e
$
$R%(((
[e^
<
<
<R&)))))rctjdd}d|_|t	|ddS)Nfoo_foo_5)rrprefixrr)rs  rtest_leaf_str_numeric_valuez%TestNodes.test_leaf_str_numeric_value1s>[A

	R'*****rc6tjdd}tjddd}|||tjdd}tjdd}||||||dS)Nrrr%)rrr'ebar)rrrassertNotEqual)rrr*l3l4s     rtest_leaf_equalityzTestNodes.test_leaf_equality8s
[e
$
$
[e]
;
;
;R   
[e
$
$
[e
$
$B###B#####rctjdd}||jd||jd|_||jd||jdS)Nrrz  ##

)rrrr1assertFalsewas_changed
assertTruers  rtest_leaf_prefixzTestNodes.test_leaf_prefixAsz
[e
$
$B'''(((	J///'''''rctjdd}tjdd}tjd||g}||jd||j||gdS)Nrrr6)rrNoderrchildrenrrr*n1s    r	test_nodezTestNodes.test_nodeIss
[e
$
$
[e
$
$
[Bx
(
($'''r2h/////rc	tjdd}tjddd}tjd||g}|t	|dt	|dt	|d	dS)
Nrrr6r4r'rCzNode(1000, [z, z]))rrrDrr"rFs    rtest_node_reprzTestNodes.test_node_reprPs
[e
$
$
[e]
;
;
;
[Bx
(
(b378888T"XXXXF	H	H	H	H	Hrctjdd}tjddd}tjd||g}|t	|ddS)Nrrr6r4r'rCzfoo bar)rrrDrr)rFs    r
test_node_strzTestNodes.test_node_strWs`
[e
$
$
[e]
;
;
;
[Bx
(
(R),,,,,rcBtjdd}||jdtjd|g}||jdd|_||jd||jddS)Nrrr<rCr%)rrrr1rD)rrrGs   rtest_node_prefixzTestNodes.test_node_prefix]s
[e
$
$B'''
[t
$
$B'''	C(((C(((((rctjddd}tjddd}tjd||g}|||j||d||dtjddd	}tjd||g}|||j||d||ddS)
Nrrar1r6brCr<c)rrrDr
get_suffixr1)rrr*rGr8n2s      rtest_get_suffixzTestNodes.test_get_suffixfs,
[eC
0
0
0
[eC
0
0
0
[Bx
(
(")444"---"---
[eC
0
0
0
[Bx
(
(")444"---"-----rctjdd}tjdgd}|||tjdd}|||dS)NrCr4r'i)rrDrr7)rrGrUn3s    rtest_node_equalityzTestNodes.test_node_equalityvsl
[r
"
"
[r=
9
9
9R   
[r
"
"B#####rc`tjdd}tjdd}tjd|g}tjd|g}|||tjdd}tjd|g}|||dS)NrrrCr6)rrrDrr7)rrr*rGrUr8rYs       rtest_node_recursive_equalityz&TestNodes.test_node_recursive_equality}s
[e
$
$
[e
$
$
[t
$
$
[t
$
$R   
[e
$
$
[t
$
$B#####rchtjdd}tjdd}tjdd}tjd|||g}||j|||g||jt||jtjdd}|	|||j|||g||jt|
|jdS)Nrr+r6rC-)rrrDrrEassertIsInstancerr=r>replacer?)rrr*r8rGl2news      rtest_replacezTestNodes.test_replaces
[e
$
$
[c
"
"
[e
$
$
[B|
,
,r2rl333bk4000(((C%%


5r5"o666bk4000'''''rctjdd}tjdd}tjdd}tjd|||g}|tjddtjddg|t|d||jtdS)Nrrr^r6rC*zfoo**bar)	rrrDrarr)r`rEr)rrr*r8rGs     rtest_replace_with_listz TestNodes.test_replace_with_lists
[e
$
$
[c
"
"
[e
$
$
[B|
,
,


FKS))6;sC+@+@ABBBR*---bk400000rc|tjdd}tjdd}tjdd}tjd||g}tjd|g}tjd||g}|t	||||gdSNrrr6fooeyrC)rrrDrrleaves)rrr*r8rUrYrGs       rtest_leaveszTestNodes.test_leavess
[e
$
$
[e
$
$
[g
&
&
[Bx
(
(
[t
$
$
[Bx
(
(biikk**RRL99999rctjdd}tjdd}tjd||g}tjdg}tjd||g}||d||d||ddS)Nrrr6rCr-rr)rrrDrdepth)rrr*rUrYrGs      r
test_depthzTestNodes.test_depths
[e
$
$
[e
$
$
[Bx
(
(
[r
"
"
[Bx
(
(Q'''Q'''Q'''''rcTtjdd}tjdd}tjdd}tjd||g}tjd||g}|t	||||||gdSrh)rrrDrr
post_orderrrr*r8c1rGs      rtest_post_orderzTestNodes.test_post_orders
[e
$
$
[e
$
$
[g
&
&
[Bx
(
(
[Bx
(
(bmmoo..RR0DEEEEErcTtjdd}tjdd}tjdd}tjd||g}tjd||g}|t	||||||gdSrh)rrrDrr	pre_orderrqs      rtest_pre_orderzTestNodes.test_pre_orders
[e
$
$
[e
$
$
[g
&
&
[Bx
(
(
[Bx
(
(bllnn--BB/CDDDDDrctjdd}||j|||jtjdd}tjd|g}||j|||jtjdd}tjdd}tjdd}tjd|||g}tjd|g}||j||j||j|||j||j||jdS)NrfrCrr^r6)rrr=r>changedr?rD)rrrGr*r8rUs      rtest_changedzTestNodes.test_changeds
[c
"
"(((


'''
[c
"
"
[t
$
$(((


'''
[e
$
$
[c
"
"
[e
$
$
[B|
,
,
[t
$
$(((((((((


''''''(((((rcdD]Z}tjdd|}|t||dz||j|[dS)Nxyz_r<rrrQ)rrr?r)rr1)rr1rs   rtest_leaf_constructor_prefixz&TestNodes.test_leaf_constructor_prefixsj"	0	0FS&888BOOCGGVf_555RY////	0	0rcdD]}tjdd}tjddd}tjd||g|}|t	||dz||j|||j|||jddS)	Nr|rrr_rQrCself_foo)rrrDr?r)rr1)rr1rr*rGs     rtest_node_constructor_prefixz&TestNodes.test_node_constructor_prefixs"	-	-FS&))BS%444BTB8F;;;BOOCGGVj%8999RY///RY///RY,,,,	-	-rc$tjdd}tjdd}tjd||g}tjd|g}||d||jg||j|||jd||jd||j|	|j||d||d||jg||jd||jd||jd|	|j|	|jdS)NrrrCrr)
rrrDrremoverEparentr=r>r?)rrr*rGrUs     rtest_removezTestNodes.test_removes
[e
$
$
[e
$
$
[Bx
(
(
[t
$
$a(((b)))B'''D)))D)))((('''a(((a(((b)))D)))D)))D)))''''''''rctjdg}|||jdtjdd}|||jddS)NrCrr)rrDrrrr)rrGrs   rtest_remove_parentlessz TestNodes.test_remove_parentlessst
[r
"
"
		D)))
[e
$
$
		D)))))rctjdd}tjd|g}tjdd}|d|||jd||j|||j|gtjd|g}|d|||jd||j|||jd||j|g|t|jd||t|jdtdS)NrrrCr6r)rrrD	set_childrrrEr
IndexError	Exceptionr)rrrGr*rUs     rtest_node_set_childzTestNodes.test_node_set_childs\
[e
$
$
[t
$
$
[e
$
$
QD)))B'''rd+++
[t
$
$
QD)))B'''D)))rd+++*blAr:::)R\1d;;;;;rctjdd}tjd|g}tjdd}|d|||j|||j||gtjdd}|d|||j|||g|t|jdtdS)NrrrCr6rabcr-)
rrrDinsert_childrrrErrr)rrrGr*r8s     rtest_node_insert_childz TestNodes.test_node_insert_child#s
[e
$
$
[t
$
$
[e
$
$
2B'''r2h///
[e
$
$
2r2rl333	
)R_a>>>>>rctjdg}tjdd}||||j|||j|gtjdd}||||j|||j||g|t|jtdS)NrCrrr6)
rrDrappend_childrrrErrr)rrGrr*s    rtest_node_append_childz TestNodes.test_node_append_child3s
[r
"
"
[e
$
$
B'''rd+++
[e
$
$
B'''r2h///	
)R_d;;;;;rc*tjdg}tjdg}tjd||g}||j|||jd||jddSNrC)rrDassertIsnext_siblingrrrGrUp1s    rtest_node_next_siblingz TestNodes.test_node_next_siblingC
[r
"
"
[r
"
"
[Bx
(
(

bor***$///$/////rc*tjdd}tjdd}tjd||g}||j|||jd||jddSNrrPrRrC)rrrDrrrrrr*rs    rtest_leaf_next_siblingz TestNodes.test_leaf_next_siblingL
[c
"
"
[c
"
"
[Bx
(
(

bor***$///$/////rc*tjdg}tjdg}tjd||g}||j|||jd||jddSr)rrDrprev_siblingrrs    rtest_node_prev_siblingz TestNodes.test_node_prev_siblingUrrc*tjdd}tjdd}tjd||g}||j|||jd||jddSr)rrrDrrrrs    rtest_leaf_prev_siblingz TestNodes.test_leaf_prev_sibling^rrN)$__name__
__module____qualname____doc__rr r#r+r2r:r@rHrJrLrNrVrZr\rcrfrkrnrsrvrzr~rrrrrrrrrrrXrrrrs22;;;
***
777***+++$$$(((000HHH---)))... $$$$$$(((111:::	(	(	(FFFEEE)))4000---(((.***<<<*??? <<< 00000000000000rrc*eZdZdZdZdZdZdZdS)TestPatternsz&Unit tests for tree matching patterns.ctjdd}tjdd}tjdd}tjd||g}tjd|g}tjd||g}tjddd}i}||||||i||||||i||||||i||||||d|ii}||||||itjd|gd}	||	||||i||	||||i||	||||||d	i}||	||||i||	||||idS)
Nrrr6rCplname)resultspn)rr)	rrrDLeafPatternr=matchrr?NodePattern)
rrr*r8rGrUrootrrrs
          rtest_basic_patternsz TestPatterns.test_basic_patternsls
[e
$
$
[e
$
$
[e
$
$
[Bx
(
(
[t
$
${4"b**

U
6
6
6$22333B"a00111B"a00111BQ//000T2J'''"a00111B

rd
6
6
6$22333B"a00111BQ//0002R00111"a00111B"a00111Brctjdd}tjdd}tjdd}tjd||g}tjd|g}tjd||g}tjddd}tjd|gd}tj|g||ggd}	i}
||	|g|
||
i||	|g|
||
i|	|	|g|
|t|
gd	||
d|||
d|||
d|g||
|||gd	i}
|	|	||g|
||
|||gd
||
d|i}
dS)Nrrr6rCrrrpw)rrr)rr)
rrrDrrWildcardPatternr=	match_seqrr?r
keysr)rrr*r8rGrUrrrrrs           r
test_wildcardzTestPatterns.test_wildcardsh
[e
$
$
[e
$
$
[e
$
$
[Bx
(
(
[t
$
${4"b**

U
6
6
6

rd
6
6
6

#bTB8$44
@
@
@tfa00111BrdA..///BbT1--...))+=+=+=>>>4"%%%4"%%%42$'''2Rt<<===b"Xq112222b"X66777

agr"""rc	tjdd}tjdd}tjdd}tjdd}tjdd}tjdd}||||||g}tjd|}tjddd	}	tjddd
}
tjddd}tjddd}tjddd
}
tjddd}tj|	|
|g||
g|	|
g||g|
|ggddd}|d||Dgdtjd|gd}ttj|g|g}|t|d|d\}}||d|t|dd||d||||||gdD]4}||d|ztjd|5dS)NrrPrRrSderxrCpapbpcpdpepfrr)minmaxrcg|]
}|dS)rrX).0xs  r
<listcomp>z6TestPatterns.test_generate_matches.<locals>.<listcomp>sDDD1!A$DDDr)r.r-rpr)rcontentrrabcdefp)rrrDrrrgenerate_matchesrrlenr))rlalblcldlelfrjrrrrrrrrrmatchesrSrs                    rtest_generate_matchesz"TestPatterns.test_generate_matchess
[C
 
 
[C
 
 
[C
 
 
[C
 
 
[C
 
 
[C
 
 b"b"b){4((

3
-
-

3
-
-

3
-
-

3
-
-

3
-
-

3
-
-

#b"b\B8&("XBx"b%C()qt===	
DD(;(;F(C(CDDD(	*	*	*

TB4d
C
C
Cv.tdV<<==Wq)))qz1AQtWx00042r2r2r":;;;	<	<AQsQwZQ):):;;;;	<	<rctjdtjdtjdtjdf}tjdd}tjdd}tjdd	}tjd|||g}i}||||||d|gdS)
NiKargsr(rr))	rrrrrrDr?rr)rpatternrr*r8noders       rtest_has_key_examplez!TestPatterns.test_has_key_examples$S&,&8&;&;&,&<&&I&I&I&,&8&;&;&=>>[C
 
 
[C
 
 
[C
 
 {3R--

dA..///6RD)))))rN)rrrrrrrrrXrrrrhsW00" " " H><<<<*****rrN)
rr<rlib2to3rr
	NameErrorTestCaserrrXrr<module>rs
FFL0L0L0L0L0 L0L0L0^
p*p*p*p*p*7#p*p*p*p*p*s