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

�Ke�>���ddlZddlZddlmZddlmZejddg���Zejddg���ZGd�d	e	��Z
Gd
�d��ZGd�d
eej��Z
Gd�deej��ZGd�d��ZGd�deej��ZGd�deej��ZGd�d��ZGd�d��ZGd�d��ZGd�d��ZGd�deej��ZGd �d!eej��ZGd"�d#��ZGd$�d%eej��ZGd&�d'eej��Zed(krej��dSdS))�N)�
import_helper)�UserList�bisect�_bisect)�blocked)�freshc�*�eZdZdZd�Zd�Zd�Zd�ZdS)�Rangez:A trivial range()-like object that has an insert() method.c�0�||_||_d|_dS�N)�start�stop�last_insert)�selfr
rs   �:/usr/local/apps/python3/lib/python3.11/test/test_bisect.py�__init__zRange.__init__s����
���	������c� �|j|jz
Sr)rr
�rs r�__len__z
Range.__len__s���y�4�:�%�%rc�t�|j|jz
}|dkr||z
}||krt|���|j|zS)Nr)rr
�
IndexError)r�idx�ns   r�__getitem__zRange.__getitem__sD���I��
�"����7�7��1�H�C��!�8�8��S�/�/�!��z�C��rc��||f|_dSr)r)rr�items   r�insertzRange.inserts����9����rN)�__name__�
__module__�__qualname__�__doc__rrrr�rrr
r

