Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_range.cpython-311.opt-1.pyc
�

�Ke�b���ddlZddlZddlZddlZddlmZd�Zd�ZGd�dej��Z	e
dkrej��dSdS)�N)�	ALWAYS_EQc#�jK�||z
|zdkr"|||z
|zz
}||kr|V�||z
}||k�dSdSdS)Nr���start�stop�steps   �9/usr/local/apps/python3/lib/python3.11/test/test_range.py�pyranger
sh����
������!�!�	
�����%�%���t�m�m��K�K�K��T�M�E��t�m�m�m�m�	"�!��m�c�H�|||z
|zz
}t||z
||z
|��S�N)rrs   r
�pyrange_reversedrs1���U�T�\�T�!�!�D��4�$�;����t�e�4�4�4rc��eZdZdd�Zd�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�ZdS)�	RangeTestNc	��|�*tj||��}tj||��}t��}tj|||���}t	|��D]�\}\}}	||	kr�||kr+|�d�|||	�����@|	|kr+|�d�|||�����q|�d�|||	|������dS)N)�	fillvaluez;{}: iterator ended unexpectedly at position {}; expected {}z/{}: unexpected excess element {} at position {}z5{}: wrong element at position {}; expected {}, got {})�	itertools�islice�object�zip_longest�	enumerate�fail�format)
�self�xs�ys�test_id�limit�sentinel�pairs�i�x�ys
          r
�assert_iterators_equalz RangeTest.assert_iterators_equals8�����!�"�e�,�,�B��!�"�e�,�,�B��8�8���%�b�"��A�A�A��"�5�)�)�	J�	J�I�A�v��1��A�v�v���h����	�	�8�8>��w��1�8M�8M�O�O�O�O��h����	�	�(�(.��w��1�(=�(=�?�?�?�?��	�	�0�06��w��1�a�0H�0H�J�J�J�J�	J�	Jrc
�
�|�ttd����gd���|�ttdd����gd���|�ttd����g��|�ttd����g��|�ttddd����gd	���|�ttdd
d����gd���d}d}d
}|�tt||dz����||dzg��|�tt|dz|d����|dz|dzg��|�tt|dz|d����|dz|dzg��tt|||����}|�||��|�||��|�t|��d��tt|||����}|�||��|�||��|�t|��d��tt|||����}|�||��|�||��|�t|��d��|�tt��|�ttdddd��|�ttddd��|�ttddd��|�ttddd��|�ttddd��|�ttddd��|�ttdd��|�ttddd��|�ttdtj
tj
dz
����d��ttj
tj
d��}|�t|��tj
��dS)N�)r��r(�)r(r)r'�r����
)r(r+����)r*r)�������d�2r)r0r+����g@��?�}Ô%�I�T�\�n��T�spam�*)�assertEqual�list�range�assertIn�assertNotIn�len�assertRaises�	TypeError�
ValueError�sys�maxsize)r�a�b�c�seq�rs      r
�
test_rangezRangeTest.test_range.s-������e�A�h�h������3�3�3�����e�A�q�k�k�*�*�L�L�L�9�9�9�����e�A�h�h����,�,�,�����e�B�i�i���"�-�-�-�����e�A�r�1�o�o�.�.�	�	�	�:�:�:�����e�A�r�2�.�.�/�/����@�@�@�����������e�A�q��s�m�m�,�,�q�!�A�#�h�7�7�7�����e�A�a�C��B�/�/�0�0�1�Q�3��!��*�=�=�=�����e�A�a�C��B�/�/�0�0�1�Q�3��!��*�=�=�=��5��A�q�>�>�"�"���
�
�a���������C� � � �����S���1�%�%�%��5��A��r�?�?�#�#���
�
�a���������C� � � �����S���1�%�%�%��5�!��a�R�!��$�$�%�%���
�
�q�b�#�������!��S�!�!�!�����S���1�%�%�%����)�U�+�+�+����)�U�A�q�!�Q�7�7�7����*�e�Q��1�5�5�5����)�U�C��A�6�6�6����)�U�A�s�A�6�6�6����)�U�A�q�#�6�6�6����)�U�E�5�%�@�@�@����)�U�A�v�6�6�6����)�U�A�r�6�:�:�:�����U�1�c�k�3�;�q�=�A�A�B�B�A�F�F�F��3�;�,���Q�/�/������Q�����-�-�-�-�-rc	��|�td��5t��ddd��n#1swxYwY|�td��5tdddddd��ddd��dS#1swxYwYdS)	Nz)range expected at least 1 argument, got 0z)range expected at most 3 arguments, got 6r(r)r'r+r*�)�assertRaisesRegexrBr=�rs r
�%test_range_constructor_error_messagesz/RangeTest.test_range_constructor_error_messages^s��
�
#�
#��;�
�
�	�	�
�G�G�G�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#��;�
�
�	$�	$�
�!�Q��1�a��#�#�#�		$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�7�;�;�A?�?B�Bc	�
�tddd��}|�t|��d��|�tt|����d��tddd��}|�t|��d��|�tt|����d��|�|��tddd��}|�t|��d��|�tt|����d��|�|��tddd��}|�t|��d��|�tt|����d��|�|��tddz��tdddz��tdddzd	��fD]:}|�t|��g��|�|���;t
d
tjz��}t
dtjz��}t
dtjz��}|�tt||dz����||dzg��|�tt|dz|d	����|dz|dzg��|�tt|dz|d
����|dz|dzg��tt|||����}|�	||��|�
||��|�t|��d��|�|d|��|�|d	||z��tt|||����}|�	||��|�
||��|�t|��d��|�|d|��|�|d	||z
��tt|||����}|�	||��|�
||��|�t|��d��|�|d|��|�|d	||z
��dS)N� F�x:^Vl
 F�x:^Vr'r+rr,r)r2r0r-r3r(r4)r=r;r@r<�assertFalse�
