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

�KeWM���dZddlZgd�ZgZd�ZdZdZiZeee	��e��eD]Z
eee
ze	��e���edefe��Z
[[[
[Gd�d	ej��Zed
krej��dSdS)z@Test the functionality of Python classes implementing operators.�N)$�add�radd�sub�rsub�mul�rmul�matmul�rmatmul�truediv�rtruediv�floordiv�	rfloordiv�mod�rmod�divmod�rdivmod�pow�rpow�rshift�rrshift�lshift�rlshift�and�rand�or�ror�xor�rxor�contains�getitem�setitem�delitem�neg�pos�abs�initc����fd�}|S)Nc�V��t��j|f���|i|��S�N)�callLst�append�__name__)�args�kwargs�fs  ��9/usr/local/apps/python3/lib/python3.11/test/test_class.py�trackztrackCall.<locals>.trackCs1�������
�D�)�*�*�*��q�$�!�&�!�!�!��)r/r1s` r0�	trackCallr4Bs#���"�"�"�"�"��Lr2a�
@trackCall
def __hash__(self, *args):
    return hash(id(self))

@trackCall
def __str__(self, *args):
    return "AllTests"

@trackCall
def __repr__(self, *args):
    return "AllTests"

@trackCall
def __int__(self, *args):
    return 1

@trackCall
def __index__(self, *args):
    return 1

@trackCall
def __float__(self, *args):
    return 1.0

@trackCall
def __eq__(self, *args):
    return True

@trackCall
def __ne__(self, *args):
    return False

@trackCall
def __lt__(self, *args):
    return False

@trackCall
def __le__(self, *args):
    return True

@trackCall
def __gt__(self, *args):
    return False

@trackCall
def __ge__(self, *args):
    return True
z-@trackCall
def __%s__(self, *args):
    pass
�AllTestsc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
ClassTestsc��gtdd�<dSr))r*��selfs r0�setUpzClassTests.setUp�s�������
�
�
r2c�j�tdd�}||kr|�d|�d|����dSdS)NzExpected call list:
  z#
does not match actual call list
  )r*�fail)r:�expected_calls�actualCallLists   r0�assertCallStackzClassTests.assertCallStack�sT�� �������^�+�+��I�I�I�%�~�~�~�~�7�
8�
8�
8�
8�
8�,�+r2c�T�t��}|�d|ffg��dS)N�__init__)r5r@)r:�foos  r0�testInitzClassTests.testInit�s/���j�j�����z�C�6�2�3�4�4�4�4�4r2c�	�t��}gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��gtdd�<|dz
|�d|dffg��gtdd�<d|z
|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d	|dffg��gtdd�<|dz|�d
|dffg��gtdd�<d|z|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d
|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��gtdd�<t|d��|�d|dffg��gtdd�<td|��|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��gtdd�<|dz	|�d|dffg��gtdd�<d|z	|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��gtdd�<|dz|�d|dffg��gtdd�<d|z|�d|dffg��dS)N��__add__�__radd__�__sub__�__rsub__�__mul__�__rmul__�
__matmul__�__rmatmul__�__truediv__�__rtruediv__�__floordiv__�
__rfloordiv__�__mod__�__rmod__�
__divmod__�__rdivmod__�__pow__�__rpow__�
__rshift__�__rrshift__�
__lshift__�__rlshift__�__and__�__rand__�__or__�__ror__�__xor__�__rxor__)r5r*r@r�r:�testmes  r0�
testBinaryOpszClassTests.testBinaryOps�s�����������
���
�
����y�6�1�+�6�7�8�8�8������
�	�F�
�
����z�F�A�;�7�8�9�9�9������
���
�
����y�6�1�+�6�7�8�8�8������
�	�F�
�
����z�F�A�;�7�8�9�9�9������
���
�
����y�6�1�+�6�7�8�8�8������
�	�F�
�
����z�F�A�;�7�8�9�9�9������
���
�
����|�f�a�[�9�:�;�;�;������
�	�F�
�
����}�v�q�k�:�;�<�<�<������
���
�
����}�v�q�k�:�;�<�<�<������
�	�F�
�
����~���{�;�<�=�=�=������
��!������~���{�;�<�=�=�=������
�	�V����������<�=�>�>�>������
���
�
����y�6�1�+�6�7�8�8�8������
�	�F�
�
����z�F�A�;�7�8�9�9�9������
��v�a�������|�f�a�[�9�:�;�;�;������
��q�&�������}�v�q�k�:�;�<�<�<������
��!������y�6�1�+�6�7�8�8�8������
�	�V������z�F�A�;�7�8�9�9�9������
��!������|�f�a�[�9�:�;�;�;������
�	�V������}�v�q�k�:�;�<�<�<������
��!������|�f�a�[�9�:�;�;�;������
�	�V������}�v�q�k�:�;�<�<�<������
���
�
����y�6�1�+�6�7�8�8�8������
�	�F�
�
����z�F�A�;�7�8�9�9�9������
���
�
����x�&�!��5�6�7�7�7������
�	�F�
�
����y�6�1�+�6�7�8�8�8������
���
�
����y�6�1�+�6�7�8�8�8������
�	�F�
�
����z�F�A�;�7�8�9�9�9�9�9r2c��t��}Gd�d��}	d|��v|�d��n#t$rYnwxYwgtdd�<d|v|�d|dffg��gtdd�<|d|�d|dffg��gtdd�<d|d<|�d|ddffg��gtdd�<|d=|�d|dffg��gtdd�<|dd	�|�d|tdd	��ffg��gtdd�<d
|dd	�<|�d|tdd	��d
ffg��gtdd�<|dd	�=|�d|tdd	��ffg��gtdd�<|ddd
�|�d|tddd
��ffg��gtdd�<d|ddd
�<|�d|tddd
��dffg��gtdd�<|ddd
�=|�d|tddd
��ffg��gtdd�<|dd	�ddd�ddf|�d|tdd	d��ttddd��ddfffg��gtdd�<d|dd	�ddd�ddf<|�d|tdd	d��ttddd��ddfdffg��gtdd�<|dd	�ddd�ddf=|�d|tdd	d��ttddd��ddfffg��dS)Nc��eZdZdS)�,ClassTests.testListAndDictOps.<locals>.EmptyN�r,�
__module__�__qualname__r3r2r0�Emptyrh��������r2rlrFz$failed, should have raised TypeError�__contains__�__getitem__�__setitem__�__delitem__�*z
The Answer�i�
zA lot.��d�Strange)r5r=�	TypeErrorr*r@�slice�Ellipsis)r:rdrls   r0�testListAndDictOpszClassTests.testListAndDictOpss�������	��������	�
�����L�L��I�I�<�=�=�=�=���	�	�	��D�	���������
�	�V������~���{�;�<�=�=�=������
��q�	�	����}�v�q�k�:�;�<�<�<������
���q�	����}�v�q�!�n�=�>�?�?�?������
��1�I����}�v�q�k�:�;�<�<�<������
��s��s������}�v�u�T�2���.G�H�I�J�J�J������
�"��s��s�����}�v�u�T�2���/;�/=�>�?�	@�	@�	@������
��3�B�3�K����}�v�u�T�2���.G�H�I�J�J�J������
��q��b�y������}�v�u�Q��b�7I�7I�.J�K�L�M�M�M������
�#��q��b�y�����}�v�u�Q��b�7I�7I�DK�/M�N�O�	P�	P�	P������
��1�T�"�9�����}�v�u�Q��b�7I�7I�.J�K�L�M�M�M������
��s��s�C��"��r�3�&�'�'����}�v��d�B��8M�8M�8@�8=�d�B��8M�8M�8:�C�8A�/B�C�D�	E�	E�	E������
�*3��s��s�C��"��r�3�&�'����}�v��d�B��8M�8M�8@�8=�d�B��8M�8M�8:�C�8A�CL�/M�N�O�	P�	P�	P������
��3�B�3��T�b�T�2�s�*�+����}�v��d�B��8M�8M�8@�8=�d�B��8M�8M�8:�C�8A�/B�C�D�	E�	E�	E�	E�	Es�!?�
A�Ac���t��}gtdd�<||�d|ffg��gtdd�<|
|�d|ffg��gtdd�<t|��|�d|ffg��gtdd�<t	|��|�d|ffg��gtdd�<t|��|�d|ffg��gtdd�<t
|��|�d|ffg��gtdd�<t|��|�d|ffg��dS)N�__neg__�__pos__�__abs__�__int__�	__float__�	__index__)r5r*r@r%�int�float�oct�hexrcs  r0�testUnaryOpszClassTests.testUnaryOpsXs������������
�	������y�6�)�4�5�6�6�6������
�	������y�6�)�4�5�6�6�6������
��F�������y�6�)�4�5�6�6�6������
��F�������y�6�)�4�5�6�6�6������
�
�f�
�
�
����{�V�I�6�7�8�8�8������
��F�������{�V�I�6�7�8�8�8������
��F�������{�V�I�6�7�8�8�8�8�8r2c��t��}gtdd�<t|��|�d|ffg��gtdd�<t	|��|�d|ffg��gtdd�<t|��|�d|ffg��gtdd�<|dk|�d|dffg��gtdd�<|dk|�d|dffg��gtdd�<|dk|�d|dffg��gtdd�<|dk|�d|dffg��gtdd�<d|k|�dd|ffg��gtdd�<d|k|�dd|ffg��gtdd�<d|k|�dd|ffg��gtdd�<d|k|�dd|ffg��dS)	N�__hash__�__repr__�__str__rF�__eq__�__lt__�__gt__�__ne__)r5r*�hashr@�repr�strrcs  r0�testMisczClassTests.testMiscrsc�����������
��V�������z�F�9�5�6�7�7�7������
��V�������z�F�9�5�6�7�7�7������
��F�������y�6�)�4�5�6�6�6������
��!������x�&�!��5�6�7�7�7������
���
�
����x�&�!��5�6�7�7�7������
���
�
����x�&�!��5�6�7�7�7������
��!������x�&�!��5�6�7�7�7������
�	�V������x�!�V��5�6�7�7�7������
�	�F�
�
����x�!�V��5�6�7�7�7������
�	�F�
�
����x�!�V��5�6�7�7�7������
�	�V������x�!�V��5�6�7�7�7�7�7r2c�F�Gd�dt��}|��}gtdd�<|j|�d|dffg��gtdd�<d|_|�d|ddffg��gtdd�<|`|�d|d	ffg��dS)
Nc�P�eZdZed���Zed���Zed���ZdS)�/ClassTests.testGetSetAndDel.<locals>.ExtraTestsc��dS)N�SomeValr3�r:r-s  r0�__getattr__z;ClassTests.testGetSetAndDel.<locals>.ExtraTests.__getattr__�s�� �yr2c��dSr)r3r�s  r0�__setattr__z;ClassTests.testGetSetAndDel.<locals>.ExtraTests.__setattr__�����r2c��dSr)r3r�s  r0�__delattr__z;ClassTests.testGetSetAndDel.<locals>.ExtraTests.__delattr__�r�r2N)r,rjrkr4r�r�r�r3r2r0�
ExtraTestsr��sc������
�
!�
!��Y�
!��
�
��Y�
��
�
��Y�
�
�
r2r�r��spamzspam, spam, spam and hamr��eggsr��cardinal)r5r*r�r@r�r�)r:r�rds   r0�testGetSetAndDelzClassTests.testGetSetAndDel�s���	�	�	�	�	��	�	�	�����������
�������}�v�v�.>�?�@�A�A�A������
�0������}�v�v�/I�/K�L�M�	N�	N�	N������
��O����}�v�z�.B�C�D�E�E�E�E�Er2c���g�G�fd�d��}|��}~ddl}|���|�dg���dS)Nc���eZdZ�fd�ZdS)�#ClassTests.testDel.<locals>.DelTestc�2����d��dS)N�crab people, crab people)r+�r:�xs �r0�__del__z+ClassTests.testDel.<locals>.DelTest.__del__�s������3�4�4�4�4�4r2N)r,rjrkr��r�s�r0�DelTestr��s.�������
5�
5�
5�
5�
5�
5�
5r2r�rr�)�gc�collect�assertEqual)r:r�rdr�r�s    @r0�testDelzClassTests.testDel�s������	5�	5�	5�	5�	5�	5�	5�	5�	5�	5��������	�	�	�
�
�
�������4�5�q�9�9�9�9�9r2c
���Gd�d��}d�}tttttt
ttt|f
D]&}|�	t||�����'dS)Nc�0�eZdZd�ZeZeZeZeZeZeZ	eZ
dS)�4ClassTests.testBadTypeReturned.<locals>.BadTypeClassc��dSr)r3r9s r0r�z<ClassTests.testBadTypeReturned.<locals>.BadTypeClass.__int__�����tr2N)r,rjrkr�r��__complex__r�r��	__bytes__�__bool__r�r3r2r0�BadTypeClassr��s@������
�
�
��I�!�K��G��H��I��H��I�I�Ir2r�c��g|Sr)r3r�s r0�indexz-ClassTests.testBadTypeReturned.<locals>.index�s���a�5�Lr2)r��complexr�r��bytes�binr�r��bool�assertRaisesrx)r:r�r�r/s    r0�testBadTypeReturnedzClassTests.testBadTypeReturned�s���		 �		 �		 �		 �		 �		 �		 �		 �	�	�	���#�t�U�C��c�4��O�	<�	<�A����i��L�L�N�N�;�;�;�;�	<�	<r2c��Gd�d��}t|����Gd�d��}|�tt|����dS)Nc��eZdZdS)�$ClassTests.testHashStuff.<locals>.C0Nrir3r2r0�C0r����������Dr2r�c��eZdZd�ZdS)�$ClassTests.testHashStuff.<locals>.C2c��dS)NrFr3�r:�others  r0r�z+ClassTests.testHashStuff.<locals>.C2.__eq__�s��A�Ar2N)r,rjrkr�r3r2r0�C2r��s������-�-�-�-�-r2r�)r�r�rx)r:r�r�s   r0�
testHashStuffzClassTests.testHashStuff�s���	�	�	�	�	�	�	�	�	
�R�R�T�T�
�
�
�	.�	.�	.�	.�	.�	.�	.�	.�	
���)�T�2�2�4�4�0�0�0�0�0r2c��Gd�d��}|��|_|��}	|��|�d��dS#t$rYdSwxYw)Nc��eZdZdS)�%ClassTests.testSFBug532646.<locals>.ANrir3r2r0�Ar��r�r2r�zFailed to raise RecursionError)�__call__r=�RecursionError)r:r��as   r0�testSFBug532646zClassTests.testSFBug532646�s���	�	�	�	�	�	�	�	��Q�S�S��
�
�A�C�C��	8�
�A�C�C�C�
�I�I�6�7�7�7�7�7���	�	�	��D�D�	���s�
A	�	
A�Ac���d��G�fd�d��}	|��jnB#t$r5}t|��dkr|�d|z��Yd}~nd}~wwxYwG�fd�d��}|��|��kG�fd�d	��}	|��|�d
��dS#t$rYdSwxYw)Nc� �td���)N�booh)�AttributeErrorr9s r0r�zBClassTests.testForExceptionsRaisedInInstanceGetattr2.<locals>.booh�s�� ��(�(�(r2c�&��eZdZe���ZdS)�?ClassTests.testForExceptionsRaisedInInstanceGetattr2.<locals>.AN)r,rjrk�propertyr��r�s�r0r�r�s������������A�A�Ar2r�r�z(attribute error for A().a got masked: %sc�&��eZdZe���ZdS)�?ClassTests.testForExceptionsRaisedInInstanceGetattr2.<locals>.EN)r,rjrkr�r�r�s�r0�Er�
s��������X�d�^�^�F�F�Fr2r�c�&��eZdZe���ZdS)�?ClassTests.testForExceptionsRaisedInInstanceGetattr2.<locals>.IN)r,rjrkr�rBr�s�r0�Ir�s��������x��~�~�H�H�Hr2r�z)attribute error for I.__init__ got masked)r�r�r�r=)r:r�r�r�r�r�s     @r0�)testForExceptionsRaisedInInstanceGetattr2z4ClassTests.testForExceptionsRaisedInInstanceGetattr2�su���	)�	)�	)�	�	�	�	�	�	�	�	�	�	�	J�
�A�C�C�E�E�E���	J�	J�	J��1�v�v�����	�	�D�q�H�I�I�I����������	J����	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	����q�q�s�s�
�
�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	C�
�A�C�C�C�
�I�I�A�B�B�B�B�B���	�	�	��D�D�	���s&�%�
A$�+A�A$�
B=�=
C�
Cc���|�t��5||kddd��n#1swxYwY|�t��5||kddd��n#1swxYwY|�t��5||kddd��n#1swxYwY|�t��5||kddd��dS#1swxYwYdSr))r�rx)r:r��bs   r0�assertNotOrderablezClassTests.assertNotOrderables���
�
�
�y�
)�
)�	�	�
��E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
��E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
��F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
��F�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sB�.�2�2�A&�&A*�-A*�B�B"�%B"�C�C�Cc��Gd�d��}Gd�d|��}|d��}|d��}|�|j|jk��|�|j|jk��|�|j|jk��|�|j|jk��|�|j|jk��|�|j|jk��|�|j|j��|�t
|j��t
|j����|�|j|jk��|�|j|jk��|�|j|jk��|�|j|jk��|�|j|jk��|�|j|jk��|�|j|j��|�t
|j��t
|j����|t
|j��dz��}t
|j��dS)Nc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�1ClassTests.testHashComparisonOfMethods.<locals>.Ac��||_dSr)r�r�s  r0rBz:ClassTests.testHashComparisonOfMethods.<locals>.A.__init__&s
������r2c��dSr)r3r9s r0r/z3ClassTests.testHashComparisonOfMethods.<locals>.A.f(����r2c��dSr)r3r9s r0�gz3ClassTests.testHashComparisonOfMethods.<locals>.A.g*r�r2c��dS)NTr3r�s  r0r�z8ClassTests.testHashComparisonOfMethods.<locals>.A.__eq__,r�r2c��t�r))rxr9s r0r�z:ClassTests.testHashComparisonOfMethods.<locals>.A.__hash__.s���r2N)r,rjrkrBr/r�r�r�r3r2r0r�r�%s_������
�
�
�
�
�
�
�
�
�
�
�
�
 �
 �
 �
 �
 r2r�c��eZdZdS)�1ClassTests.testHashComparisonOfMethods.<locals>.BNrir3r2r0�Br�0r�r2r�rF���)�
assertTruer/�assertFalser�r�r�r�)r:r�r��a1�a2r�s      r0�testHashComparisonOfMethodsz&ClassTests.testHashComparisonOfMethods#sb��
	 �
	 �
	 �
	 �
	 �
	 �
	 �
	 �	�	�	�	�	��	�	�	��Q�q�T�T��
�Q�q�T�T����������%�%�%���������&�&�&���������&�&�&���������%�%�%���������&�&�&���������%�%�%������b�d�+�+�+�����b�d���T�"�$�Z�Z�0�0�0���������%�%�%������r�t��$�$�$���������$�$�$������q�s�
�#�#�#������q�s�
�#�#�#���������$�$�$������Q�S�)�)�)�����a�c���D���I�I�.�.�.�
�A�d�1�3�i�i��n�����Q�S�	�	�	�	�	r2c��Gd�d��}d�}tdd��}|�|d��t�|||��|�|��dzd��tdd��}|�|d��|�||��t�||��|�t��5|��dzddd��dS#1swxYwYdS)	Nc��eZdZdS)�2ClassTests.testSetattrWrapperNameIntern.<locals>.ANrir3r2r0r�r�Mr�r2r�c��dS)N�summar3r�s  r0rz4ClassTests.testSetattrWrapperNameIntern.<locals>.addPs���7r2s__add__�asciirGrFr)r��assertIsNot�typer�r�r�r�rx)r:r�r�name�name2s     r0�testSetattrWrapperNameInternz'ClassTests.testSetattrWrapperNameInternKsp��	�	�	�	�	�	�	�	�	�	�	��:�w�'�'������y�)�)�)�����D�#�&�&�&��������q��'�*�*�*��J��(�(������	�*�*�*������%�%�%�����E�"�"�"�
�
�
�y�
)�
)�	�	�
�A�C�C�!�G�G�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�%D�D�Dc��Gd�d��}|�t��5t�|dd��ddd��dS#1swxYwYdS)Nc��eZdZdS)�.ClassTests.testSetattrNonStringName.<locals>.ANrir3r2r0r�r
`r�r2r��x)r�rxrr�)r:r�s  r0�testSetattrNonStringNamez#ClassTests.testSetattrNonStringName_s���	�	�	�	�	�	�	�	��
�
�y�
)�
)�	,�	,����Q��d�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�A�A�Ac��Gd�d��}d}|�t|��5|jddd��n#1swxYwY|�t|��5|`ddd��dS#1swxYwYdS)Nc��eZdZdS)�:ClassTests.testTypeAttributeAccessErrorMessages.<locals>.ANrir3r2r0r�rgr�r2r�z$type object 'A' has no attribute 'x')�assertRaisesRegexr�r�)r:r��	error_msgs   r0�$testTypeAttributeAccessErrorMessagesz/ClassTests.testTypeAttributeAccessErrorMessagesfs"��	�	�	�	�	�	�	�	�;�	�
�
#�
#�N�I�
>�
>�	�	�
�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�N�I�
>�
>�	�	���	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s!�?�A�A�%A5�5A9�<A9c���Gd�d��}Gd�d��}d}|�t|��5|��jddd��n#1swxYwY|�t|��5|��`ddd��n#1swxYwYd}|�t|��5|��jddd��n#1swxYwY|�t|��5|��`ddd��n#1swxYwY|�t|��5d|��_ddd��n#1swxYwYd}|�t|��5|��`ddd��n#1swxYwY|�t|��5d|��_ddd��n#1swxYwYd	}|�t|��5|��jddd��n#1swxYwY|�t|��5|��`ddd��dS#1swxYwYdS)
Nc��eZdZdS)�<ClassTests.testObjectAttributeAccessErrorMessages.<locals>.ANrir3r2r0r�rqr�r2r�c��eZdZdZdZdS)�<ClassTests.testObjectAttributeAccessErrorMessages.<locals>.Br)�zN)r,rjrk�y�	__slots__r3r2r0r�rss�������A��I�I�Ir2r�z'A' object has no attribute 'x'z'B' object has no attribute 'x'rz%'B' object attribute 'y' is read-onlyr)rr�r�rr)r:r�r�rs    r0�&testObjectAttributeAccessErrorMessagesz1ClassTests.testObjectAttributeAccessErrorMessagesps���	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�6�	�
�
#�
#�N�I�
>�
>�	�	�
�A�C�C�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�N�I�
>�
>�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�6�	�
�
#�
#�N�I�
>�
>�	�	�
�A�C�C�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�N�I�
>�
>�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�N�I�
>�
>�	�	��A�A�C�C�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�<�	�
�
#�
#�N�I�
>�
>�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�N�I�
>�
>�	�	��A�A�C�C�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��	�
�
#�
#�N�I�
>�
>�	�	�
�A�C�C�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�N�I�
>�
>�	�	������	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��A�A�A�:B�B�B�9C�C�C�;D�D�D�8E�E�E�<F�F�F�9G�G�G�=H�H� H�?I�I�Ic�N�Gd�d��}d}|�td��5|d��ddd��n#1swxYwY|�td��5|�|d��ddd��n#1swxYwY|�t|��5|���d��ddd��n#1swxYwY|�td��5t�|d��ddd��n#1swxYwY|�t|��5t�|��d��ddd��n#1swxYwYGd�d��}d}|�t|��5|d��ddd��n#1swxYwY|�t|��5|�|d��ddd��n#1swxYwY|�t|��5t�|d��ddd��n#1swxYwYGd	�d
��}d}|�t|��5|���d��ddd��n#1swxYwY|�t|��5t�|��d��ddd��dS#1swxYwYdS)Nc��eZdZdS)�2ClassTests.testConstructorErrorMessages.<locals>.CNrir3r2r0�Cr�r�r2rzHC.__init__\(\) takes exactly one argument \(the instance to initialize\)zC\(\) takes no argumentsrrc�(��eZdZ�fd�Z�fd�Z�xZS)�2ClassTests.testConstructorErrorMessages.<locals>.Dc�B��t��j|g|�Ri|��dSr))�super�__new__)�clsr-r.�	__class__s   �r0r$z:ClassTests.testConstructorErrorMessages.<locals>.D.__new__�s/���������5�d�5�5�5�f�5�5�5�5�5r2c�:��t��j|i|��dSr)�r#rB�r:r-r.r&s   �r0rBz;ClassTests.testConstructorErrorMessages.<locals>.D.__init__��%��� ���� �$�1�&�1�1�1�1�1r2)r,rjrkr$rB�
__classcell__�r&s@r0�Dr!�sQ�������
6�
6�
6�
6�
6�
2�
2�
2�
2�
2�
2�
2�
2�
2r2r-zIobject.__new__\(\) takes exactly one argument \(the type to instantiate\)c���eZdZ�fd�Z�xZS)�2ClassTests.testConstructorErrorMessages.<locals>.Ec�:��t��j|i|��dSr)r(r)s   �r0rBz;ClassTests.testConstructorErrorMessages.<locals>.E.__init__�r*r2)r,rjrkrBr+r,s@r0r�r/�s8�������
2�
2�
2�
2�
2�
2�
2�
2�
2r2r�zMobject.__init__\(\) takes exactly one argument \(the instance to initialize\))rrxr$rB�object)r:rrr-r�s     r0�testConstructorErrorMessagesz'ClassTests.testConstructorErrorMessages�s���	�	�	�	�	�	�	�	�`�	�
�
#�
#�I�/J�
K�
K�	�	�
�A�b�E�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�/J�
K�
K�	�	�
�I�I�a�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�y�
9�
9�	�	�
�A�C�C�L�L�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�/J�
K�
K�	"�	"��N�N�1�b�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��
#�
#�I�y�
9�
9�	%�	%��O�O�A�A�C�C��$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	2�	2�	2�	2�	2�	2�	2�	2�b�	�
�
#�
#�I�y�
9�
9�	�	�
�A�b�E�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�y�
9�
9�	�	�
�I�I�a�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�y�
9�
9�	"�	"��N�N�1�b�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	2�	2�	2�	2�	2�	2�	2�	2�e�	�
�
#�
#�I�y�
9�
9�	�	�
�A�C�C�L�L�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�y�
9�
9�	%�	%��O�O�A�A�C�C��$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s��A�A�
A�)B�B�B�2C�C �#C �D*�*D.�1D.�$F�F�F�5G
�
G�G�3H�H�H�<I$�$I(�+I(�K�K�
K�)$L�L�!Lc��Gd�dt��}d|i}Gd�dfi|��}|�|dif��Gd�dgd�Ri|��}|�|ttd	����if��Gd
�ddgtdd	���Ri|�d
di��}|�|ttd	����d
dif��dS)Nc��eZdZd�Zd�ZdS)�-ClassTests.testClassWithExtCall.<locals>.Metac��dSr)r3)r-r.s  r0rBz6ClassTests.testClassWithExtCall.<locals>.Meta.__init__�r�r2c�
�||fSr)r3)r%r�bases�attrsr.s     r0r$z5ClassTests.testClassWithExtCall.<locals>.Meta.__new__�s���f�}�$r2N)r,rjrkrBr$r3r2r0�Metar5�s2������
�
�
�
%�
%�
%�
%�
%r2r:�	metaclassc��eZdZdS��*ClassTests.testClassWithExtCall.<locals>.ANrir3r2r0r�r>�rmr2r�r3c��eZdZdSr=rir3r2r0r�z*ClassTests.testClassWithExtCall.<locals>.A�rmr2)rrFrs������c��eZdZdSr=rir3r2r0r�z*ClassTests.testClassWithExtCall.<locals>.A�rmr2rrFrC�bar)r�r��tuple�range)r:r:�dr�s    r0�testClassWithExtCallzClassTests.testClassWithExtCall�s0��	%�	%�	%�	%�	%�3�	%�	%�	%��$����������!��������R��H�%�%�%�2�2�2�2�2�2�2�2�2�2�!�2�2�2�����U�5��8�8�_�_�b�1�2�2�2�6�6�6�6�6��6�E�!�Q�K�K�6�6�6�1�6�6�%�6�6�6�6�����U�5��8�8�_�_�u�e�n�=�>�>�>�>�>r2N)r,rjrkr;r@rDrer{r�r�r�r�r�r�r�r�r�r�rrrrr2rKr3r2r0r7r7�sd���������8�8�8�5�5�5�u:�u:�u:�nGE�GE�GE�R9�9�9�4-8�-8�-8�`F�F�F�<
:�
:�
:�<�<�<�$1�1�1�
8�
8�
8�C�C�C�:���&�&�&�P���(,�,�,�������B5%�5%�5%�n?�?�?�?�?r2r7�__main__)�__doc__�unittest�	testmethsr*r4�statictests�method_templaterJ�exec�globals�methodrr1r5�TestCaser7r,�mainr3r2r0�<module>rWs��B�B�����-
�-
�-
�	�v
�����0��h������[�'�'�)�)�Q�����1�1�F��D��6�	!�7�7�9�9�a�0�0�0�0��4�
�V�I�q�)�)���{�F�O�N	?�N	?�N	?�N	?�N	?��"�N	?�N	?�N	?�b�z����H�M�O�O�O�O�O��r2