sV������D�D� � � �
&�&�&� � � �%�%�%�%�%rr
c�X�eZdZd�Zd�Zd�Zd�Zd�Zdd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�ZdS)�
TestBisectc�
�g|jjgddf�|jjdgddf�|jjdgddf�|jjdgddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�dd
f�|jjgd�dd
f�|jjgd�ddf�|jjgd�ddf�|jjgddf�|jjdgddf�|jjdgddf�|jjdgddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjddgddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd	�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd
�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�ddf�|jjgd�dd
f�|jjgd�dd
f�|jjgd�ddf�|_dS)N�r�)r'r'r'�)r'r'r'r'�g�?)r'r'r(r(�r'r(r)g@)
r'r(r(r)r)r)r*r*r*r*�g@�
�)�module�bisect_right�bisect_left�precomputedCasesrs r�setUpzTestBisect.setUp!se	��P!
�
�[�
%�r�1�a�0�P!
�
�[�
%��s�A�q�1�P!
��[�
%��s�A�q�1�P!
��[�
%��s�A�q�1�	P!
�
�[�
%��1�v�q�!�4�P!
��[�
%��1�v�q�!�4�
P!
��[�
%��1�v�q�!�4�P!
��[�
%�y�y�y�!�Q�7�P!
��[�
%�y�y�y�!�Q�7�P!
��[�
%�y�y�y�!�Q�7�P!
��[�
%�|�|�|�Q��:�P!
��[�
%�|�|�|�Q��:�P!
��[�
%�|�|�|�Q��:�P!
��[�
%��1�v�q�!�4�P!
��[�
%��1�v�q�!�4�P!
� �[�
%��1�v�s�A�6�!P!
�"�[�
%��1�v�q�!�4�#P!
�$�[�
%��1�v�q�!�4�%P!
�&�[�
%�|�|�|�Q��:�'P!
�(�[�
%�|�|�|�Q��:�)P!
�*�[�
%�|�|�|�S�!�<�+P!
�,�[�
%�|�|�|�Q��:�-P!
�.�[�
%�|�|�|�Q��:�/P!
�0�[�
%�y�y�y�!�Q�7�1P!
�2�[�
%�y�y�y�!�Q�7�3P!
�4�[�
%�y�y�y�#�q�9�5P!
�6�[�
%�y�y�y�!�Q�7�7P!
�8�[�
%�y�y�y�#�q�9�9P!
�:�[�
%�y�y�y�!�Q�7�;P!
�<�[�
%�y�y�y�!�Q�7�=P!
�>�[�
%�'E�'E�'E�q�!�L�?P!
�@�[�
%�'E�'E�'E�q�!�L�AP!
�B�[�
%�'E�'E�'E�s�A�N�CP!
�D�[�
%�'E�'E�'E�q�!�L�EP!
�F�[�
%�'E�'E�'E�s�A�N�GP!
�H�[�
%�'E�'E�'E�q�!�L�IP!
�J�[�
%�'E�'E�'E�s�A�N�KP!
�L�[�
%�'E�'E�'E�q�"�M�MP!
�N�[�
%�'E�'E�'E�q�"�M�OP!
�R�[�
$�b�!�Q�/�SP!
�T�[�
$�q�c�1�a�0�UP!
�V�[�
$�q�c�1�a�0�WP!
�X�[�
$�q�c�1�a�0�YP!
�Z�[�
$�q�!�f�a��3�[P!
�\�[�
$�q�!�f�a��3�]P!
�^�[�
$�q�!�f�a��3�_P!
�`�[�
$�i�i�i��A�6�aP!
�b�[�
$�i�i�i��A�6�cP!
�d�[�
$�i�i�i��A�6�eP!
�f�[�
$�l�l�l�A�q�9�gP!
�h�[�
$�l�l�l�A�q�9�iP!
�j�[�
$�l�l�l�A�q�9�kP!
�l�[�
$�q�!�f�a��3�mP!
�n�[�
$�q�!�f�a��3�oP!
�p�[�
$�q�!�f�c�1�5�qP!
�r�[�
$�q�!�f�a��3�sP!
�t�[�
$�q�!�f�a��3�uP!
�v�[�
$�l�l�l�A�q�9�wP!
�x�[�
$�l�l�l�A�q�9�yP!
�z�[�
$�l�l�l�C��;�{P!
�|�[�
$�l�l�l�A�q�9�}P!
�~�[�
$�l�l�l�A�q�9�P!
�@�[�
$�i�i�i��A�6�AP!
�B�[�
$�i�i�i��A�6�CP!
�D�[�
$�i�i�i��a�8�EP!
�F�[�
$�i�i�i��A�6�GP!
�H�[�
$�i�i�i��a�8�IP!
�J�[�
$�i�i�i��A�6�KP!
�L�[�
$�i�i�i��A�6�MP!
�N�[�
$�&D�&D�&D�a��K�OP!
�P�[�
$�&D�&D�&D�a��K�QP!
�R�[�
$�&D�&D�&D�c�1�M�SP!
�T�[�
$�&D�&D�&D�a��K�UP!
�V�[�
$�&D�&D�&D�c�1�M�WP!
�X�[�
$�&D�&D�&D�a��K�YP!
�Z�[�
$�&D�&D�&D�c�1�M�[P!
�\�[�
$�&D�&D�&D�a��K�]P!
�^�[�
$�&D�&D�&D�a��L�_P!
����rc��|jD]T\}}}}|�|||��|��|�|t|��|��|���UdSr)r2�assertEqualr)r�func�data�elem�expecteds     r�test_precomputedzTestBisect.test_precomputedtsx��*.�*?�	C�	C�&�D�$��h����T�T�$��-�-�x�8�8�8����T�T�(�4�.�.�$�7�7��B�B�B�B�	C�	Crc�D�|j}|�t|jgd�ddd��|�t|jgd�ddd��|�t|jgd�ddd��|�t|jgd�ddd��dS)Nr+r.���r))r/�assertRaises�
ValueErrorr1r0�insort_left�insort_right)r�mods  r�test_negative_lozTestBisect.test_negative_loys����k�����*�c�o�y�y�y�!�R��K�K�K����*�c�&6�	�	�	�1�b�!�L�L�L����*�c�o�y�y�y�!�R��K�K�K����*�c�&6�	�	�	�1�b�!�L�L�L�L�Lrc���|j}tj}t|dz
��}|�|�||dz
��|dz
��|�|�||dz
��|dz
��|�|�||dz
|dz
|��|dz
��|�|�||dz
|dz
|��|dz
��dS)Nr'r)r(r-)r/�sys�maxsize�ranger5r1r0)rrArr7s    r�test_large_rangezTestBisect.test_large_range�s����k���K���Q�q�S�z�z���������q��s�3�3�Q�q�S�9�9�9�����)�)�$��!��4�4�a��c�:�:�:��������q��s�A�b�D�!�<�<�a��c�B�B�B�����)�)�$��!��Q�r�T�1�=�=�q��s�C�C�C�C�Crc���|j}tj}td|dz
��}|�|�||dz
��|dz
��|�|�||dz
��|dz
��|�|�||dz
|dz
|��|dz
��|�|�||dz
|dz
|��|dz
��|dz
}|�|||dz
|dz��|�|j||f��|dz
}|�	|||dz
|dz��|�|j|dz|f��dS)	Nrr'r)r(r-�d�2��)
r/rDrEr
r5r1r0r?rr@)rrArr7�xs     r�test_large_pyrangezTestBisect.test_large_pyrange�s}���k���K���Q��!��}�}���������q��s�3�3�Q�q�S�9�9�9�����)�)�$��!��4�4�a��c�:�:�:��������q��s�A�b�D�!�<�<�a��c�B�B�B�����)�)�$��!��Q�r�T�1�=�=�q��s�C�C�C�
��G������a��R���R��0�0�0�����)�A�q�6�2�2�2�
��G������q�!�b�&�!�b�&�1�1�1�����)�A��E�1�:�6�6�6�6�6r�c����ddlm�t���D�],}��fd�t|��D��}|����d�dz��}|j�||��}|t
|��kr|�|||k��|dkr"|�||dz
|k��|j�||��}|t
|��kr|�|||k��|dkr"|�||dz
|k����.dS)Nr)�	randrangec�*��g|]}�d�d����S)rr(r#)�.0�jrrPs  ��r�
<listcomp>z*TestBisect.test_random.<locals>.<listcomp>�s'���9�9�9�1�I�I�a��A�&�&�9�9�9rr<r')	�randomrPrF�sortr/r1�len�
assertTruer0)rr�ir7r8�iprPs `    @r�test_randomzTestBisect.test_random�sK����$�$�$�$�$�$��q���
	4�
	4�A�9�9�9�9�9��a���9�9�9�D��I�I�K�K�K��9�R��1��%�%�D���(�(��t�4�4�B��C��I�I�~�~������R�� 0�1�1�1��A�v�v�����R��T�
�T� 1�2�2�2���)�)�$��5�5�B��C��I�I�~�~�����t�B�x��0�0�0��A�v�v�����R��T�
�d� 2�3�3�3��
	4�
	4rc
�X�|jD�]�\}}}}td��D�]�}tt|��|��}tdd��D�]U}tt|��|��}|||||��}|�||cxko|knc��||jjur%||kr|�|||k��||jjur(||kr"|�||dz
|k��||jjur%||kr|�|||k��||jjur(||kr"|�||dz
|k��|�|t|t||��������W������dS)Nr*r)�r')
r2rF�minrWrXr/r1r0r5�max)rr6r7r8r9�lo�hirZs        r�test_optionalSlicingzTestBisect.test_optionalSlicing�s���*.�*?�	E�	E�&�D�$��h��A�h�h�
E�
E����T���B�'�'����!�*�*�E�E�B��S��Y�Y��+�+�B���d�D�"�b�1�1�B��O�O�B�"�N�N�N�N��N�N�N�N�3�3�3��t�{�6�6�6�2��7�7������R��(8�9�9�9��t�{�6�6�6�2��7�7�����R��T�
�T�(9�:�:�:��t�{�7�7�7�B��G�G�����t�B�x��8�8�8��t�{�7�7�7�B��G�G�����R��T�
�d�(:�;�;�;��$�$�R��R��R��1B�1B�)C�)C�D�D�D�D�E�
E�	E�	Erc�Z�|�|jj|jj��dSr)r5r/rr0rs r�test_backcompatibilityz!TestBisect.test_backcompatibility��(�������+�T�[�-E�F�F�F�F�Frc��gd�}|�|j�|ddd���d��|�|j�|ddd���d��|�|j�|ddd���d��|j�|ddd���|j�|ddd���|j�|ddd���|�|gd���dS)N)r-���(rJrNr'r))�arLr`rar()r-rgrNrNrNrhrirJ)r5r/r1r0rr?r@�insort)rr7s  r�test_keyword_argszTestBisect.test_keyword_args�s��#�#�#�������0�0�4�2�!��0�J�J�A�N�N�N������1�1�D�B�1��1�K�K�Q�O�O�O������+�+�d�b�Q�1�+�E�E�q�I�I�I�����$�"��q��9�9�9��� � �4�2�!�� �:�:�:�����T�R�A�!��4�4�4�����?�?�?�@�@�@�@�@rc�
�|j}t}tgd�|���}tt	||����}|D]�}|�|�|||���|�||����|�|�|||���|�||������tj	}td|���}tt	||����}|D]�}|�|�|||���|�||����|�|�|||���|�||������dS)N)r(���r,r]�����key�aBcDeEfgHhiIiij)
r/�abs�sorted�list�mapr5r1r0�str�casefold)rrA�keyfunc�arr�precomputed_arrrLs      r�test_lookups_with_key_functionz)TestBisect.test_lookups_with_key_function�s����k�����'�'�'�W�5�5�5���s�7�C�0�0�1�1�� �	�	�A��������Q�G��4�4������3�3�
�
�
�
���� � ��a�W� �5�5�� � ��!�4�4�
�
�
�
�
�,���&�G�4�4�4���s�7�C�0�0�1�1�� �	�	�A��������Q�G��4�4������3�3�
�
�
�
���� � ��a�W� �5�5�� � ��!�4�4�
�
�
�
�	�	rc���ddlm}|j}t}t	tdd����t	tddd����z}||��g}|D]?}|�|||���|�t||���|���@g}|D]?}|�	|||���|�t||���|���@dS)	Nr)�shufflero�i��rgr(rp)
rUr~r/rsrurFr?r5rtr@)rr~rAryr7�targetrLs       r�test_insortzTestBisect.test_insort�s$��"�"�"�"�"�"��k�����E�#�r�N�N�#�#�d�5��b�!�+<�+<�&=�&=�=�����
�
�
����	�	�A��O�O�F�A�7�O�3�3�3�����v�7�+�+�+��
�
�
�
����	�	�A����V�Q�G��4�4�4�����v�7�+�+�+��
�
�
�
�	�	rc��g}ddd�}|jj|jjfD]!}|�t|||d����"dS)Nr(r')rj�br�rp)r/r?r@r=�	TypeError)rrL�y�fs    r�test_insort_keynotNonez!TestBisect.test_insort_keynotNones^�����!�����+�)�4�;�+C�D�	=�	=�A����i��A�q���<�<�<�<�	=�	=rN)rN)rr r!r3r:rBrGrMr[rbrdrlr|r�r�r#rrr%r% s�������Q
�Q
�Q
�fC�C�C�
M�M�M�D�D�D�7�7�7� 4�4�4�4�"E�E�E�$G�G�G�A�A�A����B���0=�=�=�=�=rr%c��eZdZeZdS)�TestBisectPythonN�rr r!�	py_bisectr/r#rrr�r�
�������
�F�F�Frr�c��eZdZeZdS)�TestBisectCN�rr r!�c_bisectr/r#rrr�r�
�������
�F�F�Frr�c�"�eZdZdd�Zd�Zd�ZdS)�
TestInsort��c�"�ddlm}t��t��fD]k}t	|��D]6}|d��}|dvr
|jj}n|jj}|||���7|�t|��|���ldS)Nr)�choice�
0123456789�02468)
rUr�rurrFr/r?r@r5rt)rrr��insortedrY�digitr�s       r�test_vsBuiltinSortzTestInsort.test_vsBuiltinSorts���!�!�!�!�!�!�������,�	9�	9�H��1�X�X�
#�
#����|�,�,���G�#�#���/�A�A���0�A���(�E�"�"�"�"����V�H�-�-�x�8�8�8�8�	9�	9rc�Z�|�|jj|jj��dSr)r5r/rkr@rs rrdz!TestInsort.test_backcompatibilityrerc���Gd�dt��}|��}|j�|d��|j�|d��|�ddg|j��dS)Nc��eZdZgZd�ZdS)�)TestInsort.test_listDerived.<locals>.Listc�<�|j�||��dSr)r7r)r�indexrs   rrz0TestInsort.test_listDerived.<locals>.List.insert%s ���	� � ���-�-�-�-�-rN)rr r!r7rr#rr�Listr�#s(�������D�
.�
.�
.�
.�
.rr�r-r.)rur/r?r@r5r7)rr��lsts   r�test_listDerivedzTestInsort.test_listDerived"s���	.�	.�	.�	.�	.�4�	.�	.�	.�
�d�f�f�������R�(�(�(��� � ��a�(�(�(����!�R��#�(�+�+�+�+�+rN)r�)rr r!r�rdr�r#rrr�r�sI������
9�
9�
9�
9�G�G�G�	,�	,�	,�	,�	,rr�c��eZdZeZdS)�TestInsortPythonNr�r#rrr�r�-r�rr�c��eZdZeZdS)�TestInsortCNr�r#rrr�r�0r�rr�c��eZdZdZd�ZdS)�LenOnlyz:Dummy sequence class defining __len__ but not __getitem__.c��dS�Nr-r#rs rrzLenOnly.__len__7����rrN)rr r!r"rr#rrr�r�5�)������@�@�����rr�c��eZdZdZd�ZdS)�GetOnlyz:Dummy sequence class defining __getitem__ but not __len__.c��dSr�r#)r�ndxs  rrzGetOnly.__getitem__<r�rN)rr r!r"rr#rrr�r�:r�rr�c�,�eZdZdZd�ZeZeZeZeZeZ	dS)�CmpErrz;Dummy element that always raises an error during comparisonc��t�r)�ZeroDivisionError)r�others  r�__lt__z
CmpErr.__lt__As���rN)
rr r!r"r��__gt__�__le__�__ge__�__eq__�__ne__r#rrr�r�?s<������A�A� � � �
�F�
�F�
�F�
�F�
�F�F�Frr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TestErrorHandlingc��|jj|jj|jj|jjfD]}|�t|dd��� dSr��r/r1r0r?r@r=r��rr�s  r�test_non_sequencez#TestErrorHandling.test_non_sequenceJsY���+�)�4�;�+C��+�)�4�;�+C�E�	4�	4�A����i��B��3�3�3�3�	4�	4rc��|jj|jj|jj|jjfD]+}|�t|t��d���,dSr�)r/r1r0r?r@r=r�r�r�s  r�
test_len_onlyzTestErrorHandling.test_len_onlyO�]���+�)�4�;�+C��+�)�4�;�+C�E�	;�	;�A����i��G�I�I�r�:�:�:�:�	;�	;rc��|jj|jj|jj|jjfD]+}|�t|t��d���,dSr�)r/r1r0r?r@r=r�r�r�s  r�
test_get_onlyzTestErrorHandling.test_get_onlyTr�rc���t��t��t��g}|jj|jj|jj|jjfD]}|�t||d��� dSr�)r�r/r1r0r?r@r=r�)r�seqr�s   r�test_cmp_errzTestErrorHandling.test_cmp_errYsr���x�x����6�8�8�,���+�)�4�;�+C��+�)�4�;�+C�E�	=�	=�A����/��C��<�<�<�<�	=�	=rc��|jj|jj|jj|jjfD]}|�t|d���dSr�r�r�s  r�test_arg_parsingz"TestErrorHandling.test_arg_parsing_sW���+�)�4�;�+C��+�)�4�;�+C�E�	0�	0�A����i��B�/�/�/�/�	0�	0rN)rr r!r�r�r�r�r�r#rrr�r�Is_������4�4�4�
;�;�;�
;�;�;�
=�=�=�0�0�0�0�0rr�c��eZdZeZdS)�TestErrorHandlingPythonNr�r#rrr�r�dr�rr�c��eZdZeZdS)�TestErrorHandlingCNr�r#rrr�r�gr�rr�c��eZdZd�Zd�ZdS)�TestDocExamplec�j���gd�df�fd�	��fd�dD��}��|gd���dS)N)�<�F�P�Z�FDCBAc�J���j�||��}||Sr)r/r)�score�breakpoints�gradesrYrs    �r�gradez)TestDocExample.test_grades.<locals>.gradens$�����"�"�;��6�6�A��!�9�rc�&��g|]
}�|����Sr#r#)rRr�r�s  �rrTz.TestDocExample.test_grades.<locals>.<listcomp>rs!���J�J�J�5�%�%��,�,�J�J�Jr)�!�c�Mr��Yr�rI)�F�A�Cr��Br�r�)r5)r�resultr�s` @r�test_gradeszTestDocExample.test_gradesmsm����%5�%5�%5�g�	�	�	�	�	�	�K�J�J�J�,I�J�J�J������!D�!D�!D�E�E�E�E�Erc��gd�}|�d����d�|D��}|jj}|�|||d��d��|�|||d��d��|�|||d	��d
��|�|||d��d��dS)
N)��redr.��bluer'��yellowr]��blackrc��|dS)Nr'r#)�rs r�<lambda>z,TestDocExample.test_colors.<locals>.<lambda>ws
���!��rrpc��g|]
}|d��S)r'r#)rRr�s  rrTz.TestDocExample.test_colors.<locals>.<listcomp>xs��#�#�#���!��#�#�#rrr�r'r�r.r�r]r�)rVr/r1r5)rr7�keysr1s    r�test_colorszTestDocExample.test_colorsus���E�E�E���	�	�n�n�	�%�%�%�#�#�d�#�#�#���k�-������k�k�$��2�2�3�\�B�B�B�����k�k�$��2�2�3�[�A�A�A�����k�k�$��2�2�3�Z�@�@�@�����k�k�$��2�2�3�]�C�C�C�C�CrN)rr r!r�r�r#rrr�r�ls:������F�F�F�D�D�D�D�Drr�c��eZdZeZdS)�TestDocExamplePythonNr�r#rrr�r�r�rr�c��eZdZeZdS)�TestDocExampleCNr�r#rrr�r��r�rr��__main__)rD�unittest�test.supportr�collectionsr�import_fresh_moduler�r��objectr
r%�TestCaser�r�r�r�r�r�r�r�r�r�r�r�r�r�r�mainr#rr�<module>rsb��
�
�
�
�����&�&�&�&�&�&� � � � � � �
.�M�-�h���L�L�L�	�,�=�,�X�i�[�I�I�I��%�%�%�%�%�F�%�%�%�,h=�h=�h=�h=�h=�h=�h=�h=�T�����z�8�#4���������*�h�/����
,�,�,�,�,�,�,�,�6�����z�8�#4���������*�h�/����
��������
��������
��������0�0�0�0�0�0�0�0�6�����/��1B���������*�H�,=����
D�D�D�D�D�D�D�D�&�����>�8�+<���������n�h�&7����
�z����H�M�O�O�O�O�O��r