assertTrue�intrDrEr>r?)rr#rFrGrHrIs      r
�test_large_operandszRangeTest.test_large_operandsks����&�)�Q�'�'������Q����#�#�#�����T�!�W�W���q�)�)�)��)�V�Q�'�'������Q����#�#�#�����T�!�W�W���q�)�)�)���������&�)�R�(�(������Q����#�#�#�����T�!�W�W���q�)�)�)���������)�V�R�(�(������Q����#�#�#�����T�!�W�W���q�)�)�)����������C���.�.���A�s�F�7�#�#���1�c�6�2�&�&�(�	 �	 �A�
���T�!�W�W�b�)�)�)����Q�������S�[� �!�!����c�k�!�"�"����S�[� �!�!������e�A�q��s�m�m�,�,�q�!�A�#�h�7�7�7�����e�A�a�C��B�/�/�0�0�1�Q�3��!��*�=�=�=�����e�A�a�C��B�/�/�0�0�1�Q�3��!��*�=�=�=��5��A�q�>�>�"�"���
�
�a���������C� � � �����S���1�%�%�%�����Q���#�#�#�����R��!�A�#�&�&�&��5��A��r�?�?�#�#���
�
�a���������C� � � �����S���1�%�%�%�����Q���#�#�#�����R��!�A�#�&�&�&��5�!��a�R�!��$�$�%�%���
�
�q�b�#�������!��S�!�!�!�����S���1�%�%�%�����Q��!��$�$�$�����R��1�"�Q�$�'�'�'�'�'rc�&
�d�}tj}tj}||z
}t||��}|�||��|�||��|�tt|��|�|��|�	||��|��|�	|d|��tjdz}|�	||||z��|�	|||dz�d||z��|�t��5||dz
ddd��n#1swxYwY|�t��5||ddd��n#1swxYwYd}dtjz}||z
}t||��}|�||��|�||��|�tt|��|�|��|�	||��|��|�	|d|��tjdz}|�	||||z��|�	|||dz�d||z��|�t��5||dz
ddd��n#1swxYwY|�t��5||ddd��n#1swxYwYd}tjdz}dtjz}d||z
|zz}t|||��}|�||��|�||��|�tt|��|�|��|�	||��|��|�	|d|��tjdz}|�	|||||zz��|�	|||dz�d|||zz��|�t��5||dz
ddd��n#1swxYwY|�t��5||ddd��n#1swxYwYtjdz}d}dtjz}d||z
|zz}t|||��}|�||��|�||��|�tt|��|�|��|�	||��|��|�	|d|��tjdz}|�	|||||zz��|�	|||dz�d|||zz��|�t��5||dz
ddd��n#1swxYwY|�t��5||ddd��dS#1swxYwYdS)Nc��	t|��}n8#t$r+|d|dz
}d|d|dz
|zz}YnwxYw|S)Nr(rr0)r@�
OverflowError)r#�lengthr	s   r
�
_range_lenz.RangeTest.test_large_range.<locals>._range_len�sf��
6��Q������ �
6�
6�
6���t�a��d�{���q��u�q��t�|��4�5����
6�����Ms��2A�Arr(r)r-r4)rDrEr=r>r?rArYr@rTr;�
IndexError)rr[rFrG�expected_lenr#�idxrHs        r
�test_large_rangezRangeTest.test_large_range�s(��	�	�	��[�L���K���1�u���!�Q�K�K���
�
�a���������A�������-��a�0�0�0�������������A����5�5�5�����1��q�!�!�!��k�!�m������3���3��'�'�'�����3�s�1�u�9��a��!�C�%�0�0�0�
�
�
�z�
*�
*�	�	�
�|�m�A�o���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	�
�l�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
��
���O���1�u���!�Q�K�K���
�
�a���������A�������-��a�0�0�0�������������A����5�5�5�����1��q�!�!�!��k�!�m������3���3��'�'�'�����3�s�1�u�9��a��!�C�%�0�0�0�
�
�
�z�
*�
*�	�	�
�|�m�A�o���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	�
�l�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
���K��O��
�c�k�M���A��E�a�<�'���!�Q��N�N���
�
�a���������A�������-��a�0�0�0�������������A����5�5�5�����1��q�!�!�!��k�!�m������3���C��E��+�+�+�����3�s�1�u�9��a��!�S��U�)�4�4�4�
�
�
�z�
*�
*�	�	�
�|�m�A�o���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	�
�l�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�K��O��
���s�{�N���A��E�a�<�'���!�Q��N�N���
�
�a���������A�������-��a�0�0�0�������������A����5�5�5�����1��q�!�!�!��k�!�m������3���C��E��+�+�+�����3�s�1�u�9��a��!�S��U�)�4�4�4�
�
�
�z�
*�
*�	�	�
�|�m�A�o���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	�
�l�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��
E�E�!E�?	F�F�F�
K-�-K1�4K1�	L'�'L+�.L+�
R�R �#R �	S�S�S�2
Y�Y�Y�0	Z�Z
�
Z
c	��|�tt��|�ttdddd��|�ttddd��t	dt
jz��}|�tt||dzt	d����|�ttddd��|�ttdd	d	��|�ttdd
��|�ttddd
��|�ttd��|�ttdd��|�ttdd��|�ttdd��|�ttddd��|�ttddd��|�ttddd��|�ttddd��|�ttddd��|�ttddd��|�ttddd��dS)
Nr(r)r'r+rr-r6r7r8r9r:r5)rArBr=rCrUrDrE)rrFs  r
�test_invalid_invocationz!RangeTest.test_invalid_invocation�s,�����)�U�+�+�+����)�U�A�q�!�Q�7�7�7����*�e�Q��1�5�5�5���S�[� �!�!�����*�e�Q��A��s�1�v�v�>�>�>����)�U�B��B�7�7�7����)�U�E�5�%�@�@�@����)�U�A�v�6�6�6����)�U�A�r�6�:�:�:�	
���)�U�C�0�0�0����)�U�A�s�3�3�3����)�U�C��3�3�3����)�U�C��5�5�5����)�U�A�q�#�6�6�6����)�U�A�s�A�6�6�6����)�U�A�s�C�8�8�8����)�U�C��A�6�6�6����)�U�C��C�8�8�8����)�U�C��a�8�8�8����)�U�C��c�:�:�:�:�:rc�N��td��}|�|�d��d��|�|�d��d��|�t|jd��tdd��}|�|�d��d��|�|�d��d��|�t|j��Gd�dt���G�fd�d	��}td
��}|��|j|����tdd��}|�|�d��d��|�tddd���d
��d��|�tddd
���d��d��|�td���d��d��|�td���d��d��|�ttdddzd��jddz��|�tdddzd���ddzdz��ddz��|�td���t��d��dS)Nr)rr(r4r'c��eZdZdS)�$RangeTest.test_index.<locals>.BadExcN)�__name__�
__module__�__qualname__rrr
�BadExcrds�������Drrhc���eZdZ�fd�ZdS)�$RangeTest.test_index.<locals>.BadCmpc�(��|dkr
����dS)Nr)Fr)r�otherrhs  �r
�__eq__z+RangeTest.test_index.<locals>.BadCmp.__eq__s����A�:�:� �&�(�(�N��urN�rerfrgrm)rhs�r
�BadCmprjs.�������
�
�
�
�
�
�
rror+r-���r,r/rRl�F�x:^Vr2�W�V)	r=r;�indexrArC�countrB�	Exceptionr)r�urorFrhs    @r
�
test_indexzRangeTest.test_indexs�����!�H�H�����������Q�'�'�'����������Q�'�'�'����*�a�g�q�1�1�1��"�a�L�L�����������Q�'�'�'����������Q�'�'�'����)�Q�W�-�-�-�	�	�	�	�	�Y�	�	�	�	�	�	�	�	�	�	�	�	�	�
�!�H�H�����&�!�'�6�6�8�8�4�4�4��"�a�L�L�����������Q�'�'�'�����q�"�a���.�.�q�1�1�1�5�5�5�����q�#�r�*�*�0�0��4�4�a�8�8�8�����v���,�,�Q�/�/��3�3�3�����v���,�,�Z�8�8�*�E�E�E����*�e�A�q�#�v�q�&9�&9�&?��B��G�G�G�����q�!�S�&�!�,�,�2�2�1�b�5��7�;�;�Q��U�C�C�C�����r������3�3�Q�7�7�7�7�7rc��dtjz}d}Gd�d��}|�tt	||��||dz������|g��|�tt	||��||dz������|g��Gd�d��}|�tt|����Gd�d	��}|�tt|����|�t	d
��d|d���t	d����|�t��5t	dd
��d|���ddd��n#1swxYwY|�t��5t	dd
��d|���ddd��dS#1swxYwYdS)
Nr)r:c��eZdZd�Zd�ZdS)�+RangeTest.test_user_index_method.<locals>.Ic�.�t|��|_dSr)rU�n)rr|s  r
�__init__z4RangeTest.test_user_index_method.<locals>.I.__init__:s���Q������rc��|jSr)r|rOs r
�	__index__z5RangeTest.test_user_index_method.<locals>.I.__index__<s	���v�
rN)rerfrgr}rrrr
�Irz9s2������
 �
 �
 �
�
�
�
�
rr�r(c��eZdZd�ZdS)�,RangeTest.test_user_index_method.<locals>.IXc��t�r)�RuntimeErrorrOs r
rz6RangeTest.test_user_index_method.<locals>.IX.__index__Cs��"�"rN�rerfrgrrrr
�IXr�Bs#������
#�
#�
#�
#�
#rr�c��eZdZd�ZdS)�,RangeTest.test_user_index_method.<locals>.INc��dS)Nznot a numberrrOs r
rz6RangeTest.test_user_index_method.<locals>.IN.__index__Is��%�~rNr�rrr
�INr�Hs#������
&�
&�
&�
&�
&rr�r-r*r)rDrEr;r<r=rAr�rB)r�bignum�smallnumr�r�r�s      r
�test_user_index_methodz RangeTest.test_user_index_method4s����3�;�����	�	�	�	�	�	�	�	�
	
����e�A�A�f�I�I�q�q��!��}�}�=�=�>�>���I�I�I�����e�A�A�h�K�K���8�a�<���A�A�B�B�X�J�O�O�O�	#�	#�	#�	#�	#�	#�	#�	#�	
���,��r�r�t�t�4�4�4�	&�	&�	&�	&�	&�	&�	&�	&�	
���)�U�B�B�D�D�1�1�1�	
����r���5�A�A�a�D�D�5�)�5��8�8�4�4�4�
�
�
�|�
,�
,�	 �	 ��!�R�L�L��"�"�$�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��
�
�y�
)�
)�	 �	 ��!�R�L�L��"�"�$�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s$�4!F!�!F%�(F%�!G4�4G8�;G8c	��|�td���d��d��|�td���d��d��|�td���d��d��|�td���d��d��|�td���d��d��|�t	td���d����t
��|�t	td���d����t
��|�td���d��d��|�td���d��d��|�td���d��d��|�tdddzd���ddz��d��|�tdddzd���ddzdz��d��|�td	���t��d	��|�tttj
tj
d	z����d	��dS)
Nr'r0rr(r)rRr2rqr-)r;r=rt�assertIs�typerUrsrr@rDrErOs r
�
test_countzRangeTest.test_countWst������q������+�+�Q�/�/�/�����q������*�*�A�.�.�.�����q������*�*�A�.�.�.�����q������*�*�A�.�.�.�����q������*�*�A�.�.�.��
�
�d�5��8�8�>�>�"�-�-�.�.��4�4�4��
�
�d�5��8�8�>�>�!�,�,�-�-�s�3�3�3�����v���,�,�Q�/�/��3�3�3�����v���,�,�V�4�4�a�8�8�8�����q������*�*�A�.�.�.�����q�!�S�&�!�,�,�2�2�1�b�5�9�9�1�=�=�=�����q�!�S�&�!�,�,�2�2�1�b�5��7�;�;�Q�?�?�?�����r������3�3�R�8�8�8�����U�3�;���B��?�?�@�@�"�E�E�E�E�Erc	�,�|�ttd����d��|�ttdd����d��|�ttddd����d��dS)Nr(zrange(0, 1)r)zrange(1, 2)r'zrange(1, 2, 3))r;�reprr=rOs r
�	test_reprzRangeTest.test_reprisy������e�A�h�h����7�7�7�����e�A�q�k�k�*�*�M�:�:�:�����e�A�q�!�n�n�-�-�/?�@�@�@�@�@rc
��ddddddddzddzdzfg}ttjd	z��D]�}|D]�}|�||�
��5t|�}|�ttjtj||������t|����ddd��n#1swxYwY����dS)N��
�r��i��r-��r'r0�r��r'�r4r)r)r)�Ar()�proto�test)r=�pickle�HIGHEST_PROTOCOL�subTestr;r<�loads�dumps)r�	testcasesr��trJs     r
�
test_picklingzRangeTest.test_picklingns���G�Y�� �*�q�"�u�a��e�A�g�.>�@�	��6�2�Q�6�7�7�	.�	.�E��
.�
.���\�\��A�\�6�6�.�.��q�	�A��$�$�T�&�,�v�|�A�u�7M�7M�*N�*N�%O�%O�%)�!�W�W�.�.�.�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.��
.�	.�	.s�AB9�9B=�B=c���gd�}dD]K}||dz
|dz
fd|zd|zdzf|dz
|dz
df|dz|dfdd|dz
fdd|fd|dz
|dz
fd||fgz
}�Lttjdz��D�]x}|D�]q}|�||�	��5t	t|���x}}tt|���}tj||��}tj|��}|�t|��t|����|�t|��|��tj|��}	t|��n#t$rYddd����wxYwtj||��}tj|��}|�t|��|dd���ddd��n#1swxYwY��s��zdS)
N)r�r�r�r�r�r�)llr'r(r+r)r4r0)r�r�)r=r�r�r��iterr<r�r�r;r��next�
StopIteration)	rr��Mr�r��it�itorg�data�ds	         r
�test_iterator_picklingz RangeTest.test_iterator_picklingxsu��!�!�!�	��	�	�A���1��a��c�
�Q�q�S�!�A�#�a�%�L��1��a��c�1�
���1��q�b�"�~��A�q��s��b�"�q�b�\��A�a�C��1��
��Q�B���|�	�
�I�I��6�2�Q�6�7�7�	9�	9�E��
9�
9���\�\���\�3�3�9�9�!%�e�Q�i���0�B����q�	�?�?�D���R��/�/�A���a���B��$�$�T�%�[�[�$�r�(�(�;�;�;��$�$�T�"�X�X�t�4�4�4���a���B�!��R������(�!�!�!� �9�9�9�9�9�9�9�!������R��/�/�A���a���B��$�$�T�"�X�X�t�A�B�B�x�8�8�8�!9�9�9�9�9�9�9�9�9�9�9����9�9�9�9��
9�	9�	9s8�B?G�E�G�
E7	�(G�6E7	�7AG�G�!Gc�V�ttjdz��D�]
}|�|���5t	td����}|���\}}}|�|d��|�d��|���\}}}|�|d��tj||��}tj	|��}|�t|��d��ddd��n#1swxYwY��dS)Nr()r�lrl)r=r�r�r�r��
__reduce__r;�__setstate__r�r�r�)rr�r��_r^r�s      r
�(test_iterator_pickling_overflowing_indexz2RangeTest.test_iterator_pickling_overflowing_index�sH���6�2�Q�6�7�7�
	6�
	6�E����E��*�*�	
6�	
6��%�	�*�*�+�+���M�M�O�O�	��1�c�� � ��a�(�(�(����	�*�*�*��M�M�O�O�	��1�c�� � ��i�0�0�0��L��U�+�+���\�!�_�_��� � ��b���9�5�5�5�	
6�	
6�	
6�	
6�	
6�	
6�	
6�	
6�	
6�	
6�	
6����	
6�	
6�	
6�	
6��
	6�
	6s�CD�D 	�#D 	c��ttjdz��D]�}tddzddzdz��}t|��}	t	|��}|ddzdzkrn�tj||��}tj|��}|�t|��g��|�t|��g����dS)Nr(r)r��	r=r�r�r�r�r�r�r;r<�rr�rJr"r��i2s      r
� test_exhausted_iterator_picklingz*RangeTest.test_exhausted_iterator_pickling�s����6�2�Q�6�7�7�
	+�
	+�E��a��e�Q��U�1�W�%�%�A��Q���A�
���G�G����2��a��<�<��
���Q��&�&�A���a���B����T�!�W�W�b�)�)�)����T�"�X�X�r�*�*�*�*�
	+�
	+rc��ttjdz��D]�}td��}t|��}	t	|��}|dkrn�tj||��}tj|��}|�t|��g��|�t|��g����dS)Nr(r�T�r�r�s      r
�&test_large_exhausted_iterator_picklingz0RangeTest.test_large_exhausted_iterator_pickling�s����6�2�Q�6�7�7�
	+�
	+�E��b�	�	�A��Q���A�
���G�G����7�7��
���Q��&�&�A���a���B����T�!�W�W�b�)�)�)����T�"�X�X�r�*�*�*�*�
	+�
	+rc��|�t��5tgdd��ddd��dS#1swxYwYdS)Nr(r0)rArBr=rOs r
