Current File : //usr/local/apps/python3/lib/python3.11/lib2to3/tests/__pycache__/test_pytree.cpython-311.opt-1.pyc
�

�Ke�?���dZddlmZddlmZ	en#e$rd�ZYnwxYwGd�dej��ZGd�d	ej��Z	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�)�pytreec�L�t|��}|���|S�N)�list�sort)�lst�ls  �C/usr/local/apps/python3/lib/python3.11/lib2to3/tests/test_pytree.py�sortedr
s����I�I��	��������c���eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"S)#�	TestNodesz(Unit tests for nodes (Base, Leaf, Node).c��dSr)�assertRaises�AssertionErrorr�Base)�selfs r�test_instantiate_basezTestNodes.test_instantiate_bases��	;�	;rc��tjdd��}|�|jd��|�|jd��dS)N�d�foo)r�Leaf�assertEqual�type�value�r�l1s  r�	test_leafzTestNodes.test_leaf"sI��
�[��e�
$�
$�������#�&�&�&������5�)�)�)�)�)rc�v�tjdd��}|�t|��d��dS)NrrzLeaf(100, 'foo'))rrr�reprrs  r�test_leaf_reprzTestNodes.test_leaf_repr's6��
�[��e�
$�
$������b���#5�6�6�6�6�6rc���tjdd��}|�t|��d��tjddd���}|�t|��d��dS)Nrr)� )�
r��contextz foo)rrr�str)rr�l2s   r�
test_leaf_strzTestNodes.test_leaf_str+sg��
�[��e�
$�
$������R���%�(�(�(�
�[��e�^�
<�
<�
<������R���&�)�)�)�)�)rc��tjdd��}d|_|�t	|��d��dS)N���foo_�foo_5)rr�prefixrr)rs  r�test_leaf_str_numeric_valuez%TestNodes.test_leaf_str_numeric_value1s>���[��A�
�
����	�����R���'�*�*�*�*�*rc�6�tjdd��}tjddd���}|�||��tjdd��}tjdd��}|�||��|�||��dS)Nrr�r%)rrr'�e�bar)rrr�assertNotEqual)rrr*�l3�l4s     r�test_leaf_equalityzTestNodes.test_leaf_equality8s���
�[��e�
$�
$��
�[��e�]�
;�
;�
;������R� � � �
�[��e�
$�
$��
�[��e�
$�
$�����B��#�#�#����B��#�#�#�#�#rc��tjdd��}|�|jd��|�|j��d|_|�|jd��|�|j��dS)Nrr�z  ##

)rrrr1�assertFalse�was_changed�
assertTruers  r�test_leaf_prefixzTestNodes.test_leaf_prefixAsz��
�[��e�
$�
$�������B�'�'�'������(�(�(���	������J�/�/�/������'�'�'�'�'rc��tjdd��}tjdd��}tjd||g��}|�|jd��|�|j||g��dS)Nrr��r6��)rr�Noderr�children�rrr*�n1s    r�	test_nodezTestNodes.test_nodeIss��
�[��e�
$�
$��
�[��e�
$�
$��
�[���B�x�
(�
(�������$�'�'�'������r�2�h�/�/�/�/�/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�]�
;�
;�
;��
�[���B�x�
(�
(������b����37��8�8�8�8�T�"�X�X�X�X�F�	H�	H�	H�	H�	Hrc���tjdd��}tjddd���}tjd||g��}|�t	|��d��dS)Nrrr6r4r'rCzfoo bar)rrrDrr)rFs    r�
test_node_strzTestNodes.test_node_strWs`��
�[��e�
$�
$��
�[��e�]�
;�
;�
;��
�[���B�x�
(�
(������R���)�,�,�,�,�,rc�B�tjdd��}|�|jd��tjd|g��}|�|jd��d|_|�|jd��|�|jd��dS)Nrrr<rCr%)rrrr1rD)rrrGs   r�test_node_prefixzTestNodes.test_node_prefix]s���
�[��e�
$�
$�������B�'�'�'�
�[���t�
$�
$�������B�'�'�'���	������C�(�(�(������C�(�(�(�(�(rc���tjddd���}tjddd���}tjd||g��}|�|���|j��|�|���d��|�|���d��tjddd	���}tjd||g��}|�|���|j��|�|���d��|�|���d��dS)
Nrr�a�r1r6�brCr<�c)rrrDr�
get_suffixr1)rrr*rGr8�n2s      r�test_get_suffixzTestNodes.test_get_suffixfs,��
�[��e�C�
0�
0�
0��
�[��e�C�
0�
0�
0��
�[���B�x�
(�
(����������"�)�4�4�4���������"�-�-�-���������"�-�-�-�
�[��e�C�
0�
0�
0��
�[���B�x�
(�
(����������"�)�4�4�4���������"�-�-�-���������"�-�-�-�-�-rc���tjdd��}tjdgd���}|�||��tjdd��}|�||��dS)NrC�r4r'i�)rrDrr7)rrGrU�n3s    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��#�#�#�#�#rc�h�tjdd��}tjdd��}tjdd��}tjd|||g��}|�|j|||g��|�|jt��|�|j��tjdd��}|�	|��|�|j|||g��|�|jt��|�
|j��dS)Nrr�+r6rC�-)rrrDrrE�assertIsInstancerr=r>�replacer?)rrr*r8rG�l2news      r�test_replacezTestNodes.test_replace�s��
�[��e�
$�
$��
�[��c�
"�
"��
�[��e�
$�
$��
�[���B��|�
,�
,�������r�2�r�l�3�3�3����b�k�4�0�0�0������(�(�(���C��%�%��
�
�
�5���������r�5�"�o�6�6�6����b�k�4�0�0�0������'�'�'�'�'rc��tjdd��}tjdd��}tjdd��}tjd|||g��}|�tjdd��tjdd��g��|�t|��d��|�|jt��dS)Nrrr^r6rC�*zfoo**bar)	rrrDrarr)r`rEr)rrr*r8rGs     r�test_replace_with_listz TestNodes.test_replace_with_list�s���
�[��e�
$�
$��
�[��c�
"�
"��
�[��e�
$�
$��
�[���B��|�
,�
,��
�
�
�F�K��S�)�)�6�;�s�C�+@�+@�A�B�B�B�����R���*�-�-�-����b�k�4�0�0�0�0�0rc�|�tjdd��}tjdd��}tjdd��}tjd||g��}tjd|g��}tjd||g��}|�t	|�����|||g��dS�Nrrr6�fooeyrC)rrrDrr�leaves)rrr*r8rUrYrGs       r�test_leaveszTestNodes.test_leaves�s���
�[��e�
$�
$��
�[��e�
$�
$��
�[��g�
&�
&��
�[���B�x�
(�
(��
�[���t�
$�
$��
�[���B�x�
(�
(������b�i�i�k�k�*�*�R��R�L�9�9�9�9�9rc���tjdd��}tjdd��}tjd||g��}tjdg��}tjd||g��}|�|���d��|�|���d��|�|���d��dS)Nrrr6rCr-rr)rrrDr�depth)rrr*rUrYrGs      r�
test_depthzTestNodes.test_depth�s���
�[��e�
$�
$��
�[��e�
$�
$��
�[���B�x�
(�
(��
�[��r�
"�
"��
�[���B�x�
(�
(����������Q�'�'�'���������Q�'�'�'���������Q�'�'�'�'�'rc�T�tjdd��}tjdd��}tjdd��}tjd||g��}tjd||g��}|�t	|�����|||||g��dSrh)rrrDrr�
post_order�rrr*r8�c1rGs      r�test_post_orderzTestNodes.test_post_order�s���
�[��e�
$�
$��
�[��e�
$�
$��
�[��g�
&�
&��
�[���B�x�
(�
(��
�[���B�x�
(�
(������b�m�m�o�o�.�.��R��R��0D�E�E�E�E�Erc�T�tjdd��}tjdd��}tjdd��}tjd||g��}tjd||g��}|�t	|�����|||||g��dSrh)rrrDrr�	pre_orderrqs      r�test_pre_orderzTestNodes.test_pre_order�s���
�[��e�
$�
$��
�[��e�
$�
$��
�[��g�
&�
&��
�[���B�x�
(�
(��
�[���B�x�
(�
(������b�l�l�n�n�-�-��B��B��/C�D�D�D�D�Drc���tjdd��}|�|j��|���|�|j��tjdd��}tjd|g��}|�|j��|���|�|j��tjdd��}tjdd��}tjdd��}tjd|||g��}tjd|g��}|�|j��|�|j��|�|j��|���|�|j��|�|j��|�|j��dS)Nr�frCrr^r6)rrr=r>�changedr?rD)rrrGr*r8rUs      r�test_changedzTestNodes.test_changed�s���
�[��c�
"�
"�������(�(�(�
�
�
���������'�'�'�
�[��c�
"�
"��
�[���t�
$�
$�������(�(�(�
�
�
���������'�'�'�
�[��e�
$�
$��
�[��c�
"�
"��
�[��e�
$�
$��
�[���B��|�
,�
,��
�[���t�
$�
$�������(�(�(������(�(�(������(�(�(�
�
�
���������'�'�'������'�'�'������(�(�(�(�(rc��dD]Z}tjdd|���}|�t|��|dz��|�|j|���[dS)N��xyz_r<rrrQ)rrr?r)rr1)rr1rs   r�test_leaf_constructor_prefixz&TestNodes.test_leaf_constructor_prefix�sj��"�	0�	0�F���S�&��8�8�8�B��O�O�C��G�G�V�f�_�5�5�5����R�Y��/�/�/�/�	0�	0rc��dD]�}tjdd��}tjddd���}tjd||g|���}|�t	|��|dz��|�|j|��|�|j|��|�|jd����dS)	Nr|rrr�_rQrC�self_foo)rrrDr?r)rr1)rr1rr*rGs     r�test_node_constructor_prefixz&TestNodes.test_node_constructor_prefix�s���"�	-�	-�F���S�&�)�)�B���S�%��4�4�4�B���T�B��8�F�;�;�;�B��O�O�C��G�G�V�j�%8�9�9�9����R�Y��/�/�/����R�Y��/�/�/����R�Y��,�,�,�,�	-�	-rc�$�tjdd��}tjdd��}tjd||g��}tjd|g��}|�|���d��|�|jg��|�|j|��|�|jd��|�|jd��|�|j��|�	|j��|�|���d��|�|���d��|�|jg��|�|jd��|�|jd��|�|jd��|�	|j��|�	|j��dS)NrrrCrr)
rrrDr�removerE�parentr=r>r?)rrr*rGrUs     r�test_removezTestNodes.test_remove�s���
�[��e�
$�
$��
�[��e�
$�
$��
�[���B�x�
(�
(��
�[���t�
$�
$����������a�(�(�(������b�)�)�)������B�'�'�'������D�)�)�)������D�)�)�)������(�(�(������'�'�'���������a�(�(�(���������a�(�(�(������b�)�)�)������D�)�)�)������D�)�)�)������D�)�)�)������'�'�'������'�'�'�'�'rc��tjdg��}|���|�|jd��tjdd��}|���|�|jd��dS)NrCrr)rrDr�rr�r)rrGrs   r�test_remove_parentlessz TestNodes.test_remove_parentlessst��
�[��r�
"�
"��
�	�	���������D�)�)�)�
�[��e�
$�
$��
�	�	���������D�)�)�)�)�)rc��tjdd��}tjd|g��}tjdd��}|�d|��|�|jd��|�|j|��|�|j|g��tjd|g��}|�d|��|�|jd��|�|j|��|�|jd��|�|j|g��|�t|jd|��|�t|jdt��dS)NrrrCr6r�)rrrD�	set_childrr�rEr�
IndexError�	Exceptionr)rrrGr*rUs     r�test_node_set_childzTestNodes.test_node_set_childs\��
�[��e�
$�
$��
�[���t�
$�
$��
�[��e�
$�
$��
���Q����������D�)�)�)������B�'�'�'������r�d�+�+�+�
�[���t�
$�
$��
���Q����������D�)�)�)������B�'�'�'������D�)�)�)������r�d�+�+�+����*�b�l�A�r�:�:�:����)�R�\�1�d�;�;�;�;�;rc��tjdd��}tjd|g��}tjdd��}|�d|��|�|j|��|�|j||g��tjdd��}|�d|��|�|j|||g��|�t|jdt��dS)NrrrCr6r�abcr-)
rrrD�insert_childrr�rErr�r)rrrGr*r8s     r�test_node_insert_childz TestNodes.test_node_insert_child#s���
�[��e�
$�
$��
�[���t�
$�
$��
�[��e�
$�
$��
����2���������B�'�'�'������r�2�h�/�/�/�
�[��e�
$�
$��
����2���������r�2�r�l�3�3�3�	
���)�R�_�a��>�>�>�>�>rc��tjdg��}tjdd��}|�|��|�|j|��|�|j|g��tjdd��}|�|��|�|j|��|�|j||g��|�t|jt��dS)NrCrrr6)
rrDr�append_childrr�rErr�r)rrGrr*s    r�test_node_append_childz TestNodes.test_node_append_child3s���
�[��r�
"�
"��
�[��e�
$�
$��
������������B�'�'�'������r�d�+�+�+�
�[��e�
$�
$��
������������B�'�'�'������r�2�h�/�/�/�	
���)�R�_�d�;�;�;�;�;rc�*�tjdg��}tjdg��}tjd||g��}|�|j|��|�|jd��|�|jd��dS�NrC)rrD�assertIs�next_siblingr�rrGrU�p1s    r�test_node_next_siblingz TestNodes.test_node_next_siblingC���
�[��r�
"�
"��
�[��r�
"�
"��
�[���B�x�
(�
(���
�
�b�o�r�*�*�*������$�/�/�/������$�/�/�/�/�/rc�*�tjdd��}tjdd��}tjd||g��}|�|j|��|�|jd��|�|jd��dS�NrrPrRrC)rrrDr�r�r�rrr*r�s    r�test_leaf_next_siblingz TestNodes.test_leaf_next_siblingL���
�[��c�
"�
"��
�[��c�
"�
"��
�[���B�x�
(�
(���
�
�b�o�r�*�*�*������$�/�/�/������$�/�/�/�/�/rc�*�tjdg��}tjdg��}tjd||g��}|�|j|��|�|jd��|�|jd��dSr�)rrDr��prev_siblingrr�s    r�test_node_prev_siblingz TestNodes.test_node_prev_siblingUr�rc�*�tjdd��}tjdd��}tjd||g��}|�|j|��|�|jd��|�|jd��dSr�)rrrDr�r�rr�s    r�test_leaf_prev_siblingz TestNodes.test_leaf_prev_sibling^r�rN)$�__name__�
__module__�__qualname__�__doc__rr r#r+r2r:r@rHrJrLrNrVrZr\rcrfrkrnrsrvrzr~r�r�r�r�r�r�r�r�r�r�rXrrrrs������2�2�;�;�;�
*�*�*�
7�7�7�*�*�*�+�+�+�$�$�$�(�(�(�0�0�0�H�H�H�-�-�-�)�)�)�.�.�.� $�$�$�$�$�$�(�(�(�1�1�1�:�:�:�	(�	(�	(�F�F�F�E�E�E�)�)�)�40�0�0�-�-�-�(�(�(�.*�*�*�<�<�<�*?�?�?� <�<�<� 0�0�0�0�0�0�0�0�0�0�0�0�0�0rrc�*�eZdZdZd�Zd�Zd�Zd�ZdS)�TestPatternsz&Unit tests for tree matching patterns.c��tjdd��}tjdd��}tjdd��}tjd||g��}tjd|g��}tjd||g��}tjddd���}i}|�|�||�����|�|i��|�|�||�����|�|i��|�|�||�����|�|i��|�|�||�����|�|d|i��i}|�|�||�����|�|i��tjd|gd���}	|�|	�||�����|�|i��|�|	�||�����|�|i��|�|	�||�����|�|||d	���i}|�|	�||�����|�|i��|�|	�||�����|�|i��dS)
Nrrr6rC�pl��name)�results�pn)r�r�)	rrrD�LeafPatternr=�matchrr?�NodePattern)
rrr*r8rGrU�rootr��rr�s
          r�test_basic_patternsz TestPatterns.test_basic_patternsls��
