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_slice.cpython-310.opt-2.pyc
o

�i�$�@s�ddlZddlZddlZddlZddlZddlZddlmZmZddl	m
Z
dd�Zdd�ZGdd	�d	e
�ZGd
d�dej�ZedkrIe��dSdS)
�N)�loads�dumps)�supportcCs	t|d�rt�|�Std��)N�	__index__zBslice indices must be integers or None or have an __index__ method)�hasattr�operator�index�	TypeError)�arg�r�,/usr/local/lib/python3.10/test/test_slice.py�evaluate_slice_indexs

�r
cCs�	t�|�}|jdur
dnt|j�}|dkrtd��|dkr"td��|dkr(dnd}|dkr2|dn|}|jdurB|dkr?|n|}nt|j�}|dkrRt|||�nt||�}|jdure|dkrb|n|}nt|j�}|dkrut|||�nt||�}|||fS)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__Bs
zMyIndexable.__init__cCs|jSrr�rrrrrEszMyIndexable.__index__N)�__name__�
__module__�__qualname__r rrrrrrAsrc@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�	SliceTestcCs$|�tt�|�ttdddd�dS)Nr���)�assertRaisesr	rr!rrr�test_constructorKszSliceTest.test_constructorcCs|�ttddd��d�dS)Nrr&r'zslice(1, 2, 3))�assertEqual�reprrr!rrr�	test_reprOszSliceTest.test_reprcCsN|�tttd��|�t��td���Wd�dS1s wYdS)N�)r)r	�hashr�__hash__r!rrr�	test_hashRs"�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@�eZdZdS)zSliceTest.test_cmp.<locals>.ExcN�r"r#r$rrrr�Excb�r5c�eZdZ�fdd�ZdS)z"SliceTest.test_cmp.<locals>.BadCmpcs��rr)r�other�r5rr�__eq__fsz)SliceTest.test_cmp.<locals>.BadCmp.__eq__N)r"r#r$r:rr9rr�BadCmpe�r;c���kSrrr��s1�s2rr�<lambda>l�z$SliceTest.test_cmp.<locals>.<lambda>cr=rrrr>rrrAqrBcr=rrrr>rrrAvrB)rr+�assertNotEqual�	Exception�objectr))rZs3r;r)r5r?r@r�test_cmpXs,

zSliceTest.test_cmpcCs�td�}|�|jd�|�|jd�|�|jd�tdd�}|�|jd�|�|jd�|�|jd�tddd�}|�|jd�|�|jd�|�|jd�Gdd�d�}|�}t|�}|�|j|u�dS)Nrr&r'c@r3)z(SliceTest.test_members.<locals>.AnyClassNr4rrrr�AnyClass�r6rG)rr+rrrZ
assertTrue)r�srG�objrrr�test_membersxs 
zSliceTest.test_memberscCs�z|�|�}Wntyd}Ynwzt||�}Wnty%d}Ynw|�||�|dkrJ|jdkrLt|�|��}t|�|}|�||�dSdSdS)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}tj|dd#�D]}t|�}|D]	}|�	||��qS�qK|�	tddd�d$�|�
t��td��d�Wd�n	1�s�wY|�
t��tddd��d%�Wd�n	1�s�wY|�
t��td&dd��d%�Wd�n	1�s�wY|�
t��tdd'd��d%�Wd�n	1�s�wY|�
t��tddd(��d%�Wd�n	1�s�wY|�
t��tddd��d)�Wd�n	1�swY|�tddd��d%�d*�|�tt
d�dd��d%�d*�|�tdt
d�d��d%�d*�|�tddt
d���d%�d*�|�tddd��t
d%��d*�dS)+N�
)rrOrr&)rrOr&r)rrOr&r)�	rr���)rPrrQr')r'rrQi����)rrri����)rrri����)rPrri�rP)rrPr��)rPrSr)rPrPri�����dri�i���i������5i@)�repeat���r.gg$@g�?g@)rr.r)r+rrK�listrL�sys�maxsize�	itertools�productrNr)rr	r)rZvalsZlengthsZ
slice_argsrHrrrr�test_indices�sv��&&�������"zSliceTest.test_indicescsFg�G�fdd�dt�}|�}d|dd�<|��tdd�dfg�dS)Ncr7)z3SliceTest.test_setslice_without_getslice.<locals>.Xcs��||f�dSr)�append)r�i�k��tmprr�__setitem__�sz?SliceTest.test_setslice_without_getslice.<locals>.X.__setitem__N)r"r#r$rdrrbrr�X�r<re�*rr&)rEr+r)rre�xrrbr�test_setslice_without_getslice�s
z(SliceTest.test_setslice_without_getslicecCsrddl}tddd�}t|jd�D]%}tt||��}|�||�|�|�d�|�d��|�t	|�t	|��qdS)NrrO�r'r�)
�picklerrL�HIGHEST_PROTOCOLrrr+rKrC�id)rrkrH�protocol�trrr�test_pickle�s�zSliceTest.test_picklecCs�tdd�}t�|�}|�||�tddd�}t�|�}|�||�tddgddgddg�}t�|�}|�||�|�|j|j�|�|j|j�|�|j|j�dS�NrrOr&r'r(r.�)r�copyZassertIsrrr�rrH�crrr�	test_copy�s



zSliceTest.test_copycCs�tdd�}t�|�}|�||�tddd�}t�|�}|�||�tddgddgddg�}t�|�}|�||�|�||�|�|j|j�|�|j|j�|�|j|j�dSrq)rrs�deepcopyr+ZassertIsNotrrrrtrrr�
test_deepcopy	s



zSliceTest.test_deepcopycCsDGdd�d�}|�}t|�|_t�|�}d}t��|�|��dS)Nc@r3)z#SliceTest.test_cycle.<locals>.myobjNr4rrrr�myobjsry)rrH�weakref�refr�
gc_collectZassertIsNone)rry�o�wrrr�
test_cycles

zSliceTest.test_cycleN)r"r#r$r*r-r1rFrJrNr^rhrprvrxrrrrrr%Is E

r%�__main__)r\rrZZunittestrzrsrkrr�testrr
rrErZTestCaser%r"�mainrrrr�<module>s 
&\