�test_odd_bugzRangeTest.test_odd_bug�s����
�
�y�
)�
)�	�	��"�a�����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s
�:�>�>c��|�dtd����|�dtd����|�dtd����|�ttd����Gd�d��}|�|��td����|�t	|����td����Gd�dt��}|�|d	��td
����|�|d	��ttd
������dS)Nr6r'Ty�?c��eZdZd�Zd�ZdS)� RangeTest.test_types.<locals>.C2c��dS�Nr(rrOs r
�__int__z(RangeTest.test_types.<locals>.C2.__int__�s��a�arc��dSr�rrOs r
rz*RangeTest.test_types.<locals>.C2.__index__�s���rN)rerfrgr�rrrr
�C2r��s"������'�'�'�)�)�)�)�)rr�c��eZdZd�ZdS)� RangeTest.test_types.<locals>.C3c��dS)NTr)rrls  r
rmz'RangeTest.test_types.<locals>.C3.__eq__�s��D�DrNrnrrr
�C3r��s������0�0�0�0�0rr�r�r-)r>r=rr?rUr<)rr�r�s   r
�
test_typeszRangeTest.test_types�sX��	
�
�
�c�5��8�8�$�$�$��
�
�d�E�!�H�H�%�%�%��
�
�d�E�!�H�H�%�%�%��
�
�i��q���*�*�*�	*�	*�	*�	*�	*�	*�	*�	*�	
�������u�Q�x�x�(�(�(��
�
�c�"�"�$�$�i�i��q���*�*�*�	1�	1�	1�	1�	1��	1�	1�	1��
�
�b�b��f�f�e�B�i�i�(�(�(��
�
�b�b��f�f�d�5��9�9�o�o�.�.�.�.�.rc��tddd��}|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��tddd��}|�d|��|�d|��|�d	|��|�d|��tddd
��}|�d|��|�d	|��|�d|��dS)Nr�er)r(�cr2���r0���r4i���r=r>r?�rrJs  r
�test_strided_limitszRangeTest.test_strided_limits�sK���!�S�!�����
�
�a���������A�����
�
�a���������Q�����
�
�c�1��������a� � � ��!�S�"�����
�
�a������
�
�b�!�����
�
�c�1��������a� � � ��!�S�"�����
�
�c�1��������a� � � �����a� � � � � rc� �td��}|�d|��|�d|��tdd��}|�d|��|�d|��|�d|��dS)Nrr(rpr0)r=r?r�s  r
�
test_emptyzRangeTest.test_empty�s����!�H�H������A��������A�����!�S�M�M������A��������Q��������A�����rc���d�dD����fd��D��}|D]�\}}}t|||��}t|||��}d�|||��}|�|||d���t	t|||����}t|||��}d�|||��}|�|||d�����dS)Nc�F�g|]}||dzd|dz|fD]}dD]}||z���
�S)r)r)r4r0rr(r)r)�.0r��base�jiggles    r
�
<listcomp>z2RangeTest.test_range_iterators.<locals>.<listcomp>�so��3�3�3�� !�r�A�2�q�5�!�Q��T�1�5�3�3�� 1�3�3����-�3�3�3�3�3r)llc�.��g|]}�D]}dD]}|||f���
�S))l����i�r4r0r(r)r)r�r�endr	�limitss    �r
r�z2RangeTest.test_range_iterators.<locals>.<listcomp>sh���C�C�C� �"(�C�C��#A�C�C� ��s�D�)�C�C�C�C�Crzrange({}, {}, {})r2)rzreversed(range({}, {}, {})))r=rrr%�reversedr)	r�test_rangesrr�r	�iter1�iter2rr�s	        @r
�test_range_iteratorszRangeTest.test_range_iterators�s-���3�3�)�3�3�3��C�C�C�C�$*�C�C�C��
!,�
	J�
	J��E�3���%��d�+�+�E��E�3��-�-�E�)�0�0���T�B�B�G��'�'��u�g�S�'�I�I�I��U�5�#�t�4�4�5�5�E�$�U�C��6�6�E�3�:�:�5�#�t�L�L�G��'�'��u�g�S�'�I�I�I�I�
	J�
	Jrc�(�tttd������}|�t|ddd��tttddz������}|�t|ddd��dS)Nrr(r'i�)r�r�r=rArB)r�rangeiter_type�long_rangeiter_types   r
�test_range_iterators_invocationz)RangeTest.test_range_iterators_invocations~���d�5��8�8�n�n�-�-�����)�^�Q��1�=�=�=�"�4��a�4�i�(8�(8�#9�#9�:�:�����)�%8�!�Q��B�B�B�B�Brc	����d��fd�	}td��td��tddd��tddd��ttjdztjdz��fD]d�|dd	��|dd
��|dd	��|d
d��|dd
��|ddd	��|dd��|ddd���edS)Nc�4��t|||��}��t�|��t���|����t�|��tt���|����dSr)�slicer;r<r@)rrr	r"rJrs    ��r
�checkz#RangeTest.test_slice.<locals>.checkst����e�T�4�(�(�A����T�!�A�$�Z�Z��a�����4�4�4����S��1��Y�Y��D��G�G�A�J���8�8�8�8�8rr-rr(�	r'�r,r)r�����r�r0r2r)r=rDrE)rr�rJs` @r
�
test_slicezRangeTest.test_slices����	9�	9�	9�	9�	9�	9�	9���)�)���(�(���1�a�.�.���1�b�/�/����A�
�s�{�2�~�6�6�	�
	�
	�A�
�E�!�Q�K�K�K��E�!�R�L�L�L��E�!�Q�K�K�K��E�"�b�M�M�M��E�#�s�O�O�O��E�"�c�1�����E�!�R�L�L�L��E�"�b�"�����
	�
	rc�Z�td��}|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��tddd��}|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��tddd	��}|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��tddd