�[��e�
$�
$��
�[��e�
$�
$��
�[��e�
$�
$��
�[���B�x�
(�
(��
�[���t�
$�
$���{�4�"�b��*�*��
�
��U��
6�
6�
6����������$���2�2�3�3�3�����B����������"�a��0�0�1�1�1�����B����������"�a��0�0�1�1�1�����B�����������Q��/�/�0�0�0�����T�2�J�'�'�'���������"�a��0�0�1�1�1�����B����
�
��r�d��
6�
6�
6��������$���2�2�3�3�3�����B����������"�a��0�0�1�1�1�����B�����������Q��/�/�0�0�0�����2�R�0�0�1�1�1���������"�a��0�0�1�1�1�����B����������"�a��0�0�1�1�1�����B�����rc��tjdd��}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)Nrrr6rCr�r�r��pw)r�r�r�)r�r�)
rrrDr�r��WildcardPatternr=�	match_seqrr?r
�keysr�)rrr*r8rGrUr�r�r�r�r�s           r�
test_wildcardzTestPatterns.test_wildcard�sh��
�[��e�
$�
$��
�[��e�
$�
$��
�[��e�
$�
$��
�[���B�x�
(�
(��
�[���t�
$�
$���{�4�"�b��*�*��
�
��U��
6�
6�
6��
�
��r�d��
6�
6�
6��
�
#�b�T�B��8�$4�4�
@�
@�
@����������t�f�a�0�0�1�1�1�����B����������r�d�A�.�.�/�/�/�����B����������b�T�1�-�-�.�.�.����������)�)�+=�+=�+=�>�>�>�����4��"�%�%�%�����4��"�%�%�%�����4��2�$�'�'�'�����2�R��t�<�<�=�=�=���������b�"�X�q�1�1�2�2�2�����2�b�"�X�6�6�7�7�7��
�
�a��g�r�"�"�"����rc	��tjdd��}tjdd��}tjdd��}tjdd��}tjdd��}tjdd��}||||||g}tjd|��}tjddd	��}	tjddd
��}
tjddd��}tjddd��}tjddd
��}
tjddd��}tj|	|
|g||
g|	|
g||g|
|ggddd���}|�d�|�|��D��gd���tjd|gd���}ttj|g|g����}|�t|��d��|d\}}|�|d��|�t|d��d��|�|d||||||g��dD]4}|�|d|ztjd|�����5dS)NrrPrRrS�d�erxrC�pa�pb�pc�pd�pe�pfr�r�)�min�maxr�c��g|]
}|d��S)rrX)�.0�xs  r�
<listcomp>z6TestPatterns.test_generate_matches.<locals>.<listcomp>�s��D�D�D�1�!�A�$�D�D�Dr)�r.r-r���pr)r�contentr�r�abcdef�p)rrrDr�r�r�generate_matchesr�r�lenr))r�la�lb�lc�ld�le�lfrjr�r�r�r�r�r�r�r�r��matchesrSr�s                    r�test_generate_matchesz"TestPatterns.test_generate_matches�s���
�[��C�
 �
 ��
�[��C�
 �
 ��
�[��C�
 �
 ��
�[��C�
 �
 ��
�[��C�
 �
 ��
�[��C�
 �
 ���b�"�b�"�b�)���{�4��(�(��
�
��3��
-�
-��
�
��3��
-�
-��
�
��3��
-�
-��
�
��3��
-�
-��
�
��3��
-�
-��
�
��3��
-�
-��
�
#�b�"�b�\�B��8�&(�"�X��B�x�"�b��%C�()�q�t�=�=�=��	
���D�D��(;�(;�F�(C�(C�D�D�D�(���	*�	*�	*�
�
�T�B�4�d�
C�
C�
C���v�.��t�d�V�<�<�=�=������W���q�)�)�)��q�z���1�����A��������Q�t�W���x�0�0�0�����4��2�r�2�r�2�r�":�;�;�;��	<�	<�A����Q�s�Q�w�Z���Q��):�):�;�;�;�;�	<�	<rc���tjdtjd��tjd���tjd��f��}tjdd��}tjdd��}tjdd	��}tjd|||g��}i}|�|�||����|�|d|g��dS)
NiK��argsr���(r�r��))	rr�r�r�rrDr?r�r)r�patternrr*r8�noder�s       r�test_has_key_examplez!TestPatterns.test_has_key_example�s����$�S�&,�&8��&;�&;�&,�&<�&�&I�&I�&I�&,�&8��&;�&;�&=�>�>���[��C�
 �
 ��
�[��C�
 �
 ��
�[��C�
 �
 ���{�3��R���-�-��������
�
�d�A�.�.�/�/�/�����6��R�D�)�)�)�)�)rN)r�r�r�r�r�r�r�r�rXrrr�r�hsW������0�0�" �" �" �H���><�<�<�<*�*�*�*�*rr�N)
r�r<r�lib2to3rr
�	NameError�TestCaserr�rXrr�<module>r�s������������������
�F�F���������������L0�L0�L0�L0�L0�� �L0�L0�L0�^
p*�p*�p*�p*�p*�7�#�p*�p*�p*�p*�p*s���