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

�KeC&��D�ddlZddlZddlZddlmZGd�de��ZGd�de��ZGd�de��ZGd	�d
e��Z	Gd�de
��ZGd
�de��ZGd�de
��Z
Gd�de
��ZGd�de��ZGd�de
��ZGd�dej���ZGd�dej���ZGd�dej��ZGd�de��ZGd �d!e��ZGd"�d#ej��Zed$krej��dSdS)%�N)�DynamicClassAttributec��eZdZdS)�PropertyBaseN��__name__�
__module__�__qualname__���I/usr/local/apps/python3/lib/python3.11/test/test_dynamicclassattribute.pyrr	��������Drrc��eZdZdS)�PropertyGetNrr
rrrrr
rrc��eZdZdS)�PropertySetNrr
rrrrr
rrc��eZdZdS)�PropertyDelNrr
rrrrr
rrc�j�eZdZd�Zed���Zejd���Zejd���ZdS)�	BaseClassc��d|_dS)N���_spam��selfs r�__init__zBaseClass.__init__s
����
�
�
rc��|jS)�BaseClass.getterrrs r�spamzBaseClass.spam����z�rc��||_dS�Nr�r�values  rrzBaseClass.spams
����
�
�
rc�
�|`dSr"rrs rrzBaseClass.spam"s���J�J�JrN)rrr	rrr�setter�deleterr
rrrrsy���������������
�[����[��
�\����\���rrc��eZdZejdZejd���Zejd���Zejd���ZdS)�SubClassrc�*�t|j���)�SubClass.getter)rrrs rrz
SubClass.spam*s���$�*�%�%�%rc�*�t|j���r")rrr#s  rrz
SubClass.spam/����$�*�%�%�%rc�*�t|j���r")rrrs rrz
SubClass.spam3r-rN)	rrr	r�__dict__r�getterr&r'r
rrr)r)&sv��������f�%�D�	�[�&�&��[�&�
�[�&�&��[�&�
�\�&�&��\�&�&�&rr)c�2�eZdZdZd�Zeed���ZdS)�PropertyDocBase�c��|jSr"rrs r�	_get_spamzPropertyDocBase._get_spam9s
���z�r�spam spam spam)�docN)rrr	rr5rrr
rrr2r27s8������
�E���� � ��0@�A�A�A�D�D�Drr2c�H�eZdZejdZejd���ZdS)�PropertyDocSubrc��|jS)z*The decorator does not use this doc stringrrs rrzPropertyDocSub.spam?r rN)rrr	r2r/rr0r
rrr9r9=s<�������#�F�+�D�	�[����[���rr9c�H�eZdZejdZejd���ZdS)�PropertySubNewGetterrc��dS)�
new docstringrr
rs rrzPropertySubNewGetter.spamF�	���qrN)rrr	rr/rr0r
rrr<r<Ds<��������f�%�D�	�[����[���rr<c�D�eZdZed���Zejd���ZdS)�PropertyNewGetterc��dS)zoriginal docstringr3r
rs rrzPropertyNewGetter.spamLr?rc��dS)r>�r
rs rrzPropertyNewGetter.spamPr?rN)rrr	rrr0r
rrrArAKsK������������
�[����[���rrAc�>�eZdZeejd�����ZdS)� ClassWithAbstractVirtualPropertyc��dSr"r
r
rr�colorz&ClassWithAbstractVirtualProperty.colorV�	��	
�rN)rrr	r�abc�abstractmethodrHr
rrrFrFUs<���������
�
�����
�
�
rrF)�	metaclassc�>�eZdZejed�����ZdS)� ClassWithPropertyAbstractVirtualc��dSr"r
r
rrrHz&ClassWithPropertyAbstractVirtual.color\rIrN)rrr	rJrKrrHr
rrrNrN[s<���������
�
�����
�
�
rrNc��eZdZd�Zd�Zejejj	dkd��d���Z
ejejj	dkd��d���Zd�Zejejj	dkd��d���Z
d	�Zd
�ZdS)�
PropertyTestsc�2�t��}|�|jd��|�|jd��d|_|�|jd��|�|jd��t	|d��|�t
|d����|�t
|d����d|_|�|jd��|�|jd��dS)Nr�
rr�)r�assertEqualrr�delattr�
assertTrue�hasattr�r�bases  r�!test_property_decorator_baseclassz/PropertyTests.test_property_decorator_baseclassbs����{�{�������A�&�&�&������Q�'�'�'���	������B�'�'�'������R�(�(�(���f�������G�D�&�1�1�1�2�2�2����G�D�'�2�2�2�3�3�3���	������B�'�'�'������R�(�(�(�(�(rc���t��}|�tt|d��|�tt
|dd��|�tt|d��dS)Nr)r)�assertRaisesr�getattrr�setattrrrV�r�subs  r� test_property_decorator_subclassz.PropertyTests.test_property_decorator_subclassqsa���j�j�����+�w��V�<�<�<����+�w��V�T�B�B�B����+�w��V�<�<�<�<�<r��)Docstrings are omitted with -O2 and abovec�x�t��}|�|jjdjd��dS)Nrr+)r)rU�	__class__r/�__doc__r`s  r�$test_property_decorator_subclass_docz2PropertyTests.test_property_decorator_subclass_docxs7���j�j�������/��7�?�AR�S�S�S�S�Src�x�t��}|�|jjdjd��dS)Nrr)rrUrfr/rgrYs  r�%test_property_decorator_baseclass_docz3PropertyTests.test_property_decorator_baseclass_doc~s7���{�{�������0��8�@�BT�U�U�U�U�Urc���t��}t��}|�|jjdjd��|�|jjdjd��dS)Nrr6)r2r9rUrfr/rg)rrZras   r�test_property_decorator_docz)PropertyTests.test_property_decorator_doc�sf��� � �����������0��8�@�BR�S�S�S������/��7�?�AQ�R�R�R�R�Rrc�V�t��}|�|jd��|�|jjdjd��t
��}|�|jd��|�|jjdjd��dS)Nrrr>rD)r<rUrrfr/rgrA)r�newgettersub�	newgetters   r�!test_property_getter_doc_overridez/PropertyTests.test_property_getter_doc_override�s���,�-�-������*�A�.�.�.�����/�8��@�H�/�Z�Z�Z�%�'�'�	�������+�+�+�����,�5�f�=�E��W�W�W�W�Wrc�h���ddgdgddfD]J�G�fd�dt��}|�|jdjt	������KGd	�d
t���|�t��5G�fd�dt��}ddd��dS#1swxYwYdS)NTFr3��1c�:��eZdZd�Z�e_ee��ZdS)�EPropertyTests.test_property___isabstractmethod__descriptor.<locals>.Cc��dSr"r
rs r�foozIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foo�����DrN�rrr	rw�__isabstractmethod__r)�vals�r�Cru�s6����������+.��(�+�+�C�0�0���rr|rwc��eZdZd�ZeZdS)�KPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBoolc��t���r")�
ValueErrorrs r�__bool__zTPropertyTests.test_property___isabstractmethod__descriptor.<locals>.NotBool.__bool__�s�� �l�l�"rN)rrr	r��__len__r
rr�NotBoolr~�s"������
#�
#�
#��G�G�Grr�c�J��eZdZd�Z���e_ee��ZdS)ruc��dSr"r
rs rrwzIPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C.foo�rxrNry)r�s�rr|zEPropertyTests.test_property___isabstractmethod__descriptor.<locals>.C�s<����������+2�7�9�9��(�+�+�C�0�0���r)�object�assertIsr/rz�boolr]r�)rr|r�r{s  @@r�,test_property___isabstractmethod__descriptorz:PropertyTests.test_property___isabstractmethod__descriptor�sY�����%��a�S�"�c�2�	M�	M�C�
1�
1�
1�
1�
1�
1�
1�F�
1�
1�
1�

�M�M�!�*�U�+�@�$�s�)�)�L�L�L�L�	�	�	�	�	�f�	�	�	��
�
�z�
*�
*�	1�	1�
1�
1�
1�
1�
1�
1�
1�F�
1�
1�
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s�B'�'B+�.B+c��|�tt��|�tt��Gd�dt��}|�t|��Gd�dt��}|�t|��Gd�dt��}|�t��5|jddd��n#1swxYwY|�|��jd��Gd�d	t��}|�t��5|jddd��n#1swxYwY|�|��jd
��dS)Nc��eZdZdS)�0PropertyTests.test_abstract_virtual.<locals>.APVNrr
rr�APVr����������Drr�c��eZdZdS)�0PropertyTests.test_abstract_virtual.<locals>.AVPNrr
rr�AVPr��r�rr�c�*�eZdZed���Zd�ZdS)�2PropertyTests.test_abstract_virtual.<locals>.Okay1c��|jSr"��_colorrs rrHz8PropertyTests.test_abstract_virtual.<locals>.Okay1.color��
���{�"rc��d|_dS)N�cyanr�rs rrz;PropertyTests.test_abstract_virtual.<locals>.Okay1.__init__�s
��$����rN�rrr	rrHrr
rr�Okay1r��s=������
"�
#�
#�#�
"�
#�
%�
%�
%�
%�
%rr�r�c�*�eZdZed���Zd�ZdS)�2PropertyTests.test_abstract_virtual.<locals>.Okay2c��|jSr"r�rs rrHz8PropertyTests.test_abstract_virtual.<locals>.Okay2.color�r�rc��d|_dS)N�magentar�rs rrz;PropertyTests.test_abstract_virtual.<locals>.Okay2.__init__�s
��'����rNr�r
rr�Okay2r��s=������
"�
#�
#�#�
"�
#�
(�
(�
(�
(�
(rr�r�)r]�	TypeErrorrFrN�AttributeErrorrHrU)rr�r�r�r�s     r�test_abstract_virtualz#PropertyTests.test_abstract_virtual�s.�����)�%E�F�F�F����)�%E�F�F�F�	�	�	�	�	�2�	�	�	����)�S�)�)�)�	�	�	�	�	�2�	�	�	����)�S�)�)�)�	%�	%�	%�	%�	%�4�	%�	%�	%��
�
�~�
.�
.�	�	��K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	����������/�/�/�	(�	(�	(�	(�	(�4�	(�	(�	(��
�
�~�
.�
.�	�	��K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���������	�2�2�2�2�2s$�
C�C"�%C"�9E
�
E�EN)rrr	r[rb�unittest�skipIf�sys�flags�optimizerhrjrlrpr�r�r
rrrQrQas(������
)�
)�
)�=�=�=��X�_�S�Y�'�1�,�@�B�B�T�T�B�B�T��X�_�S�Y�'�1�,�@�B�B�V�V�B�B�V�S�S�S��X�_�S�Y�'�1�,�@�B�B�X�X�B�B�X�1�1�1�,3�3�3�3�3rrQc��eZdZdZdS)�PropertySubz+This is a subclass of DynamicClassAttributeN)rrr	rgr
rrr�r��s������5�5�5�5rr�c��eZdZdZdZdS)�PropertySubSlotszBThis is a subclass of DynamicClassAttribute that defines __slots__r
N)rrr	rg�	__slots__r
rrr�r��s������L�L��I�I�Irr�c�F�eZdZejeed��d��d���Zejej	j
dkd��d���Zejej	j
dkd��d���Zejej	j
dkd��d���Z
d	S)
�PropertySubclassTestsrgz9__doc__ is already present, __slots__ will have no effectc�j�	Gd�dt��}td���#t$rYdSwxYw)Nc�F�eZdZed���Zedej��dS)�FPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Fooc��dS)z5Trying to copy this docstring will raise an exceptionr3r
rs rrzKPropertySubclassTests.test_slots_docstring_copy_exception.<locals>.Foo.spam�s	���1r�
N)rrr	r�r�printrgr
rr�Foor��s@������!���"�!����d�4�<�(�(�(�(�(rr�zAttributeError not raised)r��	Exceptionr��rr�s  r�#test_slots_docstring_copy_exceptionz9PropertySubclassTests.test_slots_docstring_copy_exception�sf��
	9�
)�
)�
)�
)�
)�f�
)�
)�
)��7�8�8�8���	�	�	��D�D�	���s�$�
2�2rcrdc�x�Gd�dt��}|�|jdjd��dS)Nc�$�eZdZed���ZdS)�6PropertySubclassTests.test_docstring_copy.<locals>.Fooc��dS)�.spam wrapped in DynamicClassAttribute subclassr3r
rs rrz;PropertySubclassTests.test_docstring_copy.<locals>.Foo.spam��	���qrN�rrr	r�rr
rrr�r���-������
�
�
��[�
�
�
rr�rr��r�rUr/rgr�s  r�test_docstring_copyz)PropertySubclassTests.test_docstring_copy�s`��	�	�	�	�	�&�	�	�	�
	
����L�� �(�<�	>�	>�	>�	>�	>rc���Gd�dt������}|�|jd��d|_|�|jd��|��jdjd��G�fd�d���}|��}|�|jd��d	|_|�|jd
��|�|jdjd��dS)Nc�J�eZdZd�Zed���Zejd���ZdS)�OPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Fooc��d|_dS)Nr3rrs rrzXPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.__init__�s��Q��
�
�
rc��|jS)r�rrs rrzTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spam�s���z�!rc��||_dS)zthis docstring is ignoredNrr#s  rrzTPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.Foo.spam�s��#��
�
�
rN)rrr	rr�rr&r
rrr�r��sS������.�.�.�
�
"�
"��[�
"��[�
#�
#��[�
#�
#�
#rr�r3rcrr�c�J��eZdZ�jdZejd���ZdS)�RPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSubrc��d|_dS)zanother ignored docstring�eggsNrr#s  rrzWPropertySubclassTests.test_property_setter_copies_getter_docstring.<locals>.FooSub.spams��$��
�
�
rN)rrr	r/rr&)r�s�r�FooSubr�s<��������<��'�D�
�[�
$�
$��[�
$�
$�
$rr��r�)r�rUrr/rg)rrwr��foosubr�s    @r�,test_property_setter_copies_getter_docstringzBPropertySubclassTests.test_property_setter_copies_getter_docstring�sC���		#�		#�		#�		#�		#�&�		#�		#�		#��c�e�e�������1�%�%�%���������1�%�%�%�����L�� �(�<�	>�	>�	>�	$�	$�	$�	$�	$�	$�	$�S�	$�	$�	$�����������a�(�(�(���������f�-�-�-�����O�F�#�+�<�	>�	>�	>�	>�	>rc���Gd�dt��}|�|jdjd��Gd�dt���G�fd�d���}|�|jdjd��dS)	Nc�D�eZdZed���Zejd���ZdS)�IPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Fooc��dS�za docstringr3r
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spamr�rc��dS��a new docstringrcr
rs rrzNPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo.spamr�rN)rrr	r�rr0r
rrr�r�sJ������
�
�
��[�
��[�
�
��[�
�
�
rr�rr�c�$�eZdZed���ZdS)�MPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBasec��dSr�r
rs rrzRPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.FooBase.spamr�rNr�r
rr�FooBaser�r�rr�c�J��eZdZ�jdZejd���ZdS)�JPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2rc��dSr�r
rs rrzOPropertySubclassTests.test_property_new_getter_new_docstring.<locals>.Foo2.spam#r�rN)rrr	r/rr0)r�s�r�Foo2r�!s=��������#�F�+�D�
�[�
�
��[�
�
�
rr�r�)rr�r�r�s   @r�&test_property_new_getter_new_docstringz<PropertySubclassTests.test_property_new_getter_new_docstrings����	�	�	�	�	�&�	�	�	�	
�����f�-�5�7H�I�I�I�	�	�	�	�	�f�	�	�	�
	�	�	�	�	�	�	�7�	�	�	�	
�����f�-�5�7H�I�I�I�I�IrN)rrr	r�r�rXr�r�r�r�r�r�r�r�r
rrr�r��s�������X�_�W�W�-�y�9�9�G�I�I�9�9�I�I�9��X�_�S�Y�'�1�,�@�B�B�>�>�B�B�>��X�_�S�Y�'�1�,�@�B�B�>�>�B�B�>�@�X�_�S�Y�'�1�,�@�B�B�J�J�B�B�J�J�Jrr��__main__)rJr�r��typesrr�rrrrr�rr)r2r9r<rA�ABCMetarFrN�TestCaserQr�r�r�r�mainr
rr�<module>r�s2���
�
�
�
�
�
�
�����'�'�'�'�'�'�	�	�	�	�	�9�	�	�	�	�	�	�	�	�,�	�	�	�	�	�	�	�	�,�	�	�	�	�	�	�	�	�,�	�	�	����������"&�&�&�&�&�y�&�&�&�"B�B�B�B�B�f�B�B�B������_���������9�������������
�
�
�
�
���
�
�
�
�
�
�
�
�
���
�
�
�
�c3�c3�c3�c3�c3�H�%�c3�c3�c3�N6�6�6�6�6�'�6�6�6������,����XJ�XJ�XJ�XJ�XJ�H�-�XJ�XJ�XJ�x�z����H�M�O�O�O�O�O��r