��}|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��dS)Nr-rr(g@gffffff@r0�r�r)r4r�r�s  r
�
test_containszRangeTest.test_contains.s����"�I�I���
�
�a������
�
�a������
�
�c�1��������a� � � �����Q��������Q��������Q�����!�R������
�
�a������
�
�a������
�
�c�1��������a� � � �����Q��������Q��������Q�����!�R��O�O���
�
�a���������A��������a� � � �����a� � � �����Q��������Q��������Q�����!�R���������A�����
�
�a������
�
�c�1��������a� � � �����Q��������Q��������Q�����rc	�f�td��td��tddd��tddd��ttjdztjdz��fD]H}|�t	t|����t	|��ddd����IdS)	Nr-rr(r�r'r�r,r0)r=rDrEr;r<r�r�s  r
�test_reverse_iterationz RangeTest.test_reverse_iterationPs�����)�)���(�(���1�a�.�.���1�b�/�/����A�
�s�{�2�~�6�6�	�	?�	?�A�
���T�(�1�+�+�.�.��Q�����"��
�>�>�>�>�
	?�	?rc��ttddd���d���}hd�}|D]}|D]}|dhz
D]
}||||����dS)Nr(�r)r�>N������rr(r)r*r�r�r�r�r�r�r�r�r/r4r0r)r=r��indices)rrJ�valuesr"�j�ks      r
�test_issue11845zRangeTest.test_issue11845Ys����5��B��?�?�*�*�2�.�.�/��6�6�6���	�	�A��
�
���1�#����A��a��!�e�H�H�H��
�	�	rc�	���td��tdd��tddd��td��tdd��tddd��tddd��td��tdd	d��tddd��tddd��g�ttt�������fd
��D��}�fd��D��}|�||���fd��D��}|�|d
�|D�����D]=}�D]8}||kr0|�t|��t|�����9�>|�td��dkd��|�dtd��kd��|�td��ddgkd��|�tdddzdz
d��tdddzd����|�ttdddzdz
d����ttdddzd������|�tdddzd��tdddzdzd����|�tddzddzddzz
ddz��tddzddzddz����|�ttddzddzddzz
ddz����ttddzddzddz������|�tddzddzddz��tddzddzdzddz����|�t��5td��td��kddd��n#1swxYwY|�t��5td��td��kddd��n#1swxYwY|�t��5td��td��kddd��n#1swxYwY|�t��5td��td��kddd��dS#1swxYwYdS)Nrr0r(r'r*rMr)r.r+c�&��g|]
}�D]}||k��	�Srr�r�rFrGr�s   �r
r�z-RangeTest.test_comparison.<locals>.<listcomp>k�*���F�F�F��+�F�F�Q�Q�!�V�F�F�F�Frc�&��g|]
}�D]}||k��	�Srr)r�rFrG�test_tupless   �r
r�z-RangeTest.test_comparison.<locals>.<listcomp>lrrc�&��g|]
}�D]}||k��	�Srrrs   �r
r�z-RangeTest.test_comparison.<locals>.<listcomp>prrc��g|]}|��Srr)r�r#s  r
r�z-RangeTest.test_comparison.<locals>.<listcomp>qs��$>�$>�$>�q��U�$>�$>�$>rrFr2����r�)
r=r<�map�tupler;�hashr��assertNotEqualrArB)r�	ranges_eq�	tuples_eq�	ranges_nerFrGr�r	s      @@r
�test_comparisonzRangeTest.test_comparisonbs������Q�x�x��q�"���u�Q��1�~�~��Q�x�x��q�!���e�A�q�!�n�n��Q��1�~�~�u�Q�x�x��q�!�Q����Q��1�~�~�u�Q��1�~�~�7���3�u�k�2�2�3�3��G�F�F�F�[�F�F�F�	�F�F�F�F�[�F�F�F�	�����I�.�.�.�G�F�F�F�[�F�F�F�	�����$>�$>�I�$>�$>�$>�?�?�?��	7�	7�A� �
7�
7����6�6��$�$�T�!�W�W�d�1�g�g�6�6�6��
7�
	
�
�
�e�A�h�h�"�n�e�,�,�,��
�
�b�E�!�H�H�n�e�,�,�,��
�
�e�A�h�h�1�a�&�(�%�0�0�0�	
����q�!�S�&�1�*�a�0�0��q�!�S�&�!�,�,�	.�	.�	.�����e�A�q�#�v��z�1�5�5�6�6��e�A�q�#�v�q�1�1�2�2�	4�	4�	4����E�!�Q��V�Q�/�/�!�!�Q��V�a�Z��3�3�	5�	5�	5�����q�#�v�q�#�v��2��~�q�#�v�>�>��q�#�v�q�#�v�q�#�v�6�6�	8�	8�	8�����e�A�s�F�A�s�F�Q��U�N�A�s�F�C�C�D�D��e�A�s�F�A�s�F�A�s�F�;�;�<�<�	>�	>�	>����E�!�S�&�!�S�&�!�S�&�9�9�!�!�S�&�!�S�&�1�*�a��f�=�=�	?�	?�	?��
�
�y�
)�
)�	 �	 ��!�H�H�u�Q�x�x���	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	 �	 ��!�H�H�u�Q�x�x���	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	!�	!��!�H�H��a��� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�
�
�y�
)�
)�	!�	!��!�H�H��a��� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!sH�!O9�9O=�O=�!Q�Q�Q�0!R�R!�$R!�!S0�0S4�7S4c��|�td��ddd��|�td��ddd��|�td��ddd��|�tddd��ddd��|�tddd��ddd��|�tddd��ddd��|�tddd��ddd��|�td��ddd��|�td	d��ddd��|�td	dd��ddd��dS)
Nrr(r-rpr'r0r,TF)�assert_attrsr=rOs r
�test_attributeszRangeTest.test_attributes�sf�����%��(�(�A�q�!�,�,�,����%��)�)�Q��A�.�.�.����%��*�*�a��a�0�0�0����%��2�q�/�/�1�b�!�4�4�4����%��2�q�/�/�1�b�!�4�4�4����%��A�r�*�*�B��2�6�6�6����%��A�r�*�*�B��2�6�6�6����%��+�+�q�!�Q�/�/�/����%��t�,�,�a��A�6�6�6����%��t�T�2�2�A�q�!�<�<�<�<�<rc�F�|�|j|��|�|j|��|�|j|��|�t|j��t��|�t|j��t��|�t|j��t��|�t��5d|_ddd��n#1swxYwY|�t��5d|_ddd��n#1swxYwY|�t��5d|_ddd��n#1swxYwY|�t��5|`ddd��n#1swxYwY|�t��5|`ddd��n#1swxYwY|�t��5|`ddd��dS#1swxYwYdS)Nrr-r()	r;rrr	r�r�rUrA�AttributeError)r�rangeobjrrr	s     r
rzRangeTest.assert_attrs�sO��������/�/�/�������-�-�-�������-�-�-��
�
�d�8�>�*�*�C�0�0�0��
�
�d�8�=�)�)�3�/�/�/��
�
�d�8�=�)�)�3�/�/�/�
�
�
�~�
.�
.�	�	��H�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	��H�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	��H�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�~�
.�
.�	�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	��
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	��
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sl�3D�D�D�,E�E�E�%E9�9E=�E=�F-�-F1�4F1�G!�!G%�(G%�H�H�Hr)rerfrgr%rKrPrVr_rarwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr
rrs�������J�J�J�J�*..�..�..�`$�$�$�6(�6(�6(�pS�S�S�j;�;�;�0"8�"8�"8�H! �! �! �FF�F�F�$A�A�A�
.�.�.�9�9�9�<6�6�6�+�+�+�+�+�+����/�/�/�0!�!�!�(���J�J�J�0C�C�C����(  �  �  �D?�?�?����2!�2!�2!�j=�=�=�����rr�__main__)�unittestrDr�r�test.supportrrr�TestCaserre�mainrrr
�<module>r!s�������
�
�
�
�
�
�
�
�����"�"�"�"�"�"����5�5�5�
`
�`
�`
�`
�`
��!�`
�`
�`
�D�z����H�M�O�O�O�O�O��r