HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_bisect.cpython-310.opt-1.pyc
o

�i�>�@srddlZddlZddlmZddlmZejddgd�Zejddgd�ZGdd	�d	e	�Z
Gd
d�d�ZGdd
�d
eej�Z
Gdd�deej�ZGdd�d�ZGdd�deej�ZGdd�deej�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�deej�ZGd d!�d!eej�ZGd"d#�d#�ZGd$d%�d%eej�ZGd&d'�d'eej�Zed(kr�e��dSdS))�N)�
import_helper)�UserList�bisect�_bisect)Zblocked)Zfreshc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�Rangez:A trivial range()-like object that has an insert() method.cCs||_||_d|_dS�N)�start�stop�last_insert)�selfrr	�r�-/usr/local/lib/python3.10/test/test_bisect.py�__init__s
zRange.__init__cCs|j|jSr)r	r�rrrr
�__len__sz
Range.__len__cCs6|j|j}|dkr||7}||krt|��|j|S)Nr)r	r�
IndexError)r�idx�nrrr
�__getitem__s
zRange.__getitem__cCs||f|_dSr)r
)rr�itemrrr
�insertszRange.insertN)�__name__�
__module__�__qualname__�__doc__rrrrrrrr
r
src@sneZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zddd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�
TestBisectcCsg|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�)rrr�)rrrr�g�?)rrrr�rrrg@)
rrrrrrrrrr�g@�
�)�module�bisect_right�bisect_left�precomputedCasesrrrr
�setUp!s:��������	�
���
������������������� �!�"�#�$�%�&�'�)�*�+�,�-�.�/�0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O
�zTestBisect.setUpcCs@|jD]\}}}}|�|||�|�|�|t|�|�|�qdSr)r'�assertEqualr)r�func�data�elem�expectedrrr
�test_precomputedts�zTestBisect.test_precomputedcCsr|j}|�t|jgd�ddd�|�t|jgd�ddd�|�t|jgd�ddd�|�t|jgd�ddd�dS)Nr r#���r)r$�assertRaises�
ValueErrorr&r%�insort_left�insort_right)r�modrrr
�test_negative_loys
zTestBisect.test_negative_locCs�|j}tj}t|d�}|�|�||d�|d�|�|�||d�|d�|�|�||d|d|�|d�|�|�||d|d|�|d�dS)Nrrrr")r$�sys�maxsize�ranger)r&r%)rr4rr+rrr
�test_large_range�s$(zTestBisect.test_large_rangecCs|j}tj}td|d�}|�|�||d�|d�|�|�||d�|d�|�|�||d|d|�|d�|�|�||d|d|�|d�|d}|�|||d|d�|�|j||f�|d}|�	|||d|d�|�|j|d|f�dS)	Nrrrrr"�d�2��)
r$r6r7rr)r&r%r2r
r3)rr4rr+�xrrr
�test_large_pyrange�s$$zTestBisect.test_large_pyrange�cs�ddlm�t��D]c}��fdd�t|�D�}|���d�d�}|j�||�}|t|�kr9|�|||k�|dkrH|�||d|k�|j�||�}|t|�kr^|�|||k�|dkrm|�||d|k�q
dS)Nr)�	randrangecsg|]}�d�d��qS)rrr)�.0�j�rr@rr
�
<listcomp>�sz*TestBisect.test_random.<locals>.<listcomp>r/r)	�randomr@r8�sortr$r&�len�
assertTruer%)rr�ir+r,�iprrCr
�test_random�s"��zTestBisect.test_randomcCs6|jD]�\}}}}td�D]�}tt|�|�}tdd�D]{}tt|�|�}|||||�}|�||ko6|kn�||jjurM||krM|�|||k�||jjurb||krb|�||d|k�||jjuru||kru|�|||k�||jjur�||kr�|�||d|k�|�|t	|t||���qq
qdS)Nrr�r)
r'r8�minrGrHr$r&r%r)�max)rr*r+r,r-�lo�hirJrrr
�test_optionalSlicing�s&���zTestBisect.test_optionalSlicingcC�|�|jj|jj�dSr)r)r$rr%rrrr
�test_backcompatibility��z!TestBisect.test_backcompatibilitycCs�gd�}|�|jj|dddd�d�|�|jj|dddd�d�|�|jj|dddd�d�|jj|dddd�|jj|dddd�|jj|dddd�|�|gd��dS)N)r"���(r;r?rr)�ar=rOrPr)r"rUr?r?r?rVrWr;)r)r$r&r%rr2r3�insort)rr+rrr
�test_keyword_args�szTestBisect.test_keyword_argscCs�|j}t}tgd�|d�}tt||��}|D]"}|�|j|||d�|�||��|�|j|||d�|�||��qtj	}td|d�}tt||��}|D]"}|�|j|||d�|�||��|�|j|||d�|�||��qKdS)N)r���r!rL�����keyZaBcDeEfgHhiIiij)
r$�abs�sorted�list�mapr)r&r%�str�casefold)rr4�keyfuncZarrZprecomputed_arrr=rrr
�test_lookups_with_key_function�s4
�
�
�
��z)TestBisect.test_lookups_with_key_functioncCs�ddlm}|j}t}ttdd��ttddd��}||�g}|D]}|j|||d�|�t||d�|�q"g}|D]}|j	|||d�|�t||d�|�q;dS)	Nr)�shuffler\�i��rUrr])
rErgr$r_rar8r2r)r`r3)rrgr4rer+�targetr=rrr
�test_insort�s(
�
��zTestBisect.test_insortcCs<g}ddd�}|jj|jjfD]}|jt|||dd�qdS)Nrr)rX�brkr])r$r2r3r0�	TypeError)rr=�y�frrr
�test_insort_keynotNones

�z!TestBisect.test_insort_keynotNoneN)r?)rrrr(r.r5r9r>rKrQrSrZrfrjrorrrr
r sS


!rc@�eZdZeZdS)�TestBisectPythonN�rrr�	py_bisectr$rrrr
rq
�rqc@rp)�TestBisectCN�rrr�c_bisectr$rrrr
ru
rtruc@s&eZdZd	dd�Zdd�Zdd�ZdS)
�
TestInsort��cCslddlm}t�t�fD]'}t|�D]}|d�}|dvr!|jj}n|jj}|||�q|�t	|�|�qdS)Nr)�choice�
0123456789Z02468)
rErzrarr8r$r2r3r)r`)rrrzZinsortedrIZdigitrnrrr
�test_vsBuiltinSorts
�zTestInsort.test_vsBuiltinSortcCrRr)r)r$rYr3rrrr
rSrTz!TestInsort.test_backcompatibilitycCsHGdd�dt�}|�}|j�|d�|j�|d�|�ddg|j�dS)Nc@seZdZgZdd�ZdS)z)TestInsort.test_listDerived.<locals>.ListcSs|j�||�dSr)r+r)r�indexrrrr
r%sz0TestInsort.test_listDerived.<locals>.List.insertN)rrrr+rrrrr
�List#�r~r"r#)rar$r2r3r)r+)rr~Zlstrrr
�test_listDerived"s
zTestInsort.test_listDerivedN)ry)rrrr|rSr�rrrr
rxs
rxc@rp)�TestInsortPythonNrrrrrr
r�-rtr�c@rp)�TestInsortCNrvrrrr
r�0rtr�c@�eZdZdZdd�ZdS)�LenOnlyz:Dummy sequence class defining __len__ but not __getitem__.cC�dS�Nr"rrrrr
r7�zLenOnly.__len__N)rrrrrrrrr
r�5rr�c@r�)�GetOnlyz:Dummy sequence class defining __getitem__ but not __len__.cCr�r�r)rZndxrrr
r<r�zGetOnly.__getitem__N)rrrrrrrrr
r�:rr�c@s,eZdZdZdd�ZeZeZeZeZeZ	dS)�CmpErrz;Dummy element that always raises an error during comparisoncCst�r)�ZeroDivisionError)r�otherrrr
�__lt__Ar�z
CmpErr.__lt__N)
rrrrr��__gt__�__le__�__ge__�__eq__�__ne__rrrr
r�?sr�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestErrorHandlingcCs6|jj|jj|jj|jjfD]
}|�t|dd�qdSr��r$r&r%r2r3r0rl�rrnrrr
�test_non_sequenceJs
��z#TestErrorHandling.test_non_sequencecC�8|jj|jj|jj|jjfD]}|�t|t�d�qdSr�)r$r&r%r2r3r0rlr�r�rrr
�
test_len_onlyO�
��zTestErrorHandling.test_len_onlycCr�r�)r$r&r%r2r3r0rlr�r�rrr
�
test_get_onlyTr�zTestErrorHandling.test_get_onlycCsFt�t�t�g}|jj|jj|jj|jjfD]
}|�t||d�qdSr�)r�r$r&r%r2r3r0r�)r�seqrnrrr
�test_cmp_errYs��zTestErrorHandling.test_cmp_errcCs4|jj|jj|jj|jjfD]	}|�t|d�qdSr�r�r�rrr
�test_arg_parsing_s
��z"TestErrorHandling.test_arg_parsingN)rrrr�r�r�r�r�rrrr
r�Isr�c@rp)�TestErrorHandlingPythonNrrrrrr
r�drtr�c@rp)�TestErrorHandlingCNrvrrrr
r�grtr�c@seZdZdd�Zdd�ZdS)�TestDocExamplecs<gd�df�fdd�	��fdd�dD�}��|gd��dS)	N)�<�F�P�ZZFDCBAcs�j�||�}||Sr)r$r)�scoreZbreakpointsZgradesrIrrr
�gradensz)TestDocExample.test_grades.<locals>.gradecsg|]}�|��qSrr)rAr�)r�rr
rDr�z.TestDocExample.test_grades.<locals>.<listcomp>)�!�c�Mr��Yr�r:)�F�A�Cr��Br�r�)r))r�resultr)r�rr
�test_gradesmszTestDocExample.test_gradescCs�gd�}|jdd�d�dd�|D�}|jj}|�|||d�d�|�|||d	�d
�|�|||d�d�|�|||d
�d�dS)N)�Zredr#�Zbluer�ZyellowrL�ZblackrcSs|dS)Nrr)�rrrr
�<lambda>wsz,TestDocExample.test_colors.<locals>.<lambda>r]cSsg|]}|d�qS)rr)rAr�rrr
rDxr�z.TestDocExample.test_colors.<locals>.<listcomp>rr�rr�r#r�rLr�)rFr$r&r))rr+�keysr&rrr
�test_colorsuszTestDocExample.test_colorsN)rrrr�r�rrrr
r�lsr�c@rp)�TestDocExamplePythonNrrrrrr
r�rtr�c@rp)�TestDocExampleCNrvrrrr
r��rtr��__main__)r6ZunittestZtest.supportr�collectionsrZimport_fresh_modulersrw�objectrrZTestCaserqrurxr�r�r�r�r�r�r�r�r�r�r�r�mainrrrr
�<module>s4k
