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

�Ke�$����ddlZddlZddlZddlZddlZddlZddlmZmZddl	m
Z
d�Zd�ZGd�de
��ZGd�d	ej��Zed
krej��dSdS)�N)�loads�dumps)�supportc�h�t|d��rtj|��Std���)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__ method)�hasattr�operator�index�	TypeError)�args �9/usr/local/apps/python3/lib/python3.11/test/test_slice.py�evaluate_slice_indexrs=���s�K� � �0��~�c�"�"�"��
/�0�0�	0�c�,�tj|��}|j�dnt|j��}|dkrt	d���|dkrt	d���|dkrdnd}|dkr|dz
n|}|j�|dkr|n|}n=t|j��}|dkrt
||z|��nt||��}|j�|dkr|n|}n=t|j��}|dkrt
||z|��nt||��}|||fS)zA
    Reference implementation for the slice.indices method.

    N�rzlength should not be negativezslice step cannot be zero���)	r	r
�stepr�
ValueError�start�max�min�stop)�slice�lengthr�lower�upperrrs       r
�
slice_indicesrsA���^�F�
#�
#�F��
�"�1�1�(<�U�Z�(H�(H�D���z�z��8�9�9�9��q�y�y��4�5�5�5���(�(�B�B��E���(�(�F�Q�J�J��E�
�{��������u���$�U�[�1�1��.3�a�i�i��E�F�N�E�*�*�*�S���=N�=N��
�z���q���u�u�e���#�E�J�/�/��,0�1�H�H�s�4�&�=�%�(�(�(�#�d�E�:J�:J���$���rc��eZdZd�Zd�ZdS)�MyIndexablec��||_dS�N��value)�selfr#s  r
�__init__zMyIndexable.__init__Bs
����
�
�
rc��|jSr!r"�r$s r
rzMyIndexable.__index__Es
���z�rN)�__name__�
__module__�__qualname__r%r�rr
rrAs2�������������rrc�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�	SliceTestc��|�tt��|�ttdddd��dS)Nr���)�assertRaisesrrr's r
�test_constructorzSliceTest.test_constructorKs<�����)�U�+�+�+����)�U�A�q�!�Q�7�7�7�7�7rc	�j�|�ttddd����d��dS)Nrr/r0zslice(1, 2, 3))�assertEqual�reprrr's r
�	test_reprzSliceTest.test_reprOs1������e�A�q�!�n�n�-�-�/?�@�@�@�@�@rc�
�|�tttd����|�t��5td�����ddd��dS#1swxYwYdS)N�)r2r�hashr�__hash__r's r
�	test_hashzSliceTest.test_hashRs������)�T�5��8�8�4�4�4�
�
�
�y�
)�
)�	 �	 ��!�H�H������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�	"A8�8A<�?A<c������tddd���tddd���tddd��}|�����|��|��|��d��|��d��|��d��Gd�dt���G�fd	�d
t��}t|�����t|�����|�����|����fd���td|�����td|�����|�����|����fd���tdd|�����tdd|�����|�����|����fd
���dS)Nrr/r0r1)rr/r0�c��eZdZdS)�SliceTest.test_cmp.<locals>.ExcN�r(r)r*r+rr
�Excr@b��������DrrBc���eZdZ�fd�ZdS)�"SliceTest.test_cmp.<locals>.BadCmpc�����r!r+)r$�otherrBs  �r
�__eq__z)SliceTest.test_cmp.<locals>.BadCmp.__eq__fs����	rN)r(r)r*rH)rBs�r
�BadCmprEes.�������
�
�
�
�
�
�
rrIc�����kSr!r+��s1�s2s��r
�<lambda>z$SliceTest.test_cmp.<locals>.<lambda>l����r�R�x�rc�����kSr!r+rKs��r
rNz$SliceTest.test_cmp.<locals>.<lambda>qrOrc�����kSr!r+rKs��r
rNz$SliceTest.test_cmp.<locals>.<lambda>vrOr)rr5�assertNotEqual�	Exception�objectr2)r$�s3rIrBrLrMs   @@@r
�test_cmpzSliceTest.test_cmpXs+�����
�1�a��^�^��
�1�a��^�^��
�1�a��^�^������R� � � ����B��#�#�#����B��%�%�%����B�	�*�*�*����B��#�#�#�	�	�	�	�	�)�	�	�	�	�	�	�	�	�	�	�V�	�	�	��6�6�8�8�_�_��
�6�6�8�8�_�_������R� � � ����#�/�/�/�/�/�0�0�0�
�1�f�f�h�h�
�
��
�1�f�f�h�h�
�
������R� � � ����#�/�/�/�/�/�0�0�0�
�1�a�����
"�
"��
�1�a�����
"�
"������R� � � ����#�/�/�/�/�/�0�0�0�0�0rc���td��}|�|jd��|�|jd��|�|jd��tdd��}|�|jd��|�|jd��|�|jd��tddd��}|�|jd��|�|jd��|�|jd��Gd�d��}|��}t|��}|�|j|u��dS)Nrr/r0c��eZdZdS)�(SliceTest.test_members.<locals>.AnyClassNrAr+rr
�AnyClassrY�rCrrZ)rr5rrr�
assertTrue)r$�srZ�objs    r
�test_memberszSliceTest.test_membersxs_���!�H�H�������$�'�'�'�������#�#�#�������&�&�&��!�Q�K�K�������!�$�$�$�������#�#�#�������&�&�&��!�Q��N�N�������!�$�$�$�������#�#�#�������#�#�#�	�	�	�	�	�	�	�	��h�j�j���#�J�J�������#�
�&�&�&�&�&rc��	|�|��}n#t$rd}YnwxYw	t||��}n#t$rd}YnwxYw|�||��|dkrT|jdkrKt|�|���}t|��|}|�||��dSdSdS)N�
valueerrorr)�indicesrrr5r�range)r$rr�actual�expecteds     r
�
check_indiceszSliceTest.check_indices�s���	"��]�]�6�*�*�F�F���	"�	"�	"�!�F�F�F�	"����	$�$�U�F�3�3�H�H���	$�	$�	$�#�H�H�H�	$���������*�*�*��Q�;�;�5�:��?�?��E�M�M�&�1�1�2�F��V�}�}�U�+�H����V�X�.�.�.�.�.��;�?�?s��'�'�<�A�
Ac
���|�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��|�tt	d����ddt
jdz
�dg��dddzddddddd d!d"ddzg}ddd d!d"ddzg}tj|d�#��D]&}t|�}|D]}|�	||����'|�	tddd��d$��|�
t��5td���d��ddd��n#1swxYwY|�
t��5tddd���d%��ddd��n#1swxYwY|�
t��5td&dd���d%��ddd��n#1swxYwY|�
t��5tdd'd���d%��ddd��n#1swxYwY|�
t��5tddd(���d%��ddd��n#1swxYwY|�
t��5tddd���d)��ddd��n#1swxYwY|�tddd���d%��d*��|�ttd��dd���d%��d*��|�tdtd��d���d%��d*��|�tddtd�����d%��d*��|�tddd���td%����d*��dS)+N�
)rrgrr/)rrgr/r)rrgr/r)�	rr���)rhrrir0)r0rrii����)rrri����)rrri����)rhrri�rh)rrhr��)rhrkr)rhrhri�����dri�i���i������5i@)�repeat���r9gg$@g�?g@)rr9r)r5rra�listrb�sys�maxsize�	itertools�productrer2rrr)r$�vals�lengths�
slice_argsr\rs      r
�test_indiceszSliceTest.test_indices�sF	������t�/�/�7�7��;�;�[�I�I�I�����t�d�Q�/�/�7�7��;�;�[�I�I�I�����q�d�Q�/�/�7�7��;�;�[�I�I�I�����t�d�B�/�/�7�7��;�;�[�I�I�I�����t�d�B�/�/�7�7��;�;�[�I�I�I�����q�d�B�/�/�7�7��;�;�[�I�I�I�����t�R���0�0��4�4�i�@�@�@�����t�S�)�)�1�1�"�5�5�y�A�A�A�����t�S�)�)�1�1�"�5�5�y�A�A�A�����t�S�"�-�-�5�5�b�9�9�:�F�F�F�����t�S�"�-�-�5�5�b�9�9�;�G�G�G�����t�S�"�-�-�5�5�b�9�9�;�G�G�G�����t�Q���/�/��3�3�Y�?�?�?�����t�R���0�0��4�4�j�A�A�A�����t�R���0�0��4�4�j�A�A�A�����t�Q��+�+�3�3�B�7�7��D�D�D�����t�Q��+�+�3�3�B�7�7��D�D�D�����t�R��,�,�4�4�R�8�8�*�E�E�E�����$��"�"�*�*�2�.�.��$�K�K����#�#�	
�	
�	
�	
����#��r�"�"�*�*�2�.�.��$��b�!�!�)�)�"�-�-�	
�	
�	
�	
����t�S�!�,�,�4�4�R�8�8�+�F�F�F�����e�B�i�i���):�):�3�;��?�):�;�a�S�A�A�A��q�#�v�g�v�s�B��A�q�!�R���3��O���a��B��q�#�v�.��#�+�D��;�;�;�	.�	.�J��z�"�A�!�
.�
.���"�"�1�f�-�-�-�-�
.����5��B��?�?�B�/�/�/��
�
�z�
*�
*�	$�	$��$�K�K����#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��
�
�z�
*�
*�	'�	'��!�R��O�O�#�#�A�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
�
�
�y�
)�
)�	)�	)��#�r�1���%�%�a�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	)�	)��!�T�1���%�%�a�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	)�	)��!�R����%�%�a�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	)�	)��!�R��O�O�#�#�C�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	
����q�"�a���0�0��3�3�Y�?�?�?�����{�1�~�~�r�1�5�5�=�=�a�@�@�)�L�L�L�����q�+�b�/�/�1�5�5�=�=�a�@�@�)�L�L�L�����q�"�k�!�n�n�5�5�=�=�a�@�@�)�L�L�L�����q�"�a���0�0��Q���@�@�)�L�L�L�L�Lsl�5#W$�$W(�+W(�	%X:�:X>�X>�%Z�Z�Z�5%[&�&[*�-[*�%\<�<]�]�!%^�^�^c���g�G�fd�dt��}|��}d|dd�<|��tdd��dfg��dS)Nc���eZdZ�fd�ZdS)�3SliceTest.test_setslice_without_getslice.<locals>.Xc�6����||f��dSr!)�append)r$�i�k�tmps   �r
�__setitem__z?SliceTest.test_setslice_without_getslice.<locals>.X.__setitem__�s����
�
�A�q�6�"�"�"�"�"rN)r(r)r*r�)r�s�r
�Xr|�s.�������
#�
#�
#�
#�
#�
#�
#rr��*rr/)rTr5r)r$r��xr�s   @r
�test_setslice_without_getslicez(SliceTest.test_setslice_without_getslice�s������	#�	#�	#�	#�	#�	#�	#��	#�	#�	#�
�A�C�C����!�A�#�������a����R�0�1�2�2�2�2�2rc��ddl}tddd��}t|jdz��D]�}t	t||����}|�||��|�|�d��|�d����|�t|��t|������dS)Nrrg�r0r�)
�picklerrb�HIGHEST_PROTOCOLrrr5rarR�id)r$r�r\�protocol�ts     r
�test_picklezSliceTest.test_pickle�s����
�
�
��"�b�!�����f�5��9�:�:�	.�	.�H��e�A�x�(�(�)�)�A����Q��"�"�"����Q�Y�Y�r�]�]�A�I�I�b�M�M�:�:�:�����1���r�!�u�u�-�-�-�-�		.�	.rc�2�tdd��}tj|��}|�||��tddd��}tj|��}|�||��tddgddgddg��}tj|��}|�||��|�|j|j��|�|j|j��|�|j|j��dS�Nrrgr/r0r1r9�)r�copy�assertIsrrr�r$r\�cs   r
�	test_copyzSliceTest.test_copy�s����!�R�L�L���I�a�L�L���
�
�a������!�R��O�O���I�a�L�L���
�
�a�����
�1�a�&�1�a�&�1�a�&�)�)���I�a�L�L���
�
�a������
�
�a�g�q�w�'�'�'��
�
�a�f�a�f�%�%�%��
�
�a�f�a�f�%�%�%�%�%rc�^�tdd��}tj|��}|�||��tddd��}tj|��}|�||��tddgddgddg��}tj|��}|�||��|�||��|�|j|j��|�|j|j��|�|j|j��dSr�)rr��deepcopyr5�assertIsNotrrrr�s   r
�
test_deepcopyzSliceTest.test_deepcopy	s���!�R�L�L���M�!��������A�����!�R��O�O���M�!��������A����
�1�a�&�1�a�&�1�a�&�)�)���M�!��������A��������A���������!�'�*�*�*��������(�(�(��������(�(�(�(�(rc���Gd�d��}|��}t|��|_tj|��}d}t	j��|�|����dS)Nc��eZdZdS)�#SliceTest.test_cycle.<locals>.myobjNrAr+rr
�myobjr�s�������rr�)rr\�weakref�refr�
gc_collect�assertIsNone)r$r��o�ws    r
�
test_cyclezSliceTest.test_cycless�����������E�G�G���A�h�h����K��N�N������������!�!�#�#�����rN)r(r)r*r3r7r<rVr^reryr�r�r�r�r�r+rr
r-r-Is�������8�8�8�A�A�A� � � �1�1�1�@'�'�'�./�/�/� CM�CM�CM�J3�3�3�.�.�.�&�&�&�")�)�)�$����rr-�__main__)rtr	rr�unittestr�r�r�rr�testrrrrTr�TestCaser-r(�mainr+rr
�<module>r�s����������
�
�
�
���������������������������0�0�0�!�!�!�L�����&����Y�Y�Y�Y�Y��!�Y�Y�Y�v�z����H�M�O�O�O�O�O��r