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.7/test/__pycache__/test_slice.cpython-37.opt-1.pyc
B

��g� �@s�ddlZddlZddlZddlZddlZddlmZmZddlm	Z	dd�Z
dd�ZGdd	�d	e�Z
Gd
d�dej�Zedkr�e��dS)
�N)�loads�dumps)�supportcCs t|d�rt�|�Std��dS)z�
    Helper function to convert a slice argument to an integer, and raise
    TypeError with a suitable message on failure.

    �	__index__zBslice indices must be integers or None or have an __index__ methodN)�hasattr�operator�index�	TypeError)�arg�r�+/usr/local/lib/python3.7/test/test_slice.py�evaluate_slice_index
s

r
cCs�t�|�}|jdkrdnt|j�}|dkr2td��|dkrBtd��|dkrNdnd}|dkrb|dn|}|jdkr�|dkr||n|}n*t|j�}|dkr�t|||�nt||�}|jdkr�|dkr�|n|}n*t|j�}|dkr�t|||�nt||�}|||fS)zA
    Reference implementation for the slice.indices method.

    N�rzlength should not be negativezslice step cannot be zero���)	rr�stepr
�
ValueError�start�max�min�stop)�slice�lengthr�lower�upperrrrrr�
slice_indicess"


 

 rc@seZdZdd�Zdd�ZdS)�MyIndexablecCs
||_dS)N)�value)�selfrrrr�__init__AszMyIndexable.__init__cCs|jS)N)r)rrrrrDszMyIndexable.__index__N)�__name__�
__module__�__qualname__rrrrrrr@src@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�	SliceTestcCs$|�tt�|�ttdddd�dS)Nr���)�assertRaisesr	r)rrrr�test_constructorJszSliceTest.test_constructorcCs|�ttddd��d�dS)Nrr#r$zslice(1, 2, 3))�assertEqual�reprr)rrrr�	test_reprNszSliceTest.test_reprc	Cs8|�tttd��|�t��td���WdQRXdS)N�)r&r	�hashr�__hash__)rrrr�	test_hashQszSliceTest.test_hashcs6tddd��tddd��tddd�}|����|��|�|��d�|��d�|��d�Gdd�dt��G�fd	d
�d
t�}t|���t|���|����|����fdd��td|���td|���|����|����fd
d��tdd|���tdd|���|����|����fdd��dS)Nrr#r$r%)rr#r$�c@seZdZdS)zSliceTest.test_cmp.<locals>.ExcN)rr r!rrrr�Excasr0cseZdZ�fdd�ZdS)z"SliceTest.test_cmp.<locals>.BadCmpcs��dS)Nr)r�other)r0rr�__eq__esz)SliceTest.test_cmp.<locals>.BadCmp.__eq__N)rr r!r2r)r0rr�BadCmpdsr3cs��kS)Nrr)�s1�s2rr�<lambda>k�z$SliceTest.test_cmp.<locals>.<lambda>cs��kS)Nrr)r4r5rrr6pr7cs��kS)Nrr)r4r5rrr6ur7)rr(�assertNotEqual�	Exception�objectr&)rZs3r3r)r0r4r5r�test_cmpWs,

zSliceTest.test_cmpcCs�td�}|�|jd�|�|jd�|�|jd�tdd�}|�|jd�|�|jd�|�|jd�tddd�}|�|jd�|�|jd�|�|jd�Gdd�d�}|�}t|�}|�|j|k�dS)Nrr#r$c@seZdZdS)z(SliceTest.test_members.<locals>.AnyClassN)rr r!rrrr�AnyClass�sr<)rr(rrrZ
assertTrue)r�sr<�objrrr�test_membersws 
zSliceTest.test_memberscCs�y|�|�}Wntk
r&d}YnXyt||�}Wntk
rNd}YnX|�||�|dkr�|jdkr�t|�|��}t|�|}|�||�dS)NZ
valueerrorr)�indicesrrr(r�range)rrr�actualZexpectedrrr�
check_indices�s

zSliceTest.check_indicesc
Cs\|�td��d�d�|�tddd��d�d�|�tddd��d�d�|�tddd��d�d�|�tddd	��d�d
�|�tddd	��d�d�|�tdd
��d�d�|�tdd��d�d�|�tdd��d�d�|�tddd��d�d�|�tddd��d�d�|�tddd��d�d�|�tdd��d�d�|�tdd��d�d�|�tdd��d�d�|�tddd��d�d�|�tddd��d�d�|�tddd��d�d�|�tdd��d�td��d��|�tddd��d�tddd��d��|�tddd��d�d�|�ttd��ddtjd�dg�dddddddddd d!d"ddg}ddd d!d"ddg}x<tj|dd#�D]*}t|�}x|D]}|�	||��q�W�q�W|�	tddd�d$�|�
t��td��d�WdQRX|�
t��tddd��d%�WdQRX|�
t��td&dd��d%�WdQRX|�
t��tdd'd��d%�WdQRX|�
t��tddd(��d%�WdQRX|�
t��tddd��d)�WdQRX|�tddd��d%�d*�|�tt
d�dd��d%�d*�|�tdt
d�d��d%�d*�|�tddt
d���d%�d*�|�tddd��t
d%��d*�dS)+N�
)rrDrr#)rrDr#r)rrDr#r)�	rr���)rErrFr$)r$rrFi����)rrri����)rrri����)rErri�rE)rrEr��)rErHr)rErEri�����dri�i���i������5i@)�repeat���r+gg$@g�?g@)rr+r)r(rr@�listrA�sys�maxsize�	itertools�productrCr&rr	r)rZvalsZlengthsZ
slice_argsr=rrrr�test_indices�sd&&
zSliceTest.test_indicescsFg�G�fdd�dt�}|�}d|dd�<|��tdd�dfg�dS)NcseZdZ�fdd�ZdS)z3SliceTest.test_setslice_without_getslice.<locals>.Xcs��||f�dS)N)�append)r�i�k)�tmprr�__setitem__�sz?SliceTest.test_setslice_without_getslice.<locals>.X.__setitem__N)rr r!rXr)rWrr�X�srY�*rr#)r:r(r)rrY�xr)rWr�test_setslice_without_getslice�s
z(SliceTest.test_setslice_without_getslicecCsdtddd�}xRdD]J}tt||��}|�||�|�|�d�|�d��|�t|�t|��qWdS)NrD�r$)rrr#�)rrrr(r@r8�id)rr=Zprotocol�trrr�test_pickle�s
zSliceTest.test_picklecCsDGdd�d�}|�}t|�|_t�|�}d}t��|�|��dS)Nc@seZdZdS)z#SliceTest.test_cycle.<locals>.myobjN)rr r!rrrr�myobj�srb)rr=�weakref�refrZ
gc_collectZassertIsNone)rrb�o�wrrr�
test_cycle�s

zSliceTest.test_cycleN)
rr r!r'r*r.r;r?rCrSr\rargrrrrr"Hs E
r"�__main__)rQrrOZunittestrc�picklerrZtestrr
rr:rZTestCaser"r�mainrrrr�<module>s
&7