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

�Ke"���ddlTddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
mZmZmZmZmZmZmZmZmZddlmZddlmZmZmZddlmZddlZddlZGd�d	e��ZGd
�de	j ��Z Gd�d
e	j ��Z!Gd�de	j ��Z"Gd�de	j ��Z#Gd�de	j ��Z$Gd�de	j ��Z%Gd�de	j ��Z&Gd�de	j ��Z'Gd�de	j ��Z(Gd�de	j ��Z)Gd�de	j ��Z*Gd �d!e	j ��Z+Gd"�d#e	j ��Z,Gd$�d%e	j ��Z-Gd&�d'e	j ��Z.Gd(�d)e	j ��Z/Gd*�d+e	j ��Z0e1d,kre	j2��dSdS)-�)�*N)�Mock)
�ClassVar�Any�List�Union�Tuple�Dict�Generic�TypeVar�Optional�Protocol)�get_type_hints)�deque�OrderedDict�
namedtuple)�total_orderingc��eZdZdS)�CustomErrorN��__name__�
__module__�__qualname__���?/usr/local/apps/python3/lib/python3.11/test/test_dataclasses.pyrr��������rrc�l�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�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?�ZAd@�ZBdA�ZCdB�ZDdC�ZEdD�ZFdE�ZGdF�ZHdG�ZIdH�ZJdI�ZKdJ�ZLdK�ZMdL�ZNdM�ZOdN�ZPdO�ZQdP�ZRdQ�ZSdR�ZTdS�ZUdT�ZVdU�ZWdV�ZXdW�ZYdX�ZZdY�Z[dZ�Z\d[�Z]d\�Z^d]�Z_d^�Z`d_�Zad`�Zbda�Zcdb�Zddc�Zedd�Zfde�ZgdfS)g�TestCasec��tGd�d����}|��}|�tt|����d��dS)Nc��eZdZdS)�"TestCase.test_no_fields.<locals>.CNrrrr�Cr"��������Drr#r��	dataclass�assertEqual�len�fields��selfr#�os   r�test_no_fieldszTestCase.test_no_fieldssi��	�	�	�	�	�	�	�	�
��	�
�A�C�C������V�A�Y�Y����+�+�+�+�+rc��tGd�d����}|��}|�tt|����d��dS)Nc��eZdZdZdS)�6TestCase.test_no_fields_but_member_variable.<locals>.CrN)rrr�irrrr#r0&s�������A�A�Arr#rr%r*s   r�"test_no_fields_but_member_variablez+TestCase.test_no_fields_but_member_variable%si��	�	�	�	�	�	�	�	�
��	�
�A�C�C������V�A�Y�Y����+�+�+�+�+rc��tGd�d����}|d��}|�|jd��dS)Nc��eZdZUeed<dS)�-TestCase.test_one_field_no_default.<locals>.C�xN�rrr�int�__annotations__rrrr#r5.���������F�F�F�F�Frr#�*�r&r'r6r*s   r�test_one_field_no_defaultz"TestCase.test_one_field_no_default-sa��	�	�	�	�	�	�	�	�
��	�
�A�b�E�E�������b�!�!�!�!�!rc��d}|�t|��5tGd�d����}ddd��dS#1swxYwYdS)Nz/cannot specify both default and default_factoryc�4�eZdZUede���Zeed<dS)�<TestCase.test_field_default_default_factory_error.<locals>.C���default�default_factoryr6N)rrr�fieldr8r6r9rrrr#r@8s1���������q�#�>�>�>��3�>�>�>�>�>rr#)�assertRaisesRegex�
ValueErrorr&)r+�msgr#s   r�(test_field_default_default_factory_errorz1TestCase.test_field_default_default_factory_error5s���?��
�
#�
#�J��
4�
4�	?�	?�
�
?�
?�
?�
?�
?�
?�
?��Y�
?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�A�A
�
A
c��tddd���}d|_t|��}dt�dt�d�}|�||��dS)	NrATF)rC�init�repr�idz4Field(name='id',type=None,default=1,default_factory=zO,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),kw_only=z,_field_type=None))rE�namerL�MISSINGr')r+�	int_field�repr_output�expected_outputs    r�test_field_reprzTestCase.test_field_repr<sn���!�$�U�;�;�;�	��	���9�o�o��/�8?�/�/�'.�	/�/�/��	
����o�6�6�6�6�6rc��t��}||_d|_t|��}|�d|��dS)NrM�
,type=...,)rE�typerNrL�assertIn)r+�	rec_fieldrQs   r�test_field_recursive_reprz"TestCase.test_field_recursive_reprIs>���G�G�	�"�	���	���9�o�o���
�
�l�K�0�0�0�0�0rc��Gd�d��}tGd�d����}|�dt|jd����dS)Nc��eZdZdS)�-TestCase.test_recursive_annotation.<locals>.CNrrrrr#r\R��������Drr#c�.�eZdZUe��Zeed<dS)�-TestCase.test_recursive_annotation.<locals>.Dr#N)rrrrEr#r9rrr�Dr_Us#��������5�7�7�A�q�N�N�N�N�Nrr`rU)r&rWrL�__dataclass_fields__�r+r#r`s   r�test_recursive_annotationz"TestCase.test_recursive_annotationQs���	�	�	�	�	�	�	�	�
�	�	�	�	�	�	�	�
��	�	
�
�
�l�D��)?��)D�$E�$E�F�F�F�F�Frc��tGd�d����}|d���}|�|jd��dS)Nc��eZdZUeed<dS)�*TestCase.test_named_init_params.<locals>.Cr6Nr7rrrr#rf\r:rr#� �r6r<r*s   r�test_named_init_paramszTestCase.test_named_init_params[sc��	�	�	�	�	�	�	�	�
��	�
�A��G�G�G�������b�!�!�!�!�!rc���tGd�d����}|d��}|�|j|jfd��|�t
d��5tGd�d����}ddd��n#1swxYwY|�t
d��5tGd�d����}tGd	�d|����}ddd��n#1swxYwY|�t
d��5tGd
�d����}tGd�d|����}ddd��dS#1swxYwYdS)Nc�(�eZdZUeed<dZeed<dS)�/TestCase.test_two_fields_one_default.<locals>.Cr6r�yN�rrrr8r9rmrrrr#rld�&��������F�F�F��A�s�J�J�J�J�Jrr#�)rprz1non-default argument 'y' follows default argumentc�(�eZdZUdZeed<eed<dS)rlrr6rmN�rrrr6r8r9rrrr#z/TestCase.test_two_fields_one_default.<locals>.Cps&���������3�
�
�
������rc��eZdZUdZeed<dS)�/TestCase.test_two_fields_one_default.<locals>.Brr6Nrrrrr�Brty����������3�
�
�
�
�
rruc��eZdZUeed<dS)rlrmNr7rrrr#z/TestCase.test_two_fields_one_default.<locals>.C}�������������rc�$�eZdZUeed<eed<dS)rtr6rmNr7rrrruz/TestCase.test_two_fields_one_default.<locals>.B�s"����������������rc��eZdZUdZeed<dS)rlrr6Nrrrrrr#z/TestCase.test_two_fields_one_default.<locals>.C�rvr)r&r'r6rmrF�	TypeError)r+r#r,rus    r�test_two_fields_one_defaultz$TestCase.test_two_fields_one_defaultcs���	�	�	�	�	�	�	�	�
��	�
�A�a�D�D�����!�#�q�s��V�,�,�,��
#�
#�I�%7�8�8�	�	��
�
�
�
�
�
�
��Y�
�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�%7�8�8�		�		��
�
�
�
�
�
�
��Y�
��
�
�
�
�
�A�
�
��Y�
�		�		�		�		�		�		�		�		�		�		�		����		�		�		�		��
#�
#�I�%7�8�8�
	�
	��
�
�
�
�
�
�
��Y�
��
�
�
�
�
�A�
�
��Y�
�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	����
	�
	�
	�
	�
	�
	s6�#B
�
B�B�06C2�2C6�9C6�6E�E�"Ec�n�td���Gd�d����}|�t|d����d��td���Gd�d����}|�t|d����td����|�td	��5td�
��Gd�d����}ddd��n#1swxYwYtd�
��Gd�d����}|�t|d
����td����|�td	��5td�
��Gd�d����}ddd��dS#1swxYwYdS)NT��frozenc� �eZdZUeed<d�ZdS)�'TestCase.test_overwrite_hash.<locals>.Cr6c��dS�N�-r�r+s r�__hash__z0TestCase.test_overwrite_hash.<locals>.C.__hash__�����srN)rrrr8r9r�rrrr#r���.��������F�F�F�
�
�
�
�
rr#�dr�c� �eZdZUeed<d�ZdS)r�r6c��dS�NFr�r+�others  r�__eq__z.TestCase.test_overwrite_hash.<locals>.C.__eq__�����urN�rrrr8r9r�rrrr#z'TestCase.test_overwrite_hash.<locals>.C��.��������F�F�F�
�
�
�
�
r)r��#Cannot overwrite attribute __hash__��unsafe_hashc��eZdZd�ZdS)r�c��dS�Nrr�s rr�z0TestCase.test_overwrite_hash.<locals>.C.__hash__�����DrN�rrrr�rrrr#z'TestCase.test_overwrite_hash.<locals>.C�s#����������rc� �eZdZUeed<d�ZdS)r�r6c��dSr�rr�s rr�z.TestCase.test_overwrite_hash.<locals>.C.__eq__�����rNr�rrrr#z'TestCase.test_overwrite_hash.<locals>.C�s.��������F�F�F�
�
�
�
�
r�
)r�c�&�eZdZUeed<d�Zd�ZdS)r�r6c��dSr�rr�s rr�z.TestCase.test_overwrite_hash.<locals>.C.__eq__�r�rc��dSr�rr�s rr�z0TestCase.test_overwrite_hash.<locals>.C.__hash__�r�rN)rrrr8r9r�r�rrrr#z'TestCase.test_overwrite_hash.<locals>.C�s=������������������r)r&r'�hashrFr{�r+r#s  r�test_overwrite_hashzTestCase.test_overwrite_hash�s���
�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�	
����a�a��f�f���s�+�+�+�
�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�	
����a�a��f�f���t�F�|�|�4�4�4��
#�
#�I�$I�K�K�	�	�
�4�
(�
(�
(�
�
�
�
�
�
�
�)�
(�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�t�	$�	$�	$�	�	�	�	�	�	�	�
%�	$�	�
	
����a�a��e�e���d�5�k�k�2�2�2�
�
#�
#�I�$I�K�K�	�	�
�4�
(�
(�
(�
�
�
�
�
�
�
�)�
(�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�$C7�7C;�>C;�9$F*�*F.�1F.c��tGd�d����}tGd�d|����}|��}|�t|��d��|��}|�t|��d��|d���}|�t|��d	��dS)
Nc�,�eZdZUdZeed<dZeed<dS)�=TestCase.test_overwrite_fields_in_derived_class.<locals>.Baseg.@r6rrmN)rrrr6rr9rmr8rrr�Baser��s*��������A�s�M�M�M��A�s�J�J�J�J�Jrr�c�,�eZdZUdZeed<dZeed<dS)�;TestCase.test_overwrite_fields_in_derived_class.<locals>.C1r��z�r6N)rrrr�r8r9r6rrr�C1r��s*��������A�s�K�K�K��A�s�K�K�K�K�Krr�zJTestCase.test_overwrite_fields_in_derived_class.<locals>.Base(x=15.0, y=0)zLTestCase.test_overwrite_fields_in_derived_class.<locals>.C1(x=15, y=0, z=10)�rhzKTestCase.test_overwrite_fields_in_derived_class.<locals>.C1(x=5, y=0, z=10)�r&r'rL)r+r�r�r,s    r�&test_overwrite_fields_in_derived_classz/TestCase.test_overwrite_fields_in_derived_class�s���
�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	��	�	�
��	�
�D�F�F������a���"n�o�o�o��B�D�D������a���"p�q�q�q��B��G�G�G������a���"o�p�p�p�p�prc��tGd�d����}|d��}|�|jd��tj|j��}t
t|j����}|�	d|��tGd�d����}tj|j��}t
t|j����}|�d|��dS)Nc��eZdZUeed<dS)�)TestCase.test_field_named_self.<locals>.Cr+N�rrr�strr9rrrr#r��s��������I�I�I�I�Irr#�foor+c��eZdZUeed<dS)r��selfxNr�rrrr#z)TestCase.test_field_named_self.<locals>.C����������J�J�J�J�Jr)
r&r'r+�inspect�	signature�__init__�next�iter�
parameters�assertNotEqual)r+r#�c�sig�firsts     r�test_field_named_selfzTestCase.test_field_named_self�s��	�	�	�	�	�	�	�	�
��	�
�!�E�(�(��������'�'�'����
�+�+���T�#�.�)�)�*�*�����F�E�*�*�*�
�	�	�	�	�	�	�	�
��	����
�+�+���T�#�.�)�)�*�*�������'�'�'�'�'rc��tGd�d����}|d��}|�|jd��dS)Nc��eZdZUeed<dS)�+TestCase.test_field_named_object.<locals>.C�objectNr�rrrr#r�����������K�K�K�K�Krr#r��r&r'r��r+r#r�s   r�test_field_named_objectz TestCase.test_field_named_object�s_��	�	�	�	�	�	�	�	�
��	�
�A�e�H�H�������5�)�)�)�)�)rc��td���Gd�d����}|d��}|�|jd��dS)NTr~c��eZdZUeed<dS)�2TestCase.test_field_named_object_frozen.<locals>.Cr�Nr�rrrr#r��r�rr#r�r�r�s   r�test_field_named_object_frozenz'TestCase.test_field_named_object_frozen�sk��	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�
�A�e�H�H�������5�)�)�)�)�)rc��td���Gd�d����}|d��}|�|jd��dS)NTr~c��eZdZUeed<dS)�4TestCase.test_field_named_BUILTINS_frozen.<locals>.C�BUILTINSNr7rrrr#r�s��������M�M�M�M�Mrr#r�)r&r'r�r�s   r� test_field_named_BUILTINS_frozenz)TestCase.test_field_named_BUILTINS_frozen�sk��	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�
�A�a�D�D�������Q�'�'�'�'�'rc�&��hd��t�fd�tj���D����}d�|D��}t	d|��}|d�|D���}|D]&}|�t
||��|���'dS)N>�None�True�Falsec3�N�K�|]}|�d��s|�v�|V�� dS��__N��
startswith��.0�b�
exclusionss  �r�	<genexpr>z9TestCase.test_field_named_like_builtin.<locals>.<genexpr>�N����� 
� 
���<�<��%�%� 
�*+�:�*=�*=�
�*=�*=�*=�*=� 
� 
rc� �g|]}|tf��Sr�r��r�rNs  r�
<listcomp>z:TestCase.test_field_named_like_builtin.<locals>.<listcomp>���=�=�=�d�t�S�k�=�=�=rr#c��g|]}|��Srrr�s  rr�z:TestCase.test_field_named_like_builtin.<locals>.<listcomp>���0�0�0���0�0�0r��sorted�builtins�__dict__�keys�make_dataclassr'�getattr�r+�builtins_names�
attributesr#r�rNr�s      @r�test_field_named_like_builtinz&TestCase.test_field_named_like_builtins����/�.�.�
�� 
� 
� 
� 
��(�-�-�/�/� 
� 
� 
�
�
��>�=�n�=�=�=�
��3�
�+�+��
�A�0�0��0�0�0�1��"�	5�	5�D����W�Q��-�-�t�4�4�4�4�	5�	5rc�*��hd��t�fd�tj���D����}d�|D��}t	d|d���}|d�|D���}|D]&}|�t
||��|���'dS)N>r�r�r�c3�N�K�|]}|�d��s|�v�|V�� dSr�r�r�s  �rr�z@TestCase.test_field_named_like_builtin_frozen.<locals>.<genexpr>r�rc� �g|]}|tf��Srr�r�s  rr�zATestCase.test_field_named_like_builtin_frozen.<locals>.<listcomp>!r�rr#Tr~c��g|]}|��Srrr�s  rr�zATestCase.test_field_named_like_builtin_frozen.<locals>.<listcomp>$r�rr�r�s      @r�$test_field_named_like_builtin_frozenz-TestCase.test_field_named_like_builtin_frozens����
/�.�.�
�� 
� 
� 
� 
��(�-�-�/�/� 
� 
� 
�
�
��>�=�n�=�=�=�
��3�
�4�8�8�8��
�A�0�0��0�0�0�1��"�	5�	5�D����W�Q��-�-�t�4�4�4�4�	5�	5rc�p�tGd�d����}td���Gd�d����}||fD�]}|�|���5|�|��|����td�d	�d
�d�g��D]�\}}|�|���5|�t
d
|j�d|j�d���5||��|����ddd��n#1swxYwYddd��n#1swxYwY��	ddd��n#1swxYwY��td���Gd�d����}|�|��|����|�|��|����dS)Nc��eZdZdS)�)TestCase.test_0_field_compare.<locals>.C0Nrrrr�C0r�+r$rr�F��orderc��eZdZdS)�)TestCase.test_0_field_compare.<locals>.C1Nrrrrr�r/r$rr���clsc��||kSr�r��ar�s  r�<lambda>z/TestCase.test_0_field_compare.<locals>.<lambda>6�
��q�1�u�rc��||kSr�rrs  rr	z/TestCase.test_0_field_compare.<locals>.<lambda>7�
��q�A�v�rc��||kSr�rrs  rr	z/TestCase.test_0_field_compare.<locals>.<lambda>8r
rc��||kSr�rrs  rr	z/TestCase.test_0_field_compare.<locals>.<lambda>9rr��idx�$not supported between instances of '�' and '�'Tc��eZdZdS)�(TestCase.test_0_field_compare.<locals>.CNrrrrr#r?r$rr#)	r&�subTestr'�	enumeraterFr{r�assertLessEqual�assertGreaterEqual�r+r�r�rr�fnr#s       r�test_0_field_comparezTestCase.test_0_field_compare)s���	�	�	�	�	�	�	�	�
��	�
��	�	�	�	�	�	�	�	�	�	�
 �	�	���8�
	-�
	-�C����#��&�&�	
-�	
-�� � ���������.�.�.�(�*<�*<�*=�*=�*<�*<�*=�*=�*?� @� @�-�-�G�C�����#��.�.�-�-�!�3�3�I�4�[^�[g�4�4�ps�p|�4�4�4�A�A�-�-��B�s�s�u�u�c�c�e�e�,�,�,�-�-�-�-�-�-�-�-�-�-�-����-�-�-�-�-�-�-�-�-�-�-�-�-�-�-����-�-�-�-��	-�	
-�	
-�	
-�	
-�	
-�	
-�	
-�	
-�	
-�	
-�	
-����	
-�	
-�	
-�	
-��
��	�	�	�	�	�	�	�	�	�	�
�	�	����Q�Q�S�S�!�!�#�#�&�&�&��������Q�Q�S�S�)�)�)�)�)s[�AD:�4-D!	�!D
�>D!	�
D�D!	�D�D!	�D:�!D%
�%D:�(D%
�)D:�:D>	�D>	c��tGd�d����}td���Gd�d����}||fD�]/}|�|���5|�|d��|d����|�|d	��|d����t	d
�d�d�d
�g��D]�\}}|�|���5|�td|j�d|j�d���5||d	��|d	����ddd��n#1swxYwYddd��n#1swxYwY��	ddd��n#1swxYwY��1td���Gd�d����}|�|d	��|d����|�	|d	��|d����|�	|d��|d����|�
|d��|d	����|�|d��|d	����|�|d��|d����dS)Nc��eZdZUeed<dS)�)TestCase.test_1_field_compare.<locals>.C0r6Nr7rrrr�rGr:rr�Frc��eZdZUeed<dS)�)TestCase.test_1_field_compare.<locals>.C1r6Nr7rrrr�r!Kr:rr�rrArc��||kSr�rrs  rr	z/TestCase.test_1_field_compare.<locals>.<lambda>Sr
rc��||kSr�rrs  rr	z/TestCase.test_1_field_compare.<locals>.<lambda>Trrc��||kSr�rrs  rr	z/TestCase.test_1_field_compare.<locals>.<lambda>Ur
rc��||kSr�rrs  rr	z/TestCase.test_1_field_compare.<locals>.<lambda>VrrrrrrTc��eZdZUeed<dS)�(TestCase.test_1_field_compare.<locals>.Cr6Nr7rrrr#r'\r:rr#)r&rr'r�rrFr{r�
assertLessr�
assertGreaterrrs       r�test_1_field_comparezTestCase.test_1_field_compareEs���	�	�	�	�	�	�	�	�
��	�
��	�	�	�	�	�	�	�	�	�	�
 �	�	���8�	/�	/�C����#��&�&�

/�

/�� � ���Q�����Q���0�0�0��#�#�C�C��F�F�C�C��F�F�3�3�3�(�*<�*<�*=�*=�*<�*<�*=�*=�*?� @� @�/�/�G�C�����#��.�.�/�/�!�3�3�I�4�[^�[g�4�4�ps�p|�4�4�4�A�A�/�/��B�s�s�1�v�v�s�s�1�v�v�.�.�.�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/��	/�

/�

/�

/�

/�

/�

/�

/�

/�

/�

/�

/����

/�

/�

/�

/��
��	�	�	�	�	�	�	�	�	�	�
�	�	������!���a�a��d�d�#�#�#����Q�Q�q�T�T�1�1�Q�4�4�(�(�(����Q�Q�q�T�T�1�1�Q�4�4�(�(�(����1�1�Q�4�4���1���&�&�&������!���a�a��d�d�+�+�+������!���a�a��d�d�+�+�+�+�+s[�BE&�-E
	�D6�*E
	�6D:�:E
	�=D:�>E
	�E&�
E
�E&�E
�E&�&E*	�-E*	c�d�tGd�d����}td���Gd�d����}||fD�]�}|�|���5|�|dd��|dd����|�|d	d
��|d	d
����|�|d	d��|dd����|�|d	d��|d	d	����t	d�d�d
�d�g��D]�\}}|�|���5|�td|j�d|j�d���5||dd��|dd����ddd��n#1swxYwYddd��n#1swxYwY��	ddd��n#1swxYwY���td���Gd�d����}t	d�d�d�g��D]f\}}|�|���5|�||dd��|dd������ddd��n#1swxYwY�gt	d�d�d�g��D]�\}}|�|���5|�||dd��|dd	������|�||dd	��|d	d������|�||d	d��|d	d	������ddd��n#1swxYwY��t	d�d�d�g��D]�\}}|�|���5|�||dd	��|dd������|�||d	d��|dd	������|�||d	d	��|d	d������ddd��n#1swxYwY��dS)Nc�$�eZdZUeed<eed<dS)�(TestCase.test_simple_compare.<locals>.C0r6rmNr7rrrr�r-h�"��������F�F�F��F�F�F�F�Frr�Frc�$�eZdZUeed<eed<dS)�(TestCase.test_simple_compare.<locals>.C1r6rmNr7rrrr�r0mr.rr�rrrA�c��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>xr
rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>yrrc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>zr
rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>{rrrrrrTc�$�eZdZUeed<eed<dS)�'TestCase.test_simple_compare.<locals>.Cr6rmNr7rrrr#r7�r.rr#c��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>��
��q�A�v�rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>�r9rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>�r9rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>��
��q�1�u�rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>�r9rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>�r9rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>�r=rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>�r9rc��||kSr�rrs  rr	z.TestCase.test_simple_compare.<locals>.<lambda>�r9r)	r&rr'r�rrFr{r�
assertTruers       r�test_simple_comparezTestCase.test_simple_comparefs���	�	�	�	�	�	�	�	�
��	�
��	�	�	�	�	�	�	�	�	�	�
 �	�	���8�
	5�
	5�C����#��&�&�
5�
5�� � ���Q����C�C��1�I�I�6�6�6�� � ���Q����C�C��1�I�I�6�6�6��#�#�C�C��1�I�I�s�s�1�a�y�y�9�9�9��#�#�C�C��1�I�I�s�s�1�a�y�y�9�9�9�(�*<�*<�*=�*=�*<�*<�*=�*=�*?� @� @�5�5�G�C�����#��.�.�5�5�!�3�3�I�4�[^�[g�4�4�ps�p|�4�4�4�A�A�5�5��B�s�s�1�a�y�y�#�#�a��)�)�4�4�4�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5��	5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5��
��	�	�	�	�	�	�	�	�	�	�
�	�	�!�"5�"5�"5�"5�"5�"5�"7�8�8�	6�	6�G�C�����#��&�&�
6�
6������1�1�Q��7�7�A�A�a��G�G� 4� 4�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��!�"4�"4�"5�"5�"5�"5�"7�8�8�	6�	6�G�C�����#��&�&�
6�
6������1�1�Q��7�7�A�A�a��G�G� 4� 4�5�5�5������1�1�Q��7�7�A�A�a��G�G� 4� 4�5�5�5������1�1�Q��7�7�A�A�a��G�G� 4� 4�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��
!�"4�"4�"5�"5�"5�"5�"7�8�8�	6�	6�G�C�����#��&�&�
6�
6������1�1�Q��7�7�A�A�a��G�G� 4� 4�5�5�5������1�1�Q��7�7�A�A�a��G�G� 4� 4�5�5�5������1�1�Q��7�7�A�A�a��G�G� 4� 4�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��	6�	6s��CG�6-F'	�#!F�F'	�F�F'	�F�F'	�G�'F+
�+G�.F+
�/G�G	�G	� 4I � I$	�'I$	�BM�M	�	M	�>BP$�$P(	�+P(	c
��tGd�d����}tGd�d|����}td�dfd�dfg��D]h\}\}}|�|�	��5|�||d
��|d
����|��ddd��n#1swxYwY�itd�d�d
�d�g��D]�\}}|�|�	��5|�t
d��5||d
��|d
����ddd��n#1swxYwYddd��n#1swxYwY��dS)Nc��eZdZUeed<dS)�+TestCase.test_compare_subclasses.<locals>.Br1Nr7rrrrurG�r:rruc��eZdZdS)�+TestCase.test_compare_subclasses.<locals>.CNrrrrr#rI�r$rr#c��||kSr�rrs  rr	z2TestCase.test_compare_subclasses.<locals>.<lambda>��
��A��F�rFc��||kSr�rrs  rr	z2TestCase.test_compare_subclasses.<locals>.<lambda>�rKrTrrc��||kSr�rrs  rr	z2TestCase.test_compare_subclasses.<locals>.<lambda>�r=rc��||kSr�rrs  rr	z2TestCase.test_compare_subclasses.<locals>.<lambda>�r9rc��||kSr�rrs  rr	z2TestCase.test_compare_subclasses.<locals>.<lambda>�r=rc��||kSr�rrs  rr	z2TestCase.test_compare_subclasses.<locals>.<lambda>�r9rz.not supported between instances of 'B' and 'C')r&rrr'rFr{)r+rur#rr�expecteds      r�test_compare_subclassesz TestCase.test_compare_subclasses�s���
�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	��	�	�
��	�$-�/B�/B�E�.J�/B�/B�D�.I�.K�$L�$L�	;�	;��C��"�h����#��&�&�
;�
;�� � ���A�A�a�D�D�!�!�A�$�$����:�:�:�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;��!�"4�"4�"5�"5�"4�"4�"5�"5�"7�8�8�	#�	#�G�C�����#��&�&�
#�
#��+�+�I�,\�^�^�#�#��B�q�q��t�t�Q�Q�q�T�T�N�N�N�#�#�#�#�#�#�#�#�#�#�#����#�#�#�#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#����
#�
#�
#�
#��		#�	#sH�+3B*�*B.	�1B.	�(E�D/�#E�/D3�3E�6D3�7E�E
	�
E
	c���dD�]q\}}}|�||���5|dkrY|�td��5t||���Gd�d����}ddd��n#1swxYwY�n�t||���Gd�d����}|dkr�|�d	|j��|�d
|j��|�d|j��|�d|j��|�d
|j���n)|dkr�|�d	|j��|�d
|j��|�d|j��|�d|j��|�d
|j��n�|dkr�|�d	|j��|�d
|j��|�d|j��|�d|j��|�d
|j��n
Jd|�����ddd��n#1swxYwY��sdS)N))FF�neither)FT�	exception)TF�eq_only)TT�both)�eqrrUz eq must be true if order is truec��eZdZdS��!TestCase.test_eq_order.<locals>.CNrrrrr#r[�������� �Drr#c��eZdZdSrZrrrrr#z!TestCase.test_eq_order.<locals>.C���������rrTr��__lt__�__le__�__gt__�__ge__rWrVF�unknown result )rrFrGr&�assertNotInr�rW)r+rXr�resultr#s     r�
test_eq_orderzTestCase.test_eq_order�s@��*
�$	C�$	C�%�R�E�6�����5��1�1�
C�
C��[�(�(��/�/�
�<^�_�_�!�!�"�b��6�6�6�!�!�!�!�!�!�!�7�6�!�!�!�!�!�!�!�!�!�!�!�!����!�!�!�!��
�"�E�2�2�2��������3�2����*�*��(�(��1�:�>�>�>��(�(��1�:�>�>�>��(�(��1�:�>�>�>��(�(��1�:�>�>�>��(�(��1�:�>�>�>�>��6�)�)��
�
�h��
�;�;�;��
�
�h��
�;�;�;��
�
�h��
�;�;�;��
�
�h��
�;�;�;��
�
�h��
�;�;�;�;��9�,�,��
�
�h��
�;�;�;��(�(��1�:�>�>�>��(�(��1�:�>�>�>��(�(��1�:�>�>�>��(�(��1�:�>�>�>�>�B�&B��&B�&B�B�B�B�=
C�
C�
C�
C�
C�
C�
C�
C�
C�
C�
C����
C�
C�
C�
C��
$	C�$	Cs6�"I)�%A4�(I)�4A8�8I)�;A8�<G!I)�)I-	�0I-	c��tGd�d����}|�|d��jd��|�td��5|��ddd��dS#1swxYwYdS)Nc�.�eZdZUe��Zeed<dS)�)TestCase.test_field_no_default.<locals>.Cr6N�rrrrEr6r8r9rrrr#ri�s(��������U�W�W�A�s�����rr#r��8__init__\(\) missing 1 required positional argument: 'x')r&r'r6rFr{r�s  r�test_field_no_defaultzTestCase.test_field_no_default�s���	�	�	�	�	�	�	�	�
��	�	
�����1�����#�#�#�
�
#�
#�I�%?�@�@�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A2�2A6�9A6c�^��t���tG�fd�d����}|�|j���|d��}|�|jd��|`|�|j���|�|��j���dS)Nc�4��eZdZUe����Zeed<dS)�&TestCase.test_field_default.<locals>.C�rCr6N)rrrrEr6r�r9rps�rr#ro�s0����������g�.�.�.�A�v�.�.�.�.�.rr#r�)r�r&�assertIsr6r')r+r#r�rCs   @r�test_field_defaultzTestCase.test_field_default�s�����(�(��	�	/�	/�	/�	/�	/�	/�	/�	/�	/�
��	/�	
�
�
�a�c�7�#�#�#�
�A�b�E�E�������b�!�!�!�
�C��
�
�a�c�7�#�#�#��
�
�a�a�c�c�e�W�%�%�%�%�%rc��tGd�d����}|�t��5|��ddd��n#1swxYwY|d��}|�t	|��d��tGd�d����}|dd��}|�t	|��d��dS)Nc�2�eZdZUed���Zeed<dS)�$TestCase.test_not_in_repr.<locals>.CF�rLr6Nrjrrrr#ru��/��������U��&�&�&�A�s�&�&�&�&�&rr#r�z&TestCase.test_not_in_repr.<locals>.C()c�<�eZdZUed���Zeed<eed<dS)ruFrvr6rmNrjrrrr#z$TestCase.test_not_in_repr.<locals>.Cs6��������U��&�&�&�A�s�&�&�&��F�F�F�F�Fr�z*TestCase.test_not_in_repr.<locals>.C(y=20))r&�assertRaisesr{r'rLr�s   r�test_not_in_reprzTestCase.test_not_in_repr�s8��	�	'�	'�	'�	'�	'�	'�	'�
��	'�
�
�
�y�
)�
)�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�A�b�E�E������a���"J�K�K�K�	�	�	�	�	�	�	�	�
��	�
�A�b�"�I�I������a���"N�O�O�O�O�Os�A�A�Ac��tGd�d����}|�|��|dd����|�|dd��|dd����|�|d��|dd����|�|dd��|dd����dS)	Nc�B�eZdZUdZeed<edd���Zeed<dS)�'TestCase.test_not_in_compare.<locals>.Crr6F�)�comparerCrmN)rrrr6r8r9rErmrrrr#r~s>��������A�s�J�J�J��U�5�!�4�4�4�A�s�4�4�4�4�4rr#rryrAr�rpr�r&r'r�r�s  r�test_not_in_comparezTestCase.test_not_in_compare
s���	�	5�	5�	5�	5�	5�	5�	5�
��	5�	
�������a�a��2�h�h�'�'�'������1�b���1�1�Q��8�8�,�,�,����A�A�a�D�D�!�!�A�r�(�(�+�+�+����A�A�a��H�H�a�a��2�h�h�/�/�/�/�/rc�$���Gd�d���d}|�t|��5tGd�d����}ddd��n#1swxYwY|�t|��5tG�fd�d����}ddd��n#1swxYwY|�t|��5����d��_tG�fd�d����}ddd��dS#1swxYwYdS)	Nc��eZdZdZdS)�7TestCase.test_no_unhashable_default.<locals>.UnhashableNr�rrr�
Unhashabler�s�������H�H�Hrr�z-mutable default .* for field a is not allowedc��eZdZUiZeed<dS��.TestCase.test_no_unhashable_default.<locals>.ArN)rrrr�dictr9rrr�Ar�s���������4�����rr�c�0��eZdZU���Zeed<dSr��rrrrrr9)r�s�rr�z.TestCase.test_no_unhashable_default.<locals>.A!s)��������#�����3�%�%�%�%�%rc��dS�Nrrrrrr	z5TestCase.test_no_unhashable_default.<locals>.<lambda>*s��!�rc� ��eZdZU�Zeed<dSr�r�)�
unhashables�rr�z.TestCase.test_no_unhashable_default.<locals>.A+s#��������#��3�#�#�#�#�#r)rFrGr&r�)r+�
unhashable_rer�r�r�s   @@r�test_no_unhashable_defaultz#TestCase.test_no_unhashable_defaultsG����	�	�	�	�	�	�	�	�H�
�
�
#�
#�J�
�
>�
>�	�	�
�
�
�
�
�
�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�J�
�
>�
>�	&�	&�
�
&�
&�
&�
&�
&�
&�
&�
&�
&��Y�
&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&��
#�
#�J�
�
>�
>�	$�	$�#����J�"+�)�J��
�
$�
$�
$�
$�
$�
$�
$�
$�
$��Y�
$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s5�A�A�A�:B#�#B'�*B'�	/D�D	�D	c	�����dD]�\��}|������5td���G��fd�d����}|dkr:|�t|d����td	����nM|d
kr:|�t|d����td����n
Jd
|�����ddd��n#1swxYwY��dS)N))TFrE)TTrE)FF�absent)FTr�)NFr�)NTrE)r�r�Tr�c�8��eZdZUe��d���Zeed<dS)�)TestCase.test_hash_field_rules.<locals>.Cr�)r�r�rCr6Nrj)r��hash_s��rr#r�<s4��������"�U�7���J�J�J�A�s�J�J�J�J�Jrr#rEr�)r�r�rFrc)rr&r'r�)r+rer#r�r�s   @@r�test_hash_field_ruleszTestCase.test_hash_field_rules/su����.�	?�	?�)�U�w�����5�'��:�:�
?�
?��t�,�,�,�K�K�K�K�K�K�K�K�K�K�-�,�K��W�$�$��$�$�T�!�!�A�$�$�Z�Z��d���<�<�<�<��x�'�'��$�$�T�!�!�A�$�$�Z�Z��b���:�:�:�:�>�">�F�">�">�>�>�>�
?�
?�
?�
?�
?�
?�
?�
?�
?�
?�
?����
?�
?�
?�
?��	?�	?s�B4C"�"C&	�)C&	c�\�tGd�d����}|�d|��j��tGd�d����}|�d|d��j��|�t	|d����dddd	���dS)
Nc�2�eZdZUed���Zeed<dS)�.TestCase.test_init_false_no_default.<locals>.CF�rKr6Nrjrrrr#r�Lrwrr#r6c�X�eZdZUeed<dZeed<ed���Zeed<dZeed<d	S)
r�r6rrmFr�r�r��tN)	rrrr8r9rmrEr�r�rrrr#z.TestCase.test_init_false_no_default.<locals>.CRsP��������F�F�F��A�s�J�J�J��U��&�&�&�A�s�&�&�&��A�s�K�K�K�K�Krr�rr�r�)r�r6rm)r&rdr�r'�varsr�s  r�test_init_false_no_defaultz#TestCase.test_init_false_no_defaultIs���
�	'�	'�	'�	'�	'�	'�	'�
��	'�	
����a�a�c�c�l�+�+�+�	�	�	�	�	�	�	�	�
��	�	
����a�a��d�d�m�,�,�,�����a�a��d�d���2�A�A�%>�%>�?�?�?�?�?rc�j�tGd�d����}t|��}|�|t��|D]J}|�t|��t��|�|j|j	���K|�
t|��d��|�
|djd��|�
|djt��|�
t|d����|�|dj��|�|dj��|�
|djd��|�
|djt$��|�t)|d����|�
|dj��|�|dj��|�
|djd	��|�
|djt$��|�
t|d	����|�|dj��|�
|dj��dS)
Nc�`�eZdZUeed<edd���Zeed<ed���Zeed<dS)�%TestCase.test_class_marker.<locals>.Cr6FN�rKrCrmrvr�)	rrrr8r9rErmr�r�rrrr#r�]sW��������F�F�F��U��t�4�4�4�A�s�4�4�4��U��&�&�&�A�s�&�&�&�&�&rr#rprr6rArmr1r�)r&r)�assertIsInstance�tuplerqrV�FieldrWrNr9r'r(r8�assertFalse�hasattrrCrKrLr��assertIsNoner�)r+r#�
the_fields�fs    r�test_class_markerzTestCase.test_class_marker\s\��	�	'�	'�	'�	'�	'�	'�	'�
��	'�
�A�Y�Y�
�	
���j�%�0�0�0��	5�	5�A��M�M�$�q�'�'�5�)�)�)��M�M�!�&�!�"3�4�4�4�4�����Z���!�,�,�,�����A��+�S�1�1�1�����A��+�S�1�1�1������C���)�)�)�����A��+�,�,�,�����A��+�,�,�,�����A��+�S�1�1�1�����A��+�S�1�1�1����'�!�S�/�/�*�*�*�����A��+�,�,�,�����A��+�,�,�,�����A��+�S�1�1�1�����A��+�S�1�1�1������C���)�)�)�����A��+�,�,�,�����A��+�,�,�,�,�,rc��tGd�d����}tGd�d|����}|�d�t|��D��gd���tGd�d|����}|�d	�t|��D��gd
���tGd�d|����}|�d
�t|��D��gd���dS)Nc�:�eZdZUdZeed<dZeed<dZeed<dS)�$TestCase.test_field_order.<locals>.B�B:ar�B:br��B:cr�N)rrrrr�r9r�r�rrrrur�~s7��������A�s�N�N�N��A�s�N�N�N��A�s�N�N�N�N�Nrruc��eZdZUdZeed<dS)�$TestCase.test_field_order.<locals>.C�C:br�N)rrrr�r�r9rrrr#r�����������A�s�N�N�N�N�Nrr#c�*�g|]}|j|jf��Sr�rNrC�r�r�s  rr�z-TestCase.test_field_order.<locals>.<listcomp>��!��A�A�A�!�1�6�1�9�-�A�A�Ar)�rr�)r�r�)r�r�c��eZdZUdZeed<dS)�$TestCase.test_field_order.<locals>.D�D:cr�N)rrrr�r�r9rrrr`r��r�rr`c�*�g|]}|j|jf��Srr�r�s  rr�z-TestCase.test_field_order.<locals>.<listcomp>�r�r)r��r�r��r�r�c�,�eZdZUdZeed<dZeed<dS)�$TestCase.test_field_order.<locals>.E�E:ar�E:d�dN)rrrrr�r9r�rrr�Er��s*��������A�s�N�N�N��A�s�N�N�N�N�Nrr�c�*�g|]}|j|jf��Srr�r�s  rr�z-TestCase.test_field_order.<locals>.<listcomp>�r�r))rr�r�r�)r�r��r&r'r))r+rur#r`r�s     r�test_field_orderzTestCase.test_field_order}s���	�	�	�	�	�	�	�	�
��	�

�	�	�	�	�	��	�	�
��	�	
���A�A�v�a�y�y�A�A�A�(�(�(�	)�	)�	)�

�	�	�	�	�	��	�	�
��	�	
���A�A�v�a�y�y�A�A�A�(�(�(�	)�	)�	)�

�	�	�	�	�	��	�	�
��	�	
���A�A�v�a�y�y�A�A�A�(�(�(�	)�	)�	)�	)�	)rc�T��t���tG�fd�d����}|�t|d����|�t|d����|�|j���|�|jd��dS)Nc�n��eZdZUeed<ed���Zeed<�Zeed<ed���Z	eed<d	S)
�$TestCase.test_class_attrs.<locals>.Cr6Frvrmr�r�rpr�N)
rrrr8r9rErmr�r�r�rps�rr#r��sf���������F�F�F��U��&�&�&�A�s�&�&�&��A�v�����U�3�'�'�'�A�s�'�'�'�'�'rr#r6rmr�)r�r&r�r�rqr�r'r�)r+r#rCs  @r�test_class_attrszTestCase.test_class_attrs�s�����(�(��	�	(�	(�	(�	(�	(�	(�	(�	(�	(�
��	(�	
�����C���)�)�)������C���)�)�)��
�
���g�&�&�&������c�"�"�"�"�"rc�n�����tgdgftiddiftt��tdg��ffD�]t\���|�����5|�t
d��d���5tG��fd�d����}ddd��n#1swxYwY|�t
d��d���5tG��fd	�d����}ddd��n#1swxYwYGd
�d����|�t
d��5tG��fd
�d����}ddd��n#1swxYwYtG�fd�d����}tG��fd�d����}ddd��n#1swxYwY��vdS)NrAr��typzmutable default z for field x is not allowedc� ��eZdZU�Z�ed<dS)�8TestCase.test_disallowed_mutable_defaults.<locals>.Pointr6N)rrrr6r9)�emptyr�s��r�Pointr��s��������!&��3�����rr�z for field y is not allowedc� ��eZdZU�Z�ed<dS)r�rmN)rrrrmr9)�	non_emptyr�s��rr�z8TestCase.test_disallowed_mutable_defaults.<locals>.Point�s#��������!*��3�*�*�*�*�*rc��eZdZdS)�;TestCase.test_disallowed_mutable_defaults.<locals>.SubclassNrrrr�Subclassr��rrr�z7mutable default .*Subclass'> for field z is not allowedc�0��eZdZU���Z�ed<dS)r�r�N)rrrr�r9�r�r�s��rr�z8TestCase.test_disallowed_mutable_defaults.<locals>.Point�s)��������!)�����3�+�+�+�+�+rc�<��eZdZU���Ze�ed<dS)�4TestCase.test_disallowed_mutable_defaults.<locals>.Cr�N)rrrr�rr9r�s�rr#r��s-��������'*�s�u�u�A�x��}�,�,�,�,�,rr#c�<��eZdZU���Ze�ed<dS)r�r6N)rrrr6rr9r�s��rr#z4TestCase.test_disallowed_mutable_defaults.<locals>.C�s-��������'/�x�z�z�A�x��}�1�1�1�1�1r)�listr��setrrFrGr&)r+r�r#r�r�r�r�s   @@@@r� test_disallowed_mutable_defaultsz)TestCase.test_disallowed_mutable_defaults�s�������'+�R�!��o�'+�R�!�A��&7�'*�C�E�E�3��s�8�8�&<�&(�)	2�)	2�!�C��	����#��&�&�%
2�%
2��+�+�J�-?�s�-?�-?�-?�@�@�'�'��'�'�'�'�'�'�'�'�'�'��Y�'�	'�'�'�'�'�'�'�'�'�'�'����'�'�'�'��+�+�J�-?�s�-?�-?�-?�@�@�+�+��+�+�+�+�+�+�+�+�+�+��Y�+�	+�+�+�+�+�+�+�+�+�+�+����+�+�+�+�*�)�)�)�)�s�)�)�)��+�+�J�-J�.�.�,�,��,�,�,�,�,�,�,�,�,�,��Y�,�,�,�,�,�,�,�,�,�,�,�,����,�,�,�,��-�-�-�-�-�-�-�-�-���-��2�2�2�2�2�2�2�2�2�2���2�I%
2�%
2�%
2�%
2�%
2�%
2�%
2�%
2�%
2�%
2�%
2����%
2�%
2�%
2�%
2��	)	2�)	2s~� F(�<B&�F(�&B*�*F(�-B*�."F(�C:�.F(�:C>�>F(�C>�,F(�.E�F(�E�F(�E� <F(�(F,	�/F,	c���Gd�d���tG�fd�d����}���}||��}||��}|�||��|jj�ddg��|�||��|�|jjddg��|�|j|j��dS)Nc��eZdZd�ZdS)�<TestCase.test_deliberately_mutable_defaults.<locals>.Mutablec��g|_dSr���lr�s rr�zETestCase.test_deliberately_mutable_defaults.<locals>.Mutable.__init__�s
������rN�rrrr�rrr�Mutabler��s#������
�
�
�
�
rr�c���eZdZU�ed<dS)�6TestCase.test_deliberately_mutable_defaults.<locals>.Cr6N�rrrr9)r�s�rr#r��s���������J�J�J�J�Jrr#rAr1)r&r'r6r��extendrq)r+r#�lst�o1�o2r�s     @r�"test_deliberately_mutable_defaultsz+TestCase.test_deliberately_mutable_defaults�s���	�	�	�	�	�	�	�	�
�	�	�	�	�	�	�	�	�	�
��	��g�i�i��
�Q�s�V�V��
�Q�s�V�V������R� � � �
���
�
�q�!�f��������R� � � �������!�Q��(�(�(��
�
�b�d�B�D�!�!�!�!�!rc��t��Gd�d����}|�|d��jd��dS)Nc��eZdZUeed<dS)�#TestCase.test_no_options.<locals>.Cr6Nr7rrrr#r��r:rr#r;r<r�s  r�test_no_optionszTestCase.test_no_options�s`��	���	�	�	�	�	�	�	�
��	�	
�����2����"�%�%�%�%�%rc��tGd�d����}|�|dd��d��tGd�d����}|�|dd��|dd����dS)	Nc�$�eZdZUeed<eed<dS)�&TestCase.test_not_tuple.<locals>.Pointr6rmNr7rrrr�r��r.rr�rAr1�rAr1c�$�eZdZUeed<eed<dS)�"TestCase.test_not_tuple.<locals>.Cr6rmNr7rrrr#r�r.rr#rp)r&r�)r+r�r#s   r�test_not_tuplezTestCase.test_not_tuple�s���	�	�	�	�	�	�	�	�
��	�	
���E�E�!�Q�K�K��0�0�0�
�	�	�	�	�	�	�	�
��	�	
���E�E�!�Q�K�K���1�a���1�1�1�1�1rc��tGd�d����}tGd�d����}|�|ddd��|ddd����|�|dd	d��d
��|�td��5|dd
d��\}}}ddd��n#1swxYwYtGd�d����}|�|ddd��|����dS)Nc�.�eZdZUeed<eed<eed<dS)�2TestCase.test_not_other_dataclass.<locals>.Point3Dr6rmr�Nr7rrr�Point3Dr
�+��������F�F�F��F�F�F��F�F�F�F�Frrc�.�eZdZUeed<eed<eed<dS)�/TestCase.test_not_other_dataclass.<locals>.Date�year�month�dayNr7rrr�Daters+��������I�I�I��J�J�J��H�H�H�H�Hrr
i��rprAr1)rAr1rp�unpackrr�c�:�eZdZUdZeed<dZeed<dZeed<dS)�4TestCase.test_not_other_dataclass.<locals>.Point3Dv1rr6rmr�N)rrrr6r8r9rmr�rrr�	Point3Dv1r"s7��������A�s�J�J�J��A�s�J�J�J��A�s�J�J�J�J�Jrrr)r&r�rFr{)r+rr
r6rmr�rs       r�test_not_other_dataclassz!TestCase.test_not_other_dataclass
s���
�	�	�	�	�	�	�	�
��	�

�	�	�	�	�	�	�	�
��	�
	
���G�G�D�!�Q�/�/���d�A�q�1A�1A�B�B�B����G�G�A�q�!�,�,�i�8�8�8��
#�
#�I�x�
8�
8�	'�	'��g�a��A�&�&�G�A�q�!�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�

�	�	�	�	�	�	�	�
��	�	
���G�G�A�q�!�,�,�i�i�k�k�:�:�:�:�:s�B;�;B?�B?c�����Gd�d���������fd�}tG��fd�d����}||��tdd���G��fd�d����}||��dS)	Nc��eZdZdS)�-TestCase.test_function_annotations.<locals>.FNrrrr�Fr+r]rrc�����|jdt����|jdt����|jd�����|jdt����|jdt
��t
j|j��}��	|j
d��t|j�
����}t|��}��|jd��t|��}��|jd����	|jt����|jtjj����|jtjj��t|��}��|jd����	|jt����|jtjj����|jtjj��t|��}��|jd����	|j�����|jtjj��t|��}��|jd����	|jt����|jtjj����t.t|��dS)Nr1�j�kr�r�r+)r'r9r8r��float�complexr�r�r�rq�return_annotationr�r��valuesr�rN�
annotationrC�	Parameterr��kind�POSITIONAL_OR_KEYWORDrz�
StopIteration)rr��params�paramrr+s    ��r�validate_classz:TestCase.test_function_annotations.<locals>.validate_class/s����
���S�0��5�s�;�;�;����S�0��5�s�;�;�;����S�0��5�q�9�9�9����S�0��5�u�=�=�=����S�0��5�w�?�?�?� �)�#�,�7�7�I��M�M�)�5�t�<�<�<��)�.�5�5�7�7�8�8�F���L�L�E����U�Z��0�0�0���L�L�E����U�Z��-�-�-��M�M�U�-�s�3�3�3����U�]�G�,=�,C�D�D�D����U�Z��):�)P�Q�Q�Q���L�L�E����U�Z��-�-�-��M�M�U�-�s�3�3�3����U�]�G�,=�,C�D�D�D����U�Z��):�)P�Q�Q�Q���L�L�E����U�Z��-�-�-��M�M�U�-�q�1�1�1����U�Z��):�)P�Q�Q�Q���L�L�E����U�Z��-�-�-��M�M�U�-�u�5�5�5����U�Z��):�)P�Q�Q�Q����m�T�6�:�:�:�:�:rc�z��eZdZUeed<eed<�Z�ed<ed���Ze	ed<edd�	��Z
eed
<dS��-TestCase.test_function_annotations.<locals>.Cr1rrNrpr�y@@F�rCrKr��rrrr8r9r�rrEr�rr�r�rr�s��rr#r&Z�n���������F�F�F��F�F�F��A�q�H�H�H��U�4�(�(�(�A�u�(�(�(��u�T��6�6�6�A�w�6�6�6�6�6rr#T)rr�c�z��eZdZUeed<eed<�Z�ed<ed���Ze	ed<edd�	��Z
eed
<dSr%r(r)s��rr#z-TestCase.test_function_annotations.<locals>.Cer*r)r&)r+r#r#rr�s`  @@r�test_function_annotationsz"TestCase.test_function_annotations)s�����	�	�	�	�	�	�	�	�
�A�C�C��(	;�(	;�(	;�(	;�(	;�(	;�V
�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�
��	7�	��q����
�$�D�	1�	1�	1�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�
2�	1�	7�	��q�����rc���tGd�d����}|�td��5|��ddd��n#1swxYwY|�d|j��tGd�d����}|�td��5|��ddd��n#1swxYwY|�d|j��dS)Nc�2�eZdZUee���Zeed<dS)�(TestCase.test_missing_default.<locals>.Crpr6N�rrrrErOr6r8r9rrrr#r/rs/��������5��)�)�)�A�s�)�)�)�)�)rr#�3__init__\(\) missing 1 required positional argumentr6c��eZdZUeed<dS)�(TestCase.test_missing_default.<locals>.Dr6Nr7rrrr`r3{r:rr`�r&rFr{rdr�rbs   r�test_missing_defaultzTestCase.test_missing_defaultos���
�	*�	*�	*�	*�	*�	*�	*�
��	*�
�
#�
#�I�%:�;�;�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����a�j�)�)�)�	�	�	�	�	�	�	�	�
��	�
�
#�
#�I�%:�;�;�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����a�j�)�)�)�)�)�#�A
�
A�A�(B?�?C�Cc���tGd�d����}|�td��5|��ddd��n#1swxYwY|�d|j��tGd�d����}|�td��5|��ddd��n#1swxYwY|�d|j��dS)Nc�2�eZdZUee���Zeed<dS)�0TestCase.test_missing_default_factory.<locals>.C�rDr6Nr0rrrr#r9�s/��������5��1�1�1�A�s�1�1�1�1�1rr#r1r6c�4�eZdZUeee���Zeed<dS)�0TestCase.test_missing_default_factory.<locals>.DrBr6Nr0rrrr`r<�s1��������5��'�B�B�B�A�s�B�B�B�B�Brr`r4rbs   r�test_missing_default_factoryz%TestCase.test_missing_default_factory�s���
�	2�	2�	2�	2�	2�	2�	2�
��	2�
�
#�
#�I�%:�;�;�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����a�j�)�)�)�	�	C�	C�	C�	C�	C�	C�	C�
��	C�
�
#�
#�I�%:�;�;�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����a�j�)�)�)�)�)r6c�V�|�dtt����dS)NzMISSING_TYPE object)rWrLrOr�s r�test_missing_reprzTestCase.test_missing_repr�s#���
�
�+�T�'�]�]�;�;�;�;�;rc�~�tGd�d����}|�t|j��dg��|�|d�����d��|�|d��jd��|�|d��jd��dS)Nc�B�eZdZUeed<defd�Zedefd���ZdS)�7TestCase.test_dont_include_other_annotations.<locals>.Cr1�returnc��dS�Nrrr�s rr�z;TestCase.test_dont_include_other_annotations.<locals>.C.foo�����qrc��dS�Nr�rr�s r�barz;TestCase.test_dont_include_other_annotations.<locals>.C.bar�s���qrN)rrrr8r9r��propertyrIrrrr#rB�s_��������F�F�F�
�S�
�
�
�
�
�
�S�
�
�
��X�
�
�
rr#r1r�rr�)r&r'r�r9r�rIr1r�s  r�#test_dont_include_other_annotationsz,TestCase.test_dont_include_other_annotations�s���	�	�	�	�	�	�	�	�
��	�	
����a�/�0�0�3�%�8�8�8������2�������a�(�(�(������2����A�&�&�&������2����"�%�%�%�%�%rc�P�tGd�d����}|�t��5|��ddd��n#1swxYwYtGd�d����}|�t��5|��ddd��n#1swxYwY|d��td���Gd�d����}|��tGd�d����}|�|��jd	��|�|d
��jd��td�
��Gd�d����}|�t
��5|��ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�"TestCase.test_post_init.<locals>.Cc��t���r��rr�s r�
__post_init__z0TestCase.test_post_init.<locals>.C.__post_init__����!�m�m�#rN�rrrrQrrrr#rN��#������
$�
$�
$�
$�
$rr#c�$�eZdZUdZeed<d�ZdS)rNr�r1c�8�|jdkrt���dS�Nr�)r1rr�s rrQz0TestCase.test_post_init.<locals>.C.__post_init__�s���6�R�<�<�%�-�-�'� �<rN)rrrr1r8r9rQrrrr#z"TestCase.test_post_init.<locals>.C�s2��������A�s�K�K�K�
(�
(�
(�
(�
(rr�Fr�c��eZdZd�ZdS)rNc��t���r�rPr�s rrQz0TestCase.test_post_init.<locals>.C.__post_init__�rRrNrSrrrr#z"TestCase.test_post_init.<locals>.C�rTrc�$�eZdZUdZeed<d�ZdS)rNrr6c�&�|xjdzc_dS�Nr1rhr�s rrQz0TestCase.test_post_init.<locals>.C.__post_init__�������!�����rN�rrrr6r8r9rQrrrr#z"TestCase.test_post_init.<locals>.C��2��������A�s�J�J�J�
�
�
�
�
rrr1rTr~c�$�eZdZUdZeed<d�ZdS)rNrr6c�&�|xjdzc_dSr\rhr�s rrQz0TestCase.test_post_init.<locals>.C.__post_init__�r]rNr^rrrr#z"TestCase.test_post_init.<locals>.C�r_r)r&rzrr'r6�FrozenInstanceErrorr�s  r�test_post_initzTestCase.test_post_init�s���	�	$�	$�	$�	$�	$�	$�	$�
��	$��
�
�{�
+�
+�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�	(�	(�	(�	(�	(�	(�	(�
��	(�
�
�
�{�
+�
+�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
��!����
��	�	�	�	$�	$�	$�	$�	$�	$�	$�
�	�	$�	
�����	�	�	�	�	�	�	�	�
��	�	
���������"�"�"������1�����#�#�#�
�$�	�	�	�	�	�	�	�	�	�	�
 �	�	��
�
�2�
3�
3�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�A�A�A�B"�"B&�)B&�F�F�"Fc��Gd�d��}tGd�d|����}|�|��jd��tGd�d|����}|�t��5|��ddd��n#1swxYwYtGd�d|����}|�t��5|��ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�(TestCase.test_post_init_super.<locals>.Bc��t���r�rPr�s rrQz6TestCase.test_post_init_super.<locals>.B.__post_init__�rRrNrSrrrrurf�s#������
$�
$�
$�
$�
$rruc��eZdZd�ZdS)�(TestCase.test_post_init_super.<locals>.Cc��d|_dSrHrhr�s rrQz6TestCase.test_post_init_super.<locals>.C.__post_init__��
������rNrSrrrr#ri�s#������
�
�
�
�
rr#r�c���eZdZ�fd�Z�xZS)ric�H��t�����dSr�)�superrQ�r+�	__class__s �rrQz6TestCase.test_post_init_super.<locals>.C.__post_init__�s������%�%�'�'�'�'�'r)rrrrQ�
__classcell__�rps@rr#z(TestCase.test_post_init_super.<locals>.C�s8�������
(�
(�
(�
(�
(�
(�
(�
(�
(rc��eZdZdS)riNrrrrr#z(TestCase.test_post_init_super.<locals>.C�r$r)r&r'r6rzr�r+rur#s   r�test_post_init_superzTestCase.test_post_init_super�s���	$�	$�	$�	$�	$�	$�	$�	$�
�	�	�	�	�	��	�	�
��	�	
���������"�"�"�
�	(�	(�	(�	(�	(��	(�	(�
��	(��
�
�{�
+�
+�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�

�	�	�	�	�	��	�	�
��	��
�
�{�
+�
+�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�B�B�B�C0�0C4�7C4c����d�tG�fd�d����}|����|dd��}|�|j|jfd��|����dS)NFc�@��eZdZUeed<eed<e�fd���ZdS)�/TestCase.test_post_init_staticmethod.<locals>.Cr6rmc���d�dS�NTr��flags�rrQz=TestCase.test_post_init_staticmethod.<locals>.C.__post_init__�s������rN)rrrr8r9�staticmethodrQr{s�rr#rx�sL���������F�F�F��F�F�F�
�
�
�
�
��\�
�
�
rr#rpr�rpr)r&r�r'r6rmrC)r+r#r�r|s   @r�test_post_init_staticmethodz$TestCase.test_post_init_staticmethod�s������	�	�	�	�	�	�	�	�	�	�
��	�	
�������
�A�a��G�G�����!�#�q�s��V�,�,�,���������rc��tGd�d����}|�|j��|dd��}|�|j|jfd��|�|j��dS)Nc�>�eZdZUdZeed<eed<ed���ZdS)�.TestCase.test_post_init_classmethod.<locals>.CFr6rmc��d|_dSrzr{rs rrQz<TestCase.test_post_init_classmethod.<locals>.C.__post_init__s
������rN)rrrr|r8r9�classmethodrQrrrr#r�
sF��������D��F�F�F��F�F�F�
�
 �
 ��[�
 �
 �
 rr#rprr~)r&r�r|r'r6rmrCr�s   r�test_post_init_classmethodz#TestCase.test_post_init_classmethod	s���	�	 �	 �	 �	 �	 �	 �	 �
��	 �	
����� � � �
�A�a��G�G�����!�#�q�s��V�,�,�,����������rc�>�tGd�d����}tGd�d����}tGd�d||����}|��}|�|j��|�|j��tGd�d����}tGd	�d
����}tGd�d||����}|��}|�|j��|�|j��dS)
Nc��eZdZdS)�2TestCase.test_post_init_not_auto_added.<locals>.A0Nrrrr�A0r�r$rr�c�$�eZdZUdZeed<d�ZdS)�2TestCase.test_post_init_not_auto_added.<locals>.B0F�b_calledc��d|_dSrz�r�r�s rrQz@TestCase.test_post_init_not_auto_added.<locals>.B0.__post_init__$�
�� $��
�
�
rN�rrrr��boolr9rQrrr�B0r�!�5�������"�H�d�"�"�"�
%�
%�
%�
%�
%rr�c�.��eZdZUdZeed<�fd�Z�xZS)�2TestCase.test_post_init_not_auto_added.<locals>.C0F�c_calledc�V��t�����d|_dSrz�rnrQr�ros �rrQz@TestCase.test_post_init_not_auto_added.<locals>.C0.__post_init__*�$������%�%�'�'�'� $��
�
�
r�rrrr�r�r9rQrqrrs@rr�r�'�J��������"�H�d�"�"�"�
%�
%�
%�
%�
%�
%�
%�
%�
%rr�c��eZdZd�ZdS)�2TestCase.test_post_init_not_auto_added.<locals>.A1c��dSr�rr�s rrQz@TestCase.test_post_init_not_auto_added.<locals>.A1.__post_init__:r�rNrSrrr�A1r�8s#������
�
�
�
�
rr�c�$�eZdZUdZeed<d�ZdS)�2TestCase.test_post_init_not_auto_added.<locals>.B1Fr�c��d|_dSrzr�r�s rrQz@TestCase.test_post_init_not_auto_added.<locals>.B1.__post_init__@r�rNr�rrr�B1r�=r�rr�c�.��eZdZUdZeed<�fd�Z�xZS)�2TestCase.test_post_init_not_auto_added.<locals>.C1Fr�c�V��t�����d|_dSrzr�ros �rrQz@TestCase.test_post_init_not_auto_added.<locals>.C1.__post_init__Fr�rr�rrs@rr�r�Cr�rr�)r&rCr�r�r�)r+r�r�r�r�r�r�r�s        r�test_post_init_not_auto_addedz&TestCase.test_post_init_not_auto_addeds���

�	�	�	�	�	�	�	�
��	�
�	%�	%�	%�	%�	%�	%�	%�
��	%�

�	%�	%�	%�	%�	%��R�	%�	%�
��	%�
�B�D�D������
�#�#�#�����
�#�#�#�
�	�	�	�	�	�	�	�
��	�
�	%�	%�	%�	%�	%�	%�	%�
��	%�

�	%�	%�	%�	%�	%��R�	%�	%�
��	%�
�B�D�D�������$�$�$�����
�#�#�#�#�#rc��tGd�d����}|d��}|�t|��d��|�tt	|����d��|�t|j��d��|�|jd��|�|jd��|�|jd	��|�|j	d
��|xjdz
c_|�|jd��|d
��}|�|j
|jfd��|�|jd��|�|jd��|�|jd	��|�|j	d
��dS)Nc��eZdZUeed<dZeed<dZeeed<dZeeed<dZ	eeed	<d
Z
eed<dS)
�"TestCase.test_class_var.<locals>.Cr6r�rm��r����w�r���sN)rrrr8r9rmr�rr�r�r�rrrr#r�Ust��������F�F�F��A�s�K�K�K�#�A�x��}�#�#�#�#�A�x��}�#�#�#�#�A�x��}�#�#�#�#�A�x�#�#�#�#�#rr#r�z-TestCase.test_class_var.<locals>.C(x=5, y=10)r1rr�r�r�r�rA��ry�ryr�)r&r'rLr(r)r9r�r�r�r�r6rmr�s   r�test_class_varzTestCase.test_class_varSs���	�	$�	$�	$�	$�	$�	$�	$�
��	$�
�A�a�D�D������a���"Q�R�R�R�����V�A�Y�Y����+�+�+�����Q�.�/�/��3�3�3������d�#�#�#������d�#�#�#������d�#�#�#������d�#�#�#�	���q���������d�#�#�#�
�A�b�E�E�����!�#�q�s��X�.�.�.������d�#�#�#������d�#�#�#������d�#�#�#������d�#�#�#�#�#rc�p�tGd�d����}|�d|j��dS)Nc�&�eZdZUeeed<dS)�-TestCase.test_class_var_no_default.<locals>.Cr6N)rrrrr8r9rrrr#r�qs"���������}�����rr#r6�r&rdr�r�s  r�test_class_var_no_defaultz"TestCase.test_class_var_no_defaultosT��	�	�	�	�	�	�	�	�
��	�	
����a�j�)�)�)�)�)rc���|�td��5tGd�d����}|�d|j��ddd��dS#1swxYwYdS)N�cannot have a default factoryc�>�eZdZUee���Zeeed<dS)�2TestCase.test_class_var_default_factory.<locals>.Cr:r6N�rrrrEr8r6rr9rrrr#r�|�3�������#(�5��#=�#=�#=��8�C�=�=�=�=�=�=rr#r6�rFr{r&rdr�r�s  r�test_class_var_default_factoryz'TestCase.test_class_var_default_factoryws����
#�
#�I�$C�E�E�	.�	.�
�
>�
>�
>�
>�
>�
>�
>��Y�
>�
���S�!�*�-�-�-�
	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.��6A�A#�&A#c���tGd�d����}|�|jd��tGd�d����}|�|jd��dS)Nc�*�eZdZUdZeeed<dS)�/TestCase.test_class_var_with_default.<locals>.Cr�r6N)rrrr6rr8r9rrrr#r��s&�������!�A�x��}�!�!�!�!�!rr#r�c�>�eZdZUed���Zeeed<dS)r�r�rpr6N)rrrrEr6rr8r9rrrr#z/TestCase.test_class_var_with_default.<locals>.C�s3�������$�u�R�0�0�0�A�x��}�0�0�0�0�0rr<r�s  r�test_class_var_with_defaultz$TestCase.test_class_var_with_default�s���	�	"�	"�	"�	"�	"�	"�	"�
��	"������b�!�!�!�	�	1�	1�	1�	1�	1�	1�	1�
��	1������b�!�!�!�!�!rc�^�td���Gd�d����}|d��}|�t|d����d��|�tt	|����d��|�t|j��d��|�|jd��|�|jd	��|�|jd
��|xjdz
c_|�|jd��|d
��}|�|j	|j
fd��|�|jd��|�|jd	��|�|jd
��dS)NTr~c�v�eZdZUeed<dZeed<dZeeed<dZeeed<dZ	eeed	<d
S)�)TestCase.test_class_var_frozen.<locals>.Cr6r�rmr�r�r�r�r�r�N)
rrrr8r9rmr�rr�r�rrrr#r��sd��������F�F�F��A�s�K�K�K�#�A�x��}�#�#�#�#�A�x��}�#�#�#�#�A�x��}�#�#�#�#�#rr#r�z4TestCase.test_class_var_frozen.<locals>.C(x=5, y=10)r1r�r�r�rAr�ryr�)r&r'rLr(r)r9r�r�r�r6rmr�s   r�test_class_var_frozenzTestCase.test_class_var_frozen�s���	�$�	�	�	�	$�	$�	$�	$�	$�	$�	$�
 �	�	$�
�A�a�D�D������a�a��d�d���%[�\�\�\�����V�A�Y�Y����+�+�+�����Q�.�/�/��3�3�3������d�#�#�#������d�#�#�#������d�#�#�#�	
���q���������d�#�#�#�
�A�b�E�E�����!�#�q�s��X�.�.�.������d�#�#�#������d�#�#�#������d�#�#�#�#�#rc�p�tGd�d����}|�d|j��dS)Nc�&�eZdZUeeed<dS)�,TestCase.test_init_var_no_default.<locals>.Cr6N)rrr�InitVarr8r9rrrr#r��s��������s�|�O�O�O�O�Orr#r6r�r�s  r�test_init_var_no_defaultz!TestCase.test_init_var_no_default�sT��	�	�	�	�	�	�	�	�
��	�	
����a�j�)�)�)�)�)rc���|�td��5tGd�d����}|�d|j��ddd��dS#1swxYwYdS)Nr�c�>�eZdZUee���Zeeed<dS)�1TestCase.test_init_var_default_factory.<locals>.Cr:r6N)rrrrEr8r6r�r9rrrr#r��s3�������"'�%��"<�"<�"<��7�3�<�<�<�<�<�<rr#r6r�r�s  r�test_init_var_default_factoryz&TestCase.test_init_var_default_factory�s����
#�
#�I�$C�E�E�	.�	.�
�
=�
=�
=�
=�
=�
=�
=��Y�
=�
���S�!�*�-�-�-�
	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.r�c���tGd�d����}|�|jd��tGd�d����}|�|jd��dS)Nc�*�eZdZUdZeeed<dS)�.TestCase.test_init_var_with_default.<locals>.Cr�r6N)rrrr6r�r8r9rrrr#r��s&������� �A�w�s�|� � � � � rr#r�c�>�eZdZUed���Zeeed<dS)r�r�rpr6N)rrrrEr6r�r8r9rrrr#z.TestCase.test_init_var_with_default.<locals>.C�s3�������#�e�B�/�/�/�A�w�s�|�/�/�/�/�/rr<r�s  r�test_init_var_with_defaultz#TestCase.test_init_var_with_default�s���	�	!�	!�	!�	!�	!�	!�	!�
��	!������b�!�!�!�	�	0�	0�	0�	0�	0�	0�	0�
��	0������b�!�!�!�!�!rc��tGd�d����}|d���}|�|jd��dS)Nc�>�eZdZUdZeed<dZeeed<d�ZdS)�!TestCase.test_init_var.<locals>.CNr6�
init_paramc�,�|j�|dz|_dSdSr\rh)r+r�s  rrQz/TestCase.test_init_var.<locals>.C.__post_init__�s���6�>�'��\�D�F�F�F�"�>r)	rrrr6r8r9r�r�rQrrrr#r��sF��������A�s�M�M�M�'+�J����+�+�+�
*�
*�
*�
*�
*rr#r�)r�ryr<r�s   r�
test_init_varzTestCase.test_init_var�sf��	�	*�	*�	*�	*�	*�	*�	*�
��	*�
�A�����������b�!�!�!�!�!rc�:�|�ttjt��|�t	tt��d��|�t	tt
t��d��|�t	ttt��d��|�t	tttz��d��dS)N�dataclasses.InitVar[int]z%dataclasses.InitVar[typing.List[int]]zdataclasses.InitVar[list[int]]zdataclasses.InitVar[int | str])r'r�r8rVrLrr�r�r�s r�test_init_var_preserve_typez$TestCase.test_init_var_preserve_type�s���������*�C�0�0�0�	
����g�c�l�+�+�-G�H�H�H�����g�d�3�i�0�1�1�@�	B�	B�	B�����g�d�3�i�0�1�1�9�	;�	;�	;�����g�c�#�g�.�/�/�9�	;�	;�	;�	;�	;rc�:�tGd�d����}|dd��}|�t|��ddi��tGd�d|����}|ddd	d
��}|�t|��ddd
���dS)Nc�0�eZdZUeed<eeed<dS)�0TestCase.test_init_var_inheritance.<locals>.Baser6�	init_baseN)rrrr8r9r�rrrr�r��s+��������F�F�F��s�|�#�#�#�#�#rr�rr�r6c�6�eZdZUeed<eeed<d�ZdS)�-TestCase.test_init_var_inheritance.<locals>.Crm�init_derivedc�B�|j|z|_|j|z|_dSr��r6rm)r+r�r�s   rrQz;TestCase.test_init_var_inheritance.<locals>.C.__post_init__�s"����)�+�����,�.����rN�rrrr8r9r�rQrrrr#r��s>��������F�F�F�!�#�,�&�&�&�
/�
/�
/�
/�
/rr#��2�3��er�)r&r'r�)r+r�r�r#r�s     r�test_init_var_inheritancez"TestCase.test_init_var_inheritance�s���
�	$�	$�	$�	$�	$�	$�	$�
��	$�
�D��B�K�K������a���3��(�+�+�+�	�	/�	/�	/�	/�	/��	/�	/�
��	/�
�A�b�"�b�"��������a�����"5�"5�6�6�6�6�6rc�2��tGd�d����}|d��}|d��}|�|jd��|�|jg��|�||��|�|j|j��|�t|ddg����ddgf��g�tG�fd�d����}|d��}|d��}|�|jd��|�|jg��|�||��|�|j|j��|�t|ddg����ddgf��tGd�d����}|�t|����d��|�|��jg��td	�
��Gd�d����}|�t|����gf��|�t|����td����tGd
�d����}|�t|����gf��tGd�d����}|�|��|dg����dS)Nc�<�eZdZUeed<ee���Zeed<dS)�(TestCase.test_default_factory.<locals>.Cr6r:rmN)rrrr8r9rEr�rmrrrr#r��s8��������F�F�F��e�D�1�1�1�A�t�1�1�1�1�1rr#rpr�rAc�D��eZdZUeed<e�fd����Zeed<dS)r�r6c����Sr�rr�s�rr	z1TestCase.test_default_factory.<locals>.C.<lambda>s���A�rr:rmN)rrrr8r9rErmr�r�s�rr#z(TestCase.test_default_factory.<locals>.Cs?���������F�F�F��e�I�I�I�I�6�6�6�A�t�6�6�6�6�6rc�4�eZdZUeed���Zeed<dS)r�F)rDrLr6N�rrrrEr�r6r9rrrr#z(TestCase.test_default_factory.<locals>.C�1��������e�D�u�=�=�=�A�t�=�=�=�=�=rz*TestCase.test_default_factory.<locals>.C()Tr�c�4�eZdZUeed���Zeed<dS)r�F)rDr�r6Nr�rrrr#z(TestCase.test_default_factory.<locals>.C"r�rrc�4�eZdZUeed���Zeed<dS)r�F�rDrKr6Nr�rrrr#z(TestCase.test_default_factory.<locals>.C)r�rc�4�eZdZUeed���Zeed<dS)r�F)rDr�r6Nr�rrrr#z(TestCase.test_default_factory.<locals>.C/s1��������e�D�%�@�@�@�A�t�@�@�@�@�@r)	r&r'r6rm�assertIsNot�astuplerqrLr�)r+r#�c0�c1r�s    @r�test_default_factoryzTestCase.test_default_factory�s����	�	2�	2�	2�	2�	2�	2�	2�
��	2��Q�q�T�T��
�Q�q�T�T�������q�!�!�!������r�"�"�"�����R� � � ������r�t�$�$�$�������1�q�c���+�+�a�!��X�6�6�6�
��	�	7�	7�	7�	7�	7�	7�	7�	7�	7�
��	7��Q�q�T�T��
�Q�q�T�T�������q�!�!�!������r�"�"�"�����R� � � ��
�
�b�d�B�D�!�!�!�������1�q�c���+�+�a�!��X�6�6�6�
�	>�	>�	>�	>�	>�	>�	>�
��	>�����a�a�c�c���$P�Q�Q�Q����������#�#�#�
�t�	$�	$�	$�	>�	>�	>�	>�	>�	>�	>�
%�	$�	>������������u�-�-�-�����a�a�c�c���D��H�H�-�-�-�
�	>�	>�	>�	>�	>�	>�	>�
��	>������������u�-�-�-�
�	A�	A�	A�	A�	A�	A�	A�
��	A��������a�a���f�f�%�%�%�%�%rc���t���tG�fd�d����}|��j|��jd��|��j|��jd��dS)Nc�6��eZdZUe�d���Zeed<dS)�5TestCase.test_default_factory_with_no_init.<locals>.CFr�r6N)rrrrEr6r�r9��factorys�rr#r8s2���������e�G�%�@�@�@�A�t�@�@�@�@�@rr#rAr1�rr&r6r'�
call_count�r+r#rs  @r�!test_default_factory_with_no_initz*TestCase.test_default_factory_with_no_init4s�����&�&��	�	A�	A�	A�	A�	A�	A�	A�	A�	A�
��	A�	
����������+�Q�/�/�/�	����������+�Q�/�/�/�/�/rc���t���tG�fd�d����}|��j|��jd��|�|d��jd��|��jd��|��j|��jd��dS)Nc�4��eZdZUe����Zeed<dS)�BTestCase.test_default_factory_not_called_if_value_given.<locals>.Cr:r6Nrjrs�rr#rFs0���������U�7�3�3�3�A�s�3�3�3�3�3rr#rAr�r1rr
s  @r�.test_default_factory_not_called_if_value_givenz7TestCase.test_default_factory_not_called_if_value_givenBs�����&�&��	�	4�	4�	4�	4�	4�	4�	4�	4�	4�
��	4�
	
����������+�Q�/�/�/������2����"�%�%�%�����+�Q�/�/�/�	����������+�Q�/�/�/�/�/rc��tGd�d����}tGd�d|����}|�|��ji��|�|��ji��|�|��jd��tGd�d|����}|�|��ji��dS)Nc�2�eZdZUee���Zeed<dS)�2TestCase.test_default_factory_derived.<locals>.Foor:r6N)rrrrEr�r6r9rrr�FoorUs/��������e�D�1�1�1�A�t�1�1�1�1�1rrc��eZdZUdZeed<dS)�2TestCase.test_default_factory_derived.<locals>.BarrArmN�rrrrmr8r9rrr�BarrY���������A�s�J�J�J�J�JrrrAc��eZdZdS)�2TestCase.test_default_factory_derived.<locals>.BazNrrrr�Bazrar$rr)r&r'r6rm)r+rrrs    r�test_default_factory_derivedz%TestCase.test_default_factory_derivedSs��	�	2�	2�	2�	2�	2�	2�	2�
��	2�
�	�	�	�	�	�#�	�	�
��	�	
��������"�%�%�%���������"�%�%�%���������!�$�$�$�	�	�	�	�	�	�#�	�	�
��	���������"�%�%�%�%�%rc���tGd�d����}Gd�d|��}tGd�d|����}|dd��}|�|j|jfd	��|�t
d
��5|jddd��n#1swxYwYGd�d|��}|d
d��}|�|j|jfd��dS)Nc��eZdZUeed<dS)�3TestCase.test_intermediate_non_dataclass.<locals>.Ar6Nr7rrrr�rjr:rr�c��eZdZUeed<dS)�3TestCase.test_intermediate_non_dataclass.<locals>.BrmNr7rrrrur!n���������F�F�F�F�Frruc��eZdZUeed<dS)�3TestCase.test_intermediate_non_dataclass.<locals>.Cr�Nr7rrrr#r$qr:rr#rArp)rArpzobject has no attributec��eZdZUeed<dS)�3TestCase.test_intermediate_non_dataclass.<locals>.Dr�Nr7rrrr`r&~r"rr`rr�)rr�)r&r'r6r�rF�AttributeErrorrm)r+r�rur#r�r`r�s       r�test_intermediate_non_dataclassz(TestCase.test_intermediate_non_dataclassfs���
�	�	�	�	�	�	�	�
��	�	�	�	�	�	��	�	�	�
�	�	�	�	�	��	�	�
��	�
�A�a��G�G�����!�#�q�s��V�,�,�,��
#�
#�N�$=�?�?�	�	�
�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
	�	�	�	�	��	�	�	�
�A�a��G�G�����!�#�q�s��V�,�,�,�,�,s�
B!�!B%�(B%c��|�td��5tGd�d����}ddd��dS#1swxYwYdS)Nr�c�>�eZdZUee���Zeeed<dS)�1TestCase.test_classvar_default_factory.<locals>.Cr:r6Nr�rrrr#r+�r�rr#�rFr{r&r�s  r�test_classvar_default_factoryz&TestCase.test_classvar_default_factory�s���
�
#�
#�I�$C�E�E�	>�	>�
�
>�
>�
>�
>�
>�
>�
>��Y�
>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>��A�A�Ac�X��Gd�d��}|�td����|�tt����|�t|����|�t|������tGd�d�����tG�fd�d����}�d��}||d	��}|�t�����|�t|����|�t|j����|�t|j����|�t|j����dS)
Nc��eZdZdS)�0TestCase.test_is_dataclass.<locals>.NotDataClassNrrrr�NotDataClassr1�r]rr2rc��eZdZUeed<dS)�%TestCase.test_is_dataclass.<locals>.Cr6Nr7rrrr#r4�r:rr#c�&��eZdZU�ed<eed<dS)�%TestCase.test_is_dataclass.<locals>.Dr��eN�rrrr9r8)r#s�rr`r6�s#���������D�D�D��F�F�F�F�Frr`r�r)r��is_dataclassr8r&rCr6r�r7)r+r2r`r�r�r#s     @r�test_is_dataclasszTestCase.test_is_dataclass�s����	�	�	�	�	�	�	�	�	
����a���)�)�)�����c�*�*�+�+�+�����l�3�3�4�4�4�����l�l�n�n�5�5�6�6�6�	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�	�	�
��	�
�A�b�E�E��
�A�a��G�G������Q���(�(�(�����Q���(�(�(�����a�c�*�*�+�+�+�����Q�S�)�)�*�*�*�����a�c�*�*�+�+�+�+�+rc��Gd�d��}|�t|����|��}Gd�d��}|��}g|_||fD�]}|�|���5|�t|����|�t
d��5t
|��ddd��n#1swxYwY|�t
d��5t|��ddd��n#1swxYwY|�t
d��5t|d���ddd��n#1swxYwYddd��n#1swxYwY��dS)	Nc��eZdZd�ZdS)�ATestCase.test_is_dataclass_when_getattr_always_returns.<locals>.Ac��dSr�r)r+�keys  r�__getattr__zMTestCase.test_is_dataclass_when_getattr_always_returns.<locals>.A.__getattr__�rFrN)rrrr@rrrr�r=�s#������
�
�
�
�
rr�c��eZdZdS)�ATestCase.test_is_dataclass_when_getattr_always_returns.<locals>.BNrrrrrurB�r]rru)�objz'should be called on dataclass instancesrrh)	r�r9rarrFr{�asdictr��replace)r+r�rrur�rCs      r�-test_is_dataclass_when_getattr_always_returnsz6TestCase.test_is_dataclass_when_getattr_always_returns�s���	�	�	�	�	�	�	�	�	
����a���)�)�)�
�A�C�C��	�	�	�	�	�	�	�	�
�A�C�C��!#����a�4�
	&�
	&�C����#��&�&�	
&�	
&�� � ��c�!2�!2�3�3�3��+�+�I�7`�a�a� � ��3�K�K�K� � � � � � � � � � � ���� � � � ��+�+�I�7`�a�a�!�!��C�L�L�L�!�!�!�!�!�!�!�!�!�!�!����!�!�!�!��+�+�I�7`�a�a�&�&��C�1�%�%�%�%�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&�	
&����	
&�	
&�	
&�	
&��
	&�
	&s~�5>E,�3C�E,�C�E,�C�E,�5D�E,�D�E,�D�E,�7E�	E,�E�E,�E�E,�,E0	�3E0	c�b�tGd�dtj����}|�t	|����|t
t��}|�t	t|������|�t	|����dS)Nc�$�eZdZUeed<eed<dS)�2TestCase.test_is_dataclass_genericalias.<locals>.A�origin�argsN)rrrrVr9rrrr�rI�s"��������L�L�L��J�J�J�J�Jrr�)r&�types�GenericAliasrCr9r�r8rV�r+r�rs   r�test_is_dataclass_genericaliasz'TestCase.test_is_dataclass_genericalias�s���	�	�	�	�	�	��"�	�	�
��	�	
����Q���(�(�(�
�A�d�C�L�L������T�!�W�W�-�-�.�.�.�����Q���(�(�(�(�(rc	��tGd�d����}|�t|��t|dd������dS)Nc�$�eZdZUeed<eed<dS)�:TestCase.test_helper_fields_with_class_instance.<locals>.Cr6rmN)rrrr8r9rrrrr#rR�s"��������F�F�F��H�H�H�H�Hrr#rgr�r�s  r�&test_helper_fields_with_class_instancez/TestCase.test_helper_fields_with_class_instance�sl��
�	�	�	�	�	�	�	�
��	�	
�������F�1�1�Q��9�9�$5�$5�6�6�6�6�6rc��|�td��5td��ddd��n#1swxYwYGd�d��}|�td��5t|��ddd��n#1swxYwY|�td��5t|����ddd��dS#1swxYwYdS)Nzdataclass type or instancerc��eZdZdS)�0TestCase.test_helper_fields_exception.<locals>.CNrrrrr#rV�rrr#)rFr{r)r�s  r�test_helper_fields_exceptionz%TestCase.test_helper_fields_exception�s����
#�
#�I�/K�
L�
L�	�	��1�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�
�
�
�
�
�
�
�
�
#�
#�I�/K�
L�
L�	�	��1�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/K�
L�
L�	�	��1�1�3�3�K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s0�8�<�<�+B�B�B�-C�C�Cc�2�tj��}	tt��n-#t$r }tj||���Yd}~nd}~wwxYw|���}|�d|��|�d|��dS)N)�filer'ra)	�io�StringIOr)r�r{�	traceback�print_exception�getvaluerd)r+�stdout�exc�printed_tracebacks    r�*test_clean_traceback_from_fields_exceptionz3TestCase.test_clean_traceback_from_fields_exception�s��������	8��6�N�N�N�N���	8�	8�	8��%�c��7�7�7�7�7�7�7�7�7�����	8����"�O�O�-�-�����)�+<�=�=�=����/�1B�C�C�C�C�Cs�*�
A�A�Ac�"�tGd�d����}|dd��}|�t|��ddd���|�t|��t|����|�t|��t|����d|_|�t|��ddd���|�t
t|����t��dS)Nc�$�eZdZUeed<eed<dS)�&TestCase.test_helper_asdict.<locals>.Cr6rmNr7rrrr#re�r.rr#rAr1r�r;)r&r'rDr�r6rqrVr�r�s   r�test_helper_asdictzTestCase.test_helper_asdict�s���	�	�	�	�	�	�	�	�
��	�
�A�a��G�G���������!�!�$4�$4�5�5�5��������F�1�I�I�.�.�.��������F�1�I�I�.�.�.�����������"�1�$5�$5�6�6�6��
�
�d�6�!�9�9�o�o�t�,�,�,�,�,rc�N�tGd�d����}|�td��5t|��ddd��n#1swxYwY|�td��5tt��ddd��dS#1swxYwYdS)Nc�$�eZdZUeed<eed<dS)�8TestCase.test_helper_asdict_raises_on_classes.<locals>.Cr6rmNr7rrrr#ri�r.rr#�dataclass instance)r&rFr{rDr8r�s  r�$test_helper_asdict_raises_on_classesz-TestCase.test_helper_asdict_raises_on_classes�s3��	�	�	�	�	�	�	�	�
��	��
#�
#�I�/C�
D�
D�	�	��1�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/C�
D�
D�	�	��3�K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�#�A�A�A�8B�B�!Bc��tGd�d����}g}|d|��}t|��}|�|d|��|�|d|��|d��}t|��}|d�d��|�|jg��dS)Nc�H�eZdZUeed<ee���Zeeed<dS)�2TestCase.test_helper_asdict_copy_values.<locals>.Cr6r:rmN�	rrrr8r9rEr�rmrrrrr#ro�<��������F�F�F� �5��6�6�6�A�t�C�y�6�6�6�6�6rr#rArm)r&rDr'r��appendrm)r+r#�initialr�r�s     r�test_helper_asdict_copy_valuesz'TestCase.test_helper_asdict_copy_valuess���	�	7�	7�	7�	7�	7�	7�	7�
��	7���
�A�a��M�M���1�I�I������3���)�)�)�����3���)�)�)�
�A�a�D�D���1�I�I��	�#��
�
�a���������b�!�!�!�!�!rc���tGd�d�����tG�fd�d����}|d�dd����}t|��}|�|dddd�d	���|�t|��t|����d
|j_|�t|��ddd
d�d	���dS)Nc�$�eZdZUeed<eed<dS)�2TestCase.test_helper_asdict_nested.<locals>.UserId�token�groupNr7rrr�UserIdrw�"��������J�J�J��J�J�J�J�Jrrzc�&��eZdZUeed<�ed<dS)�0TestCase.test_helper_asdict_nested.<locals>.UserrNrMNr��rzs�r�Userr}�#���������I�I�I��J�J�J�J�Jrr�Joe�{rA)rxry�rNrMr1)r&rDr'r�rMry)r+r�ur�rzs    @r�test_helper_asdict_nestedz"TestCase.test_helper_asdict_nesteds4���	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�	�	�
��	�
�D����s�A���'�'���1�I�I������U�C�!�2L�2L�M�M�N�N�N��������F�1�I�I�.�.�.����
��������U�58�1�+E�+E�%G�%G�	H�	H�	H�	H�	Hrc��	�tGd�d�����	tG�	fd�d����}tG�	fd�d����}tG�	fd�d����}�	d	d
��}�	dd��}|d
||g��}|d
||f��}|d
||d���}|�t|��d
d	d
d�ddd�gd���|�t|��d
d	d
d�ddd�fd���|�t|��d
d	d
d�ddd�d�d���dS)Nc�$�eZdZUeed<eed<dS)�<TestCase.test_helper_asdict_builtin_containers.<locals>.UserrNrMN�rrrr�r9r8rrrrr�&�"��������I�I�I��G�G�G�G�Grrc�2��eZdZUeed<e�ed<dS)�ATestCase.test_helper_asdict_builtin_containers.<locals>.GroupListrM�usersN�rrrr8r9r�rs�r�	GroupListr�*�,���������G�G�G���:�����rr�c�6��eZdZUeed<e�dfed<dS)�BTestCase.test_helper_asdict_builtin_containers.<locals>.GroupTuplerM.r�N�rrrr8r9r	r�s�r�
GroupTupler�.�1���������G�G�G���s��#�#�#�#�#�#rr�c�6��eZdZUeed<ee�fed<dS)�ATestCase.test_helper_asdict_builtin_containers.<locals>.GroupDictrMr�N�rrrr8r9r
r�r�s�r�	GroupDictr�2�0���������G�G�G���T�	�?�"�"�"�"�"rr��AlicerA�Bobr1r�r��secondr�)rMr��r&r'rD�
r+r�r�r�rr��gl�gt�gdrs
         @r�%test_helper_asdict_builtin_containersz.TestCase.test_helper_asdict_builtin_containers%sN���	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�	�	�
��	�
�	$�	$�	$�	$�	$�	$�	$�	$�	$�
��	$�
�	#�	#�	#�	#�	#�	#�	#�	#�	#�
��	#�
�D��!�����D���N�N��
�Y�q�1�a�&�
!�
!��
�Z��A�q�6�
"�
"��
�Y�q�A��3�3�
4�
4���������A�'�QR�9S�9S�BG�q�9Q�9Q�9S�&T�&T�	U�	U�	U��������A�'�QR�9S�9S�BG�q�9Q�9Q�9S�&T�&T�	U�	U�	U��������A�7�Z[�B\�B\�LQ�YZ�C[�C[�9]�9]�&^�&^�	_�	_�	_�	_�	_rc
�d��tGd�d�����tG�fd�d����}|�t|�dg������dddgii��|�t|�ddi������ddddiii��dS)	Nc��eZdZUeed<dS)�DTestCase.test_helper_asdict_builtin_object_containers.<locals>.Childr�N�rrrr�r9rrr�Childr�C���������I�I�I�I�Irr�c���eZdZU�ed<dS)�ETestCase.test_helper_asdict_builtin_object_containers.<locals>.Parent�childNr��r�s�r�Parentr�G����������L�L�L�L�Lrr�rAr�r�r1r��r+r�r�s  @r�,test_helper_asdict_builtin_object_containersz5TestCase.test_helper_asdict_builtin_object_containersBs����	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�	�	�
��	�	
������u�u�a�S�z�z� 2� 2�3�3�g��a�S�z�5J�K�K�K�������u�u�a��V�}�}� 5� 5�6�6��3��A��-�8P�Q�Q�Q�Q�Qrc���tGd�d����}|dd��}t|t���}|�|tddg����|�|t|t�����d|_t|t���}|�|td	dg����|�t|��t��dS)
Nc�$�eZdZUeed<eed<dS)�.TestCase.test_helper_asdict_factory.<locals>.Cr6rmNr7rrrr#r�Or.rr#rAr1��dict_factory)r6rA)rmr1r;)r6r;)r&rDrr'r�r6rqrV�r+r#r�r�s    r�test_helper_asdict_factoryz#TestCase.test_helper_asdict_factoryNs���	�	�	�	�	�	�	�	�
��	�
�A�a��G�G���1�;�/�/�/������K��8�(<�=�=�>�>�>�����F�1�;�?�?�?�@�@�@�����1�;�/�/�/������K��H�(=�>�>�?�?�?��
�
�d�1�g�g�{�+�+�+�+�+rc���tdd���tG�fd�d����}|d�d|d�dd	d
����d����}t|��}|�|d�dd�dd	d
��d�d��d���t|t�
��}|�|d�dd�dd	d
��d�d��d���|�t
|��t��|�t
|dd��t��dS)N�T�a b cc�&��eZdZUeed<�ed<dS)�1TestCase.test_helper_asdict_namedtuple.<locals>.Cr6rmNr��r�s�rr#r�^�#���������F�F�F��D�D�D�D�Drr#�outerrA�innerr���
r1r�r�rm)rr&rDr'rrqrV)r+r#r�r�r�s    @r�test_helper_asdict_namedtuplez&TestCase.test_helper_asdict_namedtuple\s�����s�G�$�$��	�	�	�	�	�	�	�	�	�	�
��	�
�A�g�q�q��A�A�g�q�q��R��}�}�5�5�q�9�9�:�:���1�I�I������'�"#�!�A�*1�*+�!�B��B�-�-�%9�%9�$%�#'�#'���	�	�	�
�1�;�/�/�/������'�"#�!�A�*1�*+�!�B��B�-�-�%9�%9�$%�#'�#'���	�	�	�	
�
�
�d�1�g�g�{�+�+�+��
�
�d�1�S�6�!�9�o�o�{�3�3�3�3�3rc���tGd�d����}tdd��}||d��di��}|�t|��d|d���dii��dS)	Nc��eZdZUeed<dS)�5TestCase.test_helper_asdict_namedtuple_key.<locals>.Cr�N)rrrr�r9rrrr#r��s��������G�G�G�G�Grr#r�rzan arr��r)r&rr'rD)r+r#r�r�s    r�!test_helper_asdict_namedtuple_keyz*TestCase.test_helper_asdict_namedtuple_key}s���
�	�	�	�	�	�	�	�
��	��s�C� � ��
�A�q�q��y�y�!�n�����������S�1�1�v�;�;�;��*:�$;�<�<�<�<�<rc���Gd�dtdd�����tG�fd�d����}�d��}||��}t|��}|�|d�d�	��i��|�|d|��|�|d���d��dS)
Nc��eZdZd�ZdS)�9TestCase.test_helper_asdict_namedtuple_derived.<locals>.Tc��|jSr�r�r�s r�my_az>TestCase.test_helper_asdict_namedtuple_derived.<locals>.T.my_a��	���v�
rN)rrrr�rrrr�r���#������
�
�
�
�
rr��Tbaserc���eZdZU�ed<dS)�9TestCase.test_helper_asdict_namedtuple_derived.<locals>.Cr�Nr�r�s�rr#r������������D�D�D�D�Drr#rr�r�)rr&rDr'r�r�)r+r#r�r�r�r�s     @r�%test_helper_asdict_namedtuple_derivedz.TestCase.test_helper_asdict_namedtuple_derived�s���	�	�	�	�	�
�7�C�(�(�	�	�	�
�	�	�	�	�	�	�	�	�	�
��	�
�A�a�D�D��
�A�a�D�D���1�I�I������S�!�!�a�&�&�&�M�*�*�*�����3���#�#�#�����3�������*�*�*�*�*rc��tGd�d����}|d��}|�t|��d��|�t|��t|����|�t|��t|����d|_|�t|��d��|�t
t|����t��dS)Nc�(�eZdZUeed<dZeed<dS)�'TestCase.test_helper_astuple.<locals>.Cr6rrmNrnrrrr#r��rorr#rA)rArr;)rAr;)r&r'r�r�rmrqrVr�r�s   r�test_helper_astuplezTestCase.test_helper_astuple�s���	�	�	�	�	�	�	�	�
��	�
�A�a�D�D���������V�,�,�,��������W�Q�Z�Z�0�0�0��������W�Q�Z�Z�0�0�0�����������W�-�-�-��
�
�d�7�1�:�:�&�&��.�.�.�.�.rc�N�tGd�d����}|�td��5t|��ddd��n#1swxYwY|�td��5tt��ddd��dS#1swxYwYdS)Nc�$�eZdZUeed<eed<dS)�9TestCase.test_helper_astuple_raises_on_classes.<locals>.Cr6rmNr7rrrr#r��r.rr#rj)r&rFr{r�r8r�s  r�%test_helper_astuple_raises_on_classesz.TestCase.test_helper_astuple_raises_on_classes�s3��	�	�	�	�	�	�	�	�
��	��
#�
#�I�/C�
D�
D�	�	��A�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/C�
D�
D�	�	��C�L�L�L�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rlc��tGd�d����}g}|d|��}t|��}|�|d|��|�|d|��|d��}t|��}|d�d��|�|jg��dS)Nc�H�eZdZUeed<ee���Zeeed<dS)�3TestCase.test_helper_astuple_copy_values.<locals>.Cr6r:rmNrprrrr#r��rqrr#rA)r&r�r'r�rrrm)r+r#rsr�r�s     r�test_helper_astuple_copy_valuesz(TestCase.test_helper_astuple_copy_values�s���	�	7�	7�	7�	7�	7�	7�	7�
��	7���
�A�a��M�M���A�J�J������1��w�'�'�'�����1��w�'�'�'�
�A�a�D�D���A�J�J��	�!����A���������b�!�!�!�!�!rc���tGd�d�����tG�fd�d����}|d�dd����}t|��}|�|d��|�t|��t|����d	|j_|�t|��d
��dS)Nc�$�eZdZUeed<eed<dS)�3TestCase.test_helper_astuple_nested.<locals>.UserIdrxryNr7rrrrzr��r{rrzc�&��eZdZUeed<�ed<dS)�1TestCase.test_helper_astuple_nested.<locals>.UserrNrMNr�r~s�rrr��r�rrr�r�rA)r�)r�rAr1)r�)r�r1)r&r�r'r�rMry)r+rr�r�rzs    @r�test_helper_astuple_nestedz#TestCase.test_helper_astuple_nested�s���	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�	�	�
��	�
�D����s�A���'�'���A�J�J������-�.�.�.��������W�Q�Z�Z�0�0�0����
��������%6�7�7�7�7�7rc�N�	�tGd�d�����	tG�	fd�d����}tG�	fd�d����}tG�	fd�d����}�	d	d
��}�	dd��}|d
||g��}|d
||f��}|d
||d���}|�t|��d
ddgf��|�t|��d��|�t|��d
ddd�f��dS)Nc�$�eZdZUeed<eed<dS)�=TestCase.test_helper_astuple_builtin_containers.<locals>.UserrNrMNr�rrrrr��r�rrc�2��eZdZUeed<e�ed<dS)�BTestCase.test_helper_astuple_builtin_containers.<locals>.GroupListrMr�Nr�r�s�rr�r��r�rr�c�6��eZdZUeed<e�dfed<dS)�CTestCase.test_helper_astuple_builtin_containers.<locals>.GroupTuplerM.r�Nr�r�s�rr�r��r�rr�c�6��eZdZUeed<ee�fed<dS)�BTestCase.test_helper_astuple_builtin_containers.<locals>.GroupDictrMr�Nr�r�s�rr�r��r�rr�r�rAr�r1rr��r�rA�r�r1)r)r�r��r&r'r�r�s
         @r�&test_helper_astuple_builtin_containersz/TestCase.test_helper_astuple_builtin_containers�s����	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�	�	�
��	�
�	$�	$�	$�	$�	$�	$�	$�	$�	$�
��	$�
�	#�	#�	#�	#�	#�	#�	#�	#�	#�
��	#�
�D��!�����D���N�N��
�Y�q�1�a�&�
!�
!��
�Z��A�q�6�
"�
"��
�Y�q�A��3�3�
4�
4���������q�<��*D�&E�F�F�F��������&E�F�F�F��������q�L�J�*W�*W�&X�Y�Y�Y�Y�Yrc
�\��tGd�d�����tG�fd�d����}|�t|�dg������dgff��|�t|�ddi������ddiff��dS)Nc��eZdZUeed<dS)�ETestCase.test_helper_astuple_builtin_object_containers.<locals>.Childr�Nr�rrrr�r��r�rr�c���eZdZU�ed<dS)�FTestCase.test_helper_astuple_builtin_object_containers.<locals>.Parentr�Nr�r�s�rr�r��r�rr�rAr1r�r�s  @r�-test_helper_astuple_builtin_object_containersz6TestCase.test_helper_astuple_builtin_object_containers�s����	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�	�	�
��	�	
��������q�c�
�
�!3�!3�4�4���v�i�@�@�@���������q�!�f�
�
�!6�!6�7�7�A�q�6�)��F�F�F�F�Frc����tGd�d����}tdd����fd�}|dd��}t||���}|�|�dd����|�|t||�����d	|_t||���}|�|�d	d����|�t|�����dS)
Nc�$�eZdZUeed<eed<dS)�/TestCase.test_helper_astuple_factory.<locals>.Cr6rmNr7rrrr#r��r.rr#�NTzx yc����|�Sr�r)r�rs �r�ntz0TestCase.test_helper_astuple_factory.<locals>.nts����2�s�8�OrrAr1��
tuple_factoryr;)r&rr�r'r�r6rqrV)r+r#rr�r�rs     @r�test_helper_astuple_factoryz$TestCase.test_helper_astuple_factory�s���	�	�	�	�	�	�	�	�
��	���e�
$�
$��	�	�	�	�	�
�A�a��G�G���A�R�(�(�(������B�B�q�!�H�H�%�%�%�����G�A�R�8�8�8�9�9�9�����A�R�(�(�(������B�B�r�1�I�I�&�&�&��
�
�d�1�g�g�r�"�"�"�"�"rc���tdd���tG�fd�d����}|d�d|d�dd	d
����d����}t|��}|�|d�ddd��f��t|t�
��}|�|d�dd�dd	d
��gd��g��dS)Nr�r�c�&��eZdZUeed<�ed<dS)�2TestCase.test_helper_astuple_namedtuple.<locals>.Cr6rmNr�r�s�rr#rr�rr#r�rAr�r�r�r�r1)r�)r�r�r�r)rr&r�r'r�)r+r#r�r�r�s    @r�test_helper_astuple_namedtuplez'TestCase.test_helper_astuple_namedtuples����s�G�$�$��	�	�	�	�	�	�	�	�	�	�
��	�
�A�g�q�q��A�A�g�q�q��R��}�}�5�5�q�9�9�:�:���A�J�J������W�a�a��+B�A�&F�&F�G�H�H�H�
�A�T�*�*�*������W�a�a��G�Q�Q�r�2�r�]�]�+C�Q�&G�&G�H�I�I�I�I�Irc���dttd�i}tdd|��}t|��}|�||��|�t	|dd����ddd���dS)Nr9r�r#rrAr1)r8rVr&r'rD�r+�cls_dictr�cls1s    r�test_dynamic_class_creationz$TestCase.test_dynamic_class_creations���%�S�s�';�';����3��H�%�%����~�~������s�#�#�#�������A�q�	�	�*�*�!�!�,<�,<�=�=�=�=�=rc��ttd�td���d�}tdd|��}t|��}|�||��|�t|d����ddd���dS)Nr�r�rp)r9rmr#rrA)r8rErVr&r'rDrs    r�'test_dynamic_class_creation_using_fieldz0TestCase.test_dynamic_class_creation_using_field(s���-0�s�';�';��q�)�)�)����
�3��H�%�%����~�~������s�#�#�#�������Q�������*:�*:�;�;�;�;�;rc���tGd�d����}g��fd�}||_|dd��}|�d�d��|�d�d��|�dgf�d	��|�d
gf�d��|�d���|�d
�d��dS)Nc��eZdZUeed<e��Zeed<eed���Zeed<ee���Z	eed<edd�	��Z
eed
<dZeed<dS)
�&TestCase.test_init_in_order.<locals>.Crr�Fr�r�r:r�rr'r7r�N)rrrr8r9rEr�r�r�r�r7r�rrrr#r7s���������F�F�F��U�W�W�A�s�����e�D�u�=�=�=�A�t�=�=�=��e�D�1�1�1�A�t�1�1�1��U�1�5�1�1�1�A�s�1�1�1��A�s�J�J�J�J�Jrr#c�6����||f��dSr�)rr)r+rN�value�callss   �r�setattrz,TestCase.test_init_in_order.<locals>.setattrAs����L�L�$���'�'�'�'�'rrrA)rr)r�rAr�r1r�rp)r7r)r�rr)r&�__setattr__r'rd)r+r#rr�rs    @r�test_init_in_orderzTestCase.test_init_in_order6s���	�	�	�	�	�	�	�	�
��	���	(�	(�	(�	(�	(� ��
�
�A�a��G�G������5��8�,�,�,�����5��8�,�,�,����#�r��E�!�H�-�-�-����#�r��E�!�H�-�-�-�����5�)�)�)�����5��8�,�,�,�,�,rc��tGd�d����}|d��}|�d|j��|�d|j��|�d|j��|�d|j��|�|jd��|�d	|j��|�|jd��|�d|j��|�|jd��|�d|j��|�|jg��|�d|j��|�|j	g��|�d|j��|�d	|j��|�|jd��dS)
Nc��eZdZUeed<eed���Zeed<ee���Zeed<edd���Z	eed	<d
Z
eed<dS)
�'TestCase.test_items_in_dicts.<locals>.CrFr�r�r:r�rr'r�rr7N)rrrr8r9rEr�r�r�r�r7rrrr#rNs���������F�F�F��e�D�u�=�=�=�A�t�=�=�=��e�D�1�1�1�A�t�1�1�1��U�1�5�1�1�1�A�s�1�1�1��A�s�J�J�J�J�Jrr#rrr�r�r�rr7)
r&rdr�rWr'r�r7rr�r�r�s   r�test_items_in_dictszTestCase.test_items_in_dictsMs���	�	�	�	�	�	�	�	�
��	�
�A�a�D�D������a�j�)�)�)�����a�j�)�)�)�����a�j�)�)�)��
�
�c�1�:�&�&�&������a� � � ��
�
�c�1�:�&�&�&������a� � � ��
�
�c�1�:�&�&�&������a� � � ��
�
�c�1�:�&�&�&������b�!�!�!��
�
�c�1�:�&�&�&������b�!�!�!�����a�j�)�)�)��
�
�c�1�:�&�&�&������a� � � � � rc��tGd�d����}|�|�d��jd��dS)Nc�0�eZdZUeed<ed���ZdS)�:TestCase.test_alternate_classmethod_constructor.<locals>.Cr6c��d}||��S)Nryr)r�filename�
value_in_files   r�	from_filezDTestCase.test_alternate_classmethod_constructor.<locals>.C.from_fileqs��!#�
��s�=�)�)�)rN)rrrr8r9r�r$rrrr#r ns8��������F�F�F�
�
*�
*��[�
*�
*�
*rr#r"ry)r&r'r$r6r�s  r�&test_alternate_classmethod_constructorz/TestCase.test_alternate_classmethod_constructorjsc��
�	*�	*�	*�	*�	*�	*�	*�
��	*�	
������Z�0�0�2�B�7�7�7�7�7rc��tGd�d����}|�t|��dj��|�tt|��dj��d��|�td��5dt|��djd<ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�/TestCase.test_field_metadata_default.<locals>.Cr1Nr7rrrr#r(}r:rr#r� does not support item assignmentrp�test)r&r�r)�metadatar'r(rFr{r�s  r�test_field_metadata_defaultz$TestCase.test_field_metadata_defaultzs��
�	�	�	�	�	�	�	�
��	�	
�������1��.�/�/�/�����V�A�Y�Y�q�\�2�3�3�Q�7�7�7�
�
#�
#�I�$F�H�H�	.�	.�,-�F�1�I�I�a�L�!�&�)�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�C	�	C
�C
c�T��|�t��5tGd�d����}ddd��n#1swxYwYi�tG�fd�d����}|�t	|��dj��|�tt	|��dj��d��d�d<|�tt	|��dj��d��|�t	|��djdd��|�td��5dt	|��djd	<ddd��n#1swxYwYd
ddd
��tG�fd�d����}|�tt	|��dj��d��|�t	|��djd	d
��|�t	|��djdd��|�t	|��djdd��d�d<|�tt	|��dj��d��|�t	|��djdd��|�t��5t	|��djdddd��n#1swxYwY|�td��5dt	|��djd	<ddd��dS#1swxYwYdS)Nc�2�eZdZUed���Zeed<dS)�/TestCase.test_field_metadata_mapping.<locals>.Cr�r+r1N�rrrrEr1r8r9rrrr#r/�s/����������*�*�*��3�*�*�*�*�*rr#c�4��eZdZUe����Zeed<dS�r/r0r1Nr1�r�s�rr#z/TestCase.test_field_metadata_mapping.<locals>.C��0���������U�A�&�&�&�A�s�&�&�&�&�&rrrAr�r)rpr*r��42�three)r*rIrpc�4��eZdZUe����Zeed<dSr3r1r4s�rr#z/TestCase.test_field_metadata_mapping.<locals>.C�r5rrIr�baz)
rzr{r&r�r)r+r'r(rF�KeyError)r+r#r�s  @r�test_field_metadata_mappingz$TestCase.test_field_metadata_mapping�s{����
�
�y�
)�
)�	+�	+�
�
+�
+�
+�
+�
+�
+�
+��Y�
+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�
��	�	'�	'�	'�	'�	'�	'�	'�	'�	'�
��	'��������1��.�/�/�/�����V�A�Y�Y�q�\�2�3�3�Q�7�7�7���%������V�A�Y�Y�q�\�2�3�3�Q�7�7�7��������1��.�u�5�q�9�9�9�
�
#�
#�I�$F�H�H�	.�	.�,-�F�1�I�I�a�L�!�&�)�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
���1�1��	�	'�	'�	'�	'�	'�	'�	'�	'�	'�
��	'�����V�A�Y�Y�q�\�2�3�3�Q�7�7�7��������1��.�v�6��;�;�;��������1��.�u�5�t�<�<�<��������1��.�q�1�7�;�;�;���%������V�A�Y�Y�q�\�2�3�3�Q�7�7�7��������1��.�u�5�q�9�9�9�
�
�
�x�
(�
(�	)�	)��1�I�I�a�L�!�%�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)��
#�
#�I�$F�H�H�	.�	.�,-�F�1�I�I�a�L�!�&�)�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.sG�A�A�
A�#F
�
F�F�!M�M�M�2N�N!�$N!c�D��Gd�d���tG�fd�d����}|�tt|��dj��d��|�t|��djdd��|�t��5t|��djd	ddd��n#1swxYwY|�t|��djd
d��dS)Nc� �eZdZd�Zd�Zd�ZdS)�DTestCase.test_field_metadata_custom_mapping.<locals>.SimpleNameSpacec�:�|j�|��dSr�)r��update)r+�kws  rr�zMTestCase.test_field_metadata_custom_mapping.<locals>.SimpleNameSpace.__init__�s���
�$�$�R�(�(�(�(�(rc�2�|dkrdSt||��S)N�xyzzy�plugh)r�)r+�items  r�__getitem__zPTestCase.test_field_metadata_custom_mapping.<locals>.SimpleNameSpace.__getitem__�s ���7�?�?�"�7��t�T�*�*�*rc�4�|j���Sr�)r��__len__r�s rrHzLTestCase.test_field_metadata_custom_mapping.<locals>.SimpleNameSpace.__len__�s���}�,�,�.�.�.rN)rrrr�rFrHrrr�SimpleNameSpacer>�sA������
)�
)�
)�
+�
+�
+�

/�
/�
/�
/�
/rrIc�H��eZdZUe�d������Zeed<dS)�6TestCase.test_field_metadata_custom_mapping.<locals>.Cr�r�r0r1Nr1)rIs�rr#rK�s=���������U�O�O�b�$9�$9�$9�:�:�:�A�s�:�:�:�:�:rr#rrArr�r�rCrD)r&r'r(r)r+rzr')r+r#rIs  @r�"test_field_metadata_custom_mappingz+TestCase.test_field_metadata_custom_mapping�so���
	/�
	/�
	/�
	/�
	/�
	/�
	/�
	/�
�	;�	;�	;�	;�	;�	;�	;�	;�	;�
��	;�	
����V�A�Y�Y�q�\�2�3�3�Q�7�7�7��������1��.�s�3�R�8�8�8�
�
�
�~�
.�
.�	'�	'��1�I�I�a�L�!�#�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
�������1��.�w�7��A�A�A�A�As�4!C!�!C%�(C%c�(��td���tG�fd�dt�����}|d��}|�|jd��|�|jd��t|t}dS)Nr�c�*��eZdZU�ed<dZeed<dS)�5TestCase.test_generic_dataclasses.<locals>.LabeledBox�content�	<unknown>�labelN)rrrr9rRr�r�s�r�
LabeledBoxrO�s,���������J�J�J�$�E�3�$�$�$�$�$rrSr;rQ)rr&rr'rPrRrr8)r+rS�box�Aliasr�s    @r�test_generic_dataclassesz!TestCase.test_generic_dataclasses�s�����C�L�L��	�	%�	%�	%�	%�	%�	%�	%����	%�	%�
��	%��j��n�n�������b�)�)�)������K�0�0�0��Z��_�%���rc����td���td���tG��fd�dt��f����}tGd�d|t�f����}|t}|ddd	��}|�t
|��d
��Gd�d|t�f��}|t}|d
d��}|�|���d��dS)N�Sr�c�&��eZdZU�ed<�ed<dS)�-TestCase.test_generic_extending.<locals>.Baser6rmNr�)rXr�s��rr�rZ�s#���������D�D�D��D�D�D�D�Drr�c��eZdZUeed<dS)�4TestCase.test_generic_extending.<locals>.DataDerived�	new_fieldNr�rrr�DataDerivedr\�s��������N�N�N�N�Nrr^r�test1�test2)rr_r`c��eZdZd�ZdS)�7TestCase.test_generic_extending.<locals>.NonDataDerivedc��|jSr��rmr�s r�
new_methodzBTestCase.test_generic_extending.<locals>.NonDataDerived.new_method�r�rN)rrrrerrr�NonDataDerivedrb�r�rrfr���?)	rr&rr8r�r'r�rre)r+r�r^rUr�rfrXr�s      @@r�test_generic_extendingzTestCase.test_generic_extending�sN�����C�L�L���C�L�L��	�	�	�	�	�	�	�	�	�7�1�a�4�=�	�	�
��	�
�	�	�	�	�	�$�s�A�v�,�	�	�
��	��C� ���E�!�W�g�&�&���������%:�;�;�;�	�	�	�	�	�T�#�q�&�\�	�	�	��u�%���E�"�c�N�N�����������-�-�-�-�-rc����td���tG�fd�dt�����}tdd�fdt�dfg|t
t�fddi�	��}|�|t
d
d��jd��|�|t
d
dd��jd��|�|t
d
dd��j	d��|�}|�|t
d
d��j
d
��|�|j||ttf��dS)
Nr�c���eZdZU�ed<dS)�-TestCase.test_generic_dynamic.<locals>.Parentr6Nr�r�s�rr�rk�r�rr�r�rmr�r�r;)�bases�	namespacerAr1rp)
rr&rr�r
r8rqr�r'r�r6�__mro__r�)r+r�r�rUr�s    @r�test_generic_dynamiczTestCase.test_generic_dynamic�sl����C�L�L��	�	�	�	�	�	�	�	�W�Q�Z�	�	�
��	��w�#�q��C��!��d�3K�(L�&,�S�k�7�1�:�%>�7�TV�-�Y�Y�Y���
�
�j�e�C�j��A�&�&�(�$�/�/�/������s��A�q�!�,�,�.��2�2�2������s��A�q�!�,�,�2�B�7�7�7��a��������s��A�q�)�)�+�Q�/�/�/����������(H�I�I�I�I�Irc
���tGd�d����atGd�d����atGd�d����atd��}d|_td��tdd��td��|td��tdgd	���g}|D�]>}ttjdz��D�]}|�||�
��5t
j	t
j
||����}|�|j|j��|�|j|j��|�
||��d|_t
j	t
j
||����}|�|j|j��|�|j|j��ddd��n#1swxYwY����@dS)Nc�(�eZdZUeed<dZeed<dS)�Pr6rrmNrnrrrrrrrrorrrc�>�eZdZUeed<edd���Zeed<dS)�Qr6rFr'rmN�rrrr8r9rErmrrrrtrts:��������F�F�F��U�1�5�1�1�1�A�s�1�1�1�1�1rrtc�H�eZdZUeed<ee���Zeeed<dS)�Rr6r:rmNrprrrrwrwrqrrwrAr1)r1rpr)�sample�protor;)r&rrrtrwrm�range�pickle�HIGHEST_PROTOCOLr�loads�dumpsr'r6r�)r+�q�samplesrxry�
new_sample�another_new_samples       r�test_dataclasses_pickleablez$TestCase.test_dataclasses_pickleablesi��	�	�	�	�	�	�	�	�
��	�
�	2�	2�	2�	2�	2�	2�	2�
��	2�
�	7�	7�	7�	7�	7�	7�	7�
��	7�
�a�D�D������Q�4�4��1�a���!�A�$�$��1�Q�4�4��1�i�i�i���A���
	E�
	E�F��v�6��:�;�;�	
E�	
E���\�\��u�\�=�=�E�E�!'��f�l�6�5�.I�.I�!J�!J�J��$�$�V�X�z�|�<�<�<��$�$�V�X�z�|�<�<�<��$�$�V�Z�8�8�8�#%�J�L�)/��f�l�:�u�6U�6U�)V�)V�&��$�$�Z�\�3E�3G�H�H�H��$�$�V�X�/A�/C�D�D�D�E�E�E�E�E�E�E�E�E�E�E����E�E�E�E��	
E�
	E�
	Es�-C,G%�%G)�,G)c�n�tddd���Gd�d����}|�|jjd��dD].}|�t	||��jd|�����/|�td��5|��ddd��dS#1swxYwYdS)	NT)rr�rc�$�eZdZUeed<eed<dS)�.TestCase.test_dataclasses_qualnames.<locals>.Ar6rmNr7rrrr�r� r.rr�r�)
r�r_r`rarbr�r��__repr__r�__delattr__z/TestCase.test_dataclasses_qualnames.<locals>.A.zA\.__init__\(\) missing)r&r'r�rr�rrFr{)r+r��functions   r�test_dataclasses_qualnamesz#TestCase.test_dataclasses_qualnamess,��	��4��	=�	=�	=�	�	�	�	�	�	�	�
>�	=�	�	
�����,�j�9�9�9�
�	~�	~�H�
���W�Q��1�1�>�@|�rz�@|�@|�}�}�}�}�
�
#�
#�I�/I�
J�
J�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�B*�*B.�1B.N)hrrrr-r2r=rIrSrYrcrir|r�r�r�r�r�r�r�r�rr*rDrRrfrlrrr{r�r�r�r�r�r�r�r�r�r�r�rr,r5r=r?rKrcrurr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr(r-r:rFrOrSrWrbrfrkrtr�r�r�r�r�r�r�r�r�r�r�r�r�rr	rrrrr%r,r;rLrVrhror�r�rrrrrs=������,�,�,�,�,�,�"�"�"�?�?�?�7�7�7�1�1�1�G�G�G�"�"�"�*�*�*�X3�3�3�jq�q�q�,(�(�(�,*�*�*�*�*�*�(�(�(�5�5�5�"5�5�5�$*�*�*�8,�,�,�B46�46�46�l#�#�#�2&C�&C�&C�P
�
�
�&�&�&�"P�P�P� 	0�	0�	0�$�$�$�4?�?�?�4@�@�@�&-�-�-�B")�")�")�H#�#�#� +2�+2�+2�Z"�"�"�*&�&�&�
2�
2�
2�;�;�;�>D�D�D�L*�*�*�**�*�*�,<�<�<�&�&�&�-�-�-�^���>��� 
 �
 �
 �9$�9$�9$�v$�$�$�8*�*�*�	.�	.�	.�
"�
"�
"�$�$�$�6*�*�*�	.�	.�	.�
"�
"�
"�"�"�"�
;�
;�
;�7�7�7�47&�7&�7&�r0�0�0�0�0�0�"&�&�&�&-�-�-�:>�>�>�,�,�,�6&�&�&�4)�)�)�7�7�7�
�
�
�D�D�D�
-�
-�
-�	�	�	�
"�
"�
"�H�H�H�"_�_�_�:
R�
R�
R�,�,�,�4�4�4�B=�=�=�+�+�+�$
/�
/�
/�	�	�	�
"�
"�
"�8�8�8� Z�Z�Z�4
G�
G�
G�#�#�#�"
J�
J�
J�>�>�>�<�<�<�-�-�-�.!�!�!�:8�8�8� .�.�.�).�).�).�VB�B�B�2
&�
&�
&�.�.�.�.J�J�J�"E�E�E�:����rrc� �eZdZd�Zd�Zd�ZdS)�TestFieldNoAnnotationc��|�td��5tGd�d����}ddd��dS#1swxYwYdS)N�)'f' is a field but has no type annotationc�"�eZdZe��ZdS)�>TestFieldNoAnnotation.test_field_without_annotation.<locals>.CN�rrrrEr�rrrr#r�<��������E�G�G���rr#r,r�s  r�test_field_without_annotationz3TestFieldNoAnnotation.test_field_without_annotation9s���
�
#�
#�I�$O�Q�Q�	�	�
�
�
�
�
�
�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r.c���tGd�d����}|�td��5tGd�d|����}ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�UTestFieldNoAnnotation.test_field_without_annotation_but_annotation_in_base.<locals>.Br�Nr7rrrrur�Ar:rrur�c�"�eZdZe��ZdS)�UTestFieldNoAnnotation.test_field_without_annotation_but_annotation_in_base.<locals>.CNr�rrrr#r�Ir�rr#�r&rFr{rts   r�4test_field_without_annotation_but_annotation_in_basezJTestFieldNoAnnotation.test_field_without_annotation_but_annotation_in_base@s���	�	�	�	�	�	�	�	�
��	��
#�
#�I�$O�Q�Q�	�	��
�
�
�
�
�A�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A#�&A#c��Gd�d��}|�td��5tGd�d|����}ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�cTestFieldNoAnnotation.test_field_without_annotation_but_annotation_in_base_not_dataclass.<locals>.Br�Nr7rrrrur�Or"rrur�c�"�eZdZe��ZdS)�cTestFieldNoAnnotation.test_field_without_annotation_but_annotation_in_base_not_dataclass.<locals>.CNr�rrrr#r�Vr�rr#r,rts   r�Btest_field_without_annotation_but_annotation_in_base_not_dataclasszXTestFieldNoAnnotation.test_field_without_annotation_but_annotation_in_base_not_dataclassMs���	�	�	�	�	�	�	�	��
#�
#�I�$O�Q�Q�	�	��
�
�
�
�
�A�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�AN)rrrr�r�r�rrrr�r�8sA����������������rr�c�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�
TestDocStringc��|�|�dd��|�dd����dS)N� �)r'rE)r+rr�s   r�assertDocStrEqualzTestDocString.assertDocStrEqual\s<��	
������3��+�+�Q�Y�Y�s�B�-?�-?�@�@�@�@�@rc�p�tGd�d����}|�|jd��dS)Nc��eZdZUdZeed<dS)�?TestDocString.test_existing_docstring_not_overridden.<locals>.C�Lorem ipsumr6N)rrr�__doc__r8r9rrrr#r�cs����������F�F�F�F�Frr#r�)r&r'r�r�s  r�&test_existing_docstring_not_overriddenz4TestDocString.test_existing_docstring_not_overriddenbsT��	�	�	�	�	�	�	�	�
��	�	
�����M�2�2�2�2�2rc�p�tGd�d����}|�|jd��dS)Nc��eZdZdS)�1TestDocString.test_docstring_no_fields.<locals>.CNrrrrr#r�kr$rr#zC()�r&r�r�r�s  r�test_docstring_no_fieldsz&TestDocString.test_docstring_no_fieldsjsT��	�	�	�	�	�	�	�	�
��	�	
���q�y�%�0�0�0�0�0rc�p�tGd�d����}|�|jd��dS)Nc��eZdZUeed<dS)�1TestDocString.test_docstring_one_field.<locals>.Cr6Nr7rrrr#r�rr:rr#zC(x:int)r�r�s  r�test_docstring_one_fieldz&TestDocString.test_docstring_one_fieldqsT��	�	�	�	�	�	�	�	�
��	�	
���q�y�*�5�5�5�5�5rc�p�tGd�d����}|�|jd��dS)Nc�$�eZdZUeed<eed<dS)�2TestDocString.test_docstring_two_fields.<locals>.Cr6rmNr7rrrr#r�yr.rr#zC(x:int, y:int)r�r�s  r�test_docstring_two_fieldsz'TestDocString.test_docstring_two_fieldsxsU��	�	�	�	�	�	�	�	�
��	�	
���q�y�*;�<�<�<�<�<rc�p�tGd�d����}|�|jd��dS)Nc�.�eZdZUeed<eed<eed<dS)�4TestDocString.test_docstring_three_fields.<locals>.Cr6rmr�N�rrrr8r9r�rrrr#r��rrr#zC(x:int, y:int, z:str)r�r�s  r�test_docstring_three_fieldsz)TestDocString.test_docstring_three_fields�sU��	�	�	�	�	�	�	�	�
��	�
	
���q�y�*B�C�C�C�C�Crc�p�tGd�d����}|�|jd��dS)Nc��eZdZUdZeed<dS)�>TestDocString.test_docstring_one_field_with_default.<locals>.Crpr6Nrrrrrr#r��rrr#z
C(x:int=3)r�r�s  r�%test_docstring_one_field_with_defaultz3TestDocString.test_docstring_one_field_with_default�sT��	�	�	�	�	�	�	�	�
��	�	
���q�y�,�7�7�7�7�7rc�p�tGd�d����}|�|jd��dS)Nc�@�eZdZUdZeeed��fed<dS)�CTestDocString.test_docstring_one_field_with_default_none.<locals>.CNr6)rrrr6rr8rVr9rrrr#r��s3�������(,�A�u�S�$�$�t�*�*�_�%�,�,�,�,�,rr#zC(x:Optional[int]=None)r�r�s  r�*test_docstring_one_field_with_default_nonez8TestDocString.test_docstring_one_field_with_default_none�sU��	�	-�	-�	-�	-�	-�	-�	-�
��	-�	
���q�y�*C�D�D�D�D�Drc�p�tGd�d����}|�|jd��dS)Nc�&�eZdZUeeed<dS)�2TestDocString.test_docstring_list_field.<locals>.Cr6N)rrrrr8r9rrrr#r��s��������C�y�L�L�L�L�Lrr#zC(x:List[int])r�r�s  r�test_docstring_list_fieldz'TestDocString.test_docstring_list_field�sU��	�	�	�	�	�	�	�	�
��	�	
���q�y�*:�;�;�;�;�;rc�p�tGd�d����}|�|jd��dS)Nc�>�eZdZUee���Zeeed<dS)�GTestDocString.test_docstring_list_field_with_default_factory.<locals>.Cr:r6N)	rrrrEr�r6rr8r9rrrr#r��s3������� �5��6�6�6�A�t�C�y�6�6�6�6�6rr#zC(x:List[int]=<factory>)r�r�s  r�.test_docstring_list_field_with_default_factoryz<TestDocString.test_docstring_list_field_with_default_factory�sU��	�	7�	7�	7�	7�	7�	7�	7�
��	7�	
���q�y�*D�E�E�E�E�Erc�p�tGd�d����}|�|jd��dS)Nc��eZdZUeed<dS)�3TestDocString.test_docstring_deque_field.<locals>.Cr6N)rrrrr9rrrr#r��s��������H�H�H�H�Hrr#zC(x:collections.deque)r�r�s  r�test_docstring_deque_fieldz(TestDocString.test_docstring_deque_field�sU��	�	�	�	�	�	�	�	�
��	�	
���q�y�*B�C�C�C�C�Crc�p�tGd�d����}|�|jd��dS)Nc�2�eZdZUee���Zeed<dS)�HTestDocString.test_docstring_deque_field_with_default_factory.<locals>.Cr:r6N)rrrrErr6r9rrrr#r��s/��������u�U�3�3�3�A�u�3�3�3�3�3rr#z C(x:collections.deque=<factory>)r�r�s  r�/test_docstring_deque_field_with_default_factoryz=TestDocString.test_docstring_deque_field_with_default_factory�sU��	�	4�	4�	4�	4�	4�	4�	4�
��	4�	
���q�y�*L�M�M�M�M�MrN)rrrr�r�r�r�r�r�r�r�r�r�r�r�rrrr�r�[s�������A�A�A�3�3�3�1�1�1�6�6�6�=�=�=�D�D�D�8�8�8�E�E�E�<�<�<�F�F�F�D�D�D�N�N�N�N�Nrr�c�&�eZdZd�Zd�Zd�Zd�ZdS)�TestInitc��Gd�d��}tGd�d|����}|d��}|�|jd��|�dt	|����td���Gd	�d|����}|��}|�|jd��|�|jd
��dS)Nc��eZdZd�ZdS)�&TestInit.test_base_has_init.<locals>.Bc��d|_dS�Nr��r�r�s rr�z/TestInit.test_base_has_init.<locals>.B.__init__�s������rNr�rrrrur��s#������
�
�
�
�
rruc��eZdZUdZeed<dS)�&TestInit.test_base_has_init.<locals>.Crr6Nrrrrrr#r��rrr#r�r�Fr�c��eZdZUdZeed<dS)r�r�r6Nrrrrrr#z&TestInit.test_base_has_init.<locals>.C����������A�s�K�K�K�K�Krr�)r&r'r6rdr�r�)r+rur#r�s    r�test_base_has_initzTestInit.test_base_has_init�s$��	�	�	�	�	�	�	�	�
�	�	�	�	�	��	�	�
��	�
�A�b�E�E�������b�!�!�!�����d�1�g�g�&�&�&�
��	�	�	�	�	�	�	�	��	�	�
�	�	�
�A�C�C�������b�!�!�!������c�"�"�"�"�"rc��td���Gd�d����}|�|��jd��td���Gd�d����}|�|��jd��dS)NFr�c��eZdZUdZeed<dS)� TestInit.test_no_init.<locals>.Crr1N)rrrr1r8r9rrrr#r��rrr#rc�$�eZdZUdZeed<d�ZdS)r�r1r1c��d|_dS�Nrp�r1r�s rr�z)TestInit.test_no_init.<locals>.C.__init__�rkrN)rrrr1r8r9r�rrrr#z TestInit.test_no_init.<locals>.C�s2��������A�s�J�J�J�
�
�
�
�
rrp�r&r'r1r�s  r�test_no_initzTestInit.test_no_init�s���	��	�	�	�	�	�	�	�	�	�	�
�	�	����������"�"�"�	��	�	�	�	�	�	�	�	�	�	�
�	�	�	
���������"�"�"�"�"rc��tGd�d����}|�|d��jd��td���Gd�d����}|�|d��jd	��td
���Gd�d����}|�|d��jd
��dS)Nc� �eZdZUeed<d�ZdS)�)TestInit.test_overwriting_init.<locals>.Cr6c��d|z|_dSr\rh�r+r6s  rr�z2TestInit.test_overwriting_init.<locals>.C.__init__�����Q�����rN�rrrr8r9r�rrrr#r���.��������F�F�F�
�
�
�
�
rr#rprTr�c� �eZdZUeed<d�ZdS)r�r6c��d|z|_dSr\rhr�s  rr�z2TestInit.test_overwriting_init.<locals>.C.__init__�r�rNr�rrrr#z)TestInit.test_overwriting_init.<locals>.C�r�rr�Fc� �eZdZUeed<d�ZdS)r�r6c��d|z|_dSr\rhr�s  rr�z2TestInit.test_overwriting_init.<locals>.C.__init__�r�rNr�rrrr#z)TestInit.test_overwriting_init.<locals>.C�r�rr�r�r<r�s  r�test_overwriting_initzTestInit.test_overwriting_init�s��
�	�	�	�	�	�	�	�
��	�	
�����1�����#�#�#�	��	�	�	�	�	�	�	�	�	�	�
�	�	�	
�����1�����#�#�#�	��	�	�	�	�	�	�	�	�	�	�
�	�	�	
�����1�����$�$�$�$�$rc�(�Gd�dt��}tGd�d|����}|�|d��jd��tGd�d|����}|�|d��jd��dS)	Nc��eZdZUeed<dS)�.TestInit.test_inherit_from_protocol.<locals>.PrNr7rrrrrr��r"rrrc��eZdZUeed<dS)�.TestInit.test_inherit_from_protocol.<locals>.CrNr7rrrr#r��r:rr#r�c��eZdZd�ZdS)�.TestInit.test_inherit_from_protocol.<locals>.Dc��|dz|_dSr\r�)r+rs  rr�z7TestInit.test_inherit_from_protocol.<locals>.D.__init__	r�rNr�rrrr`r	s#������
�
�
�
�
rr`r�)rr&r'r)r+rrr#r`s    r�test_inherit_from_protocolz#TestInit.test_inherit_from_protocol�s���	�	�	�	�	��	�	�	�
�	�	�	�	�	��	�	�
��	�	
�����1�����#�#�#�	�	�	�	�	�	��	�	�
��	�	
�����1�����$�$�$�$�$rN)rrrr�r�r�rrrrr�r��sP������#�#�#�4#�#�#�%�%�%�2%�%�%�%�%rr�c� �eZdZd�Zd�Zd�ZdS)�TestReprc�b�tGd�d����}tGd�d|����}|d��}|�t|��d��tGd�d|����}|�t|����d	��tGd
�d����}|�t|�d����d��|�t|�����d
��dS)Nc��eZdZUeed<dS)�TestRepr.test_repr.<locals>.Br6Nr7rrrrur	r:rruc��eZdZUdZeed<dS)�TestRepr.test_repr.<locals>.Cr�rmNrrrrr#r
	r�rr#rz(TestRepr.test_repr.<locals>.C(x=4, y=10)c��eZdZUdZeed<dS)�TestRepr.test_repr.<locals>.Dryr6Nrrrrrr`r	r�rr`z)TestRepr.test_repr.<locals>.D(x=20, y=10)c�b�eZdZeGd�d����ZeGd�d����ZdS)r
c��eZdZUeed<dS)�TestRepr.test_repr.<locals>.C.Dr1Nr7rrrr`r	rxrr`c��eZdZdS)�TestRepr.test_repr.<locals>.C.ENrrrrr�r!	s�������rr�N)rrrr&r`r�rrrr#zTestRepr.test_repr.<locals>.C	sx������
�
�
�
�
�
�
�
��Y�
�
�
�
�
�
�
�
�
��Y�
�
�
rrz$TestRepr.test_repr.<locals>.C.D(i=0)z!TestRepr.test_repr.<locals>.C.E())r&r'rLr`r�)r+rur#r,r`s     r�	test_reprzTestRepr.test_repr	ss��	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	��	�	�
��	�
�A�a�D�D������a���"L�M�M�M�	�	�	�	�	�	��	�	�
��	�����a�a�c�c���$O�P�P�P�	�	�	�	�	�	�	�	�
��	�	
����a�c�c�!�f�f���'M�N�N�N�����a�c�c�e�e���&I�J�J�J�J�Jrc�R�td���Gd�d����}|�t�d�t|d������td���Gd�d����}|�t|d����d��dS)	NFrvc��eZdZUeed<dS)� TestRepr.test_no_repr.<locals>.Cr6Nr7rrrr#r)	r:rr#z+.TestRepr.test_no_repr.<locals>.C object atrpc� �eZdZUeed<d�ZdS)rr6c��dS)N�C-classrr�s rr�z)TestRepr.test_no_repr.<locals>.C.__repr__3	s�� �yrN�rrrr8r9r�rrrr#z TestRepr.test_no_repr.<locals>.C0	s.��������F�F�F�
!�
!�
!�
!�
!rr)r&rWrrLr'r�s  r�test_no_reprzTestRepr.test_no_repr'	s���	��	�	�	�	�	�	�	�	�	�	�
�	�	��
�
��N�N�N��1�1�Q�4�4�j�j�	"�	"�	"�
��	�	�	�	!�	!�	!�	!�	!�	!�	!�
�	�	!�	
����a�a��d�d���Y�/�/�/�/�/rc���tGd�d����}|�t|d����d��td���Gd�d����}|�t|d����d��td���Gd	�d����}|�t|d����d��dS)
Nc� �eZdZUeed<d�ZdS)�)TestRepr.test_overwriting_repr.<locals>.Cr6c��dS�Nr6rr�s rr�z2TestRepr.test_overwriting_repr.<locals>.C.__repr__>	r�rNrrrrr#r;	r�rr#rr6Trvc� �eZdZUeed<d�ZdS)rr6c��dSrrr�s rr�z2TestRepr.test_overwriting_repr.<locals>.C.__repr__E	r�rNrrrrr#z)TestRepr.test_overwriting_repr.<locals>.CB	r�rFc� �eZdZUeed<d�ZdS)rr6c��dSrrr�s rr�z2TestRepr.test_overwriting_repr.<locals>.C.__repr__L	r�rNrrrrr#z)TestRepr.test_overwriting_repr.<locals>.CI	r�rr�r�s  r�test_overwriting_reprzTestRepr.test_overwriting_repr7	s*��
�	�	�	�	�	�	�	�
��	�	
����a�a��d�d���S�)�)�)�	��	�	�	�	�	�	�	�	�	�	�
�	�	�	
����a�a��d�d���S�)�)�)�	��	�	�	�	�	�	�	�	�	�	�
�	�	�	
����a�a��d�d���S�)�)�)�)�)rN)rrrrrr$rrrrr
	sD������K�K�K�80�0�0� *�*�*�*�*rrc��eZdZd�Zd�ZdS)�TestEqc�b�td���Gd�d����}|�|d��|d����|d��}|�||��td���Gd�d����}|�|d��d��dS)	NF�rXc��eZdZUeed<dS)�TestEq.test_no_eq.<locals>.Cr6Nr7rrrr#r*T	r:rr#rrpc� �eZdZUeed<d�ZdS)r*r6c��|dkSrWrr�s  rr�z#TestEq.test_no_eq.<locals>.C.__eq___	s����{�"rNr�rrrr#zTestEq.test_no_eq.<locals>.C\	s.��������F�F�F�
#�
#�
#�
#�
#rr�)r&r�r'r�s   r�
test_no_eqzTestEq.test_no_eqR	s���	�e�	�	�	�	�	�	�	�	�	�	�
�	�	����A�A�a�D�D�!�!�A�$�$�'�'�'�
�A�a�D�D������A����
�e�	�	�	�	#�	#�	#�	#�	#�	#�	#�
�	�	#�	
�����1���r�"�"�"�"�"rc�:�tGd�d����}|�|d��d��|�|d��d��td���Gd�d����}|�|d��d��|�|d��d��td	���Gd
�d����}|�|d��d��|�|d��d��dS)Nc� �eZdZUeed<d�ZdS)�%TestEq.test_overwriting_eq.<locals>.Cr6c��|dkSr�rr�s  rr�z,TestEq.test_overwriting_eq.<locals>.C.__eq__j	�����z�!rNr�rrrr#r0g	�.��������F�F�F�
"�
"�
"�
"�
"rr#rArpTr(c� �eZdZUeed<d�ZdS)r0r6c��|dkSrErr�s  rr�z,TestEq.test_overwriting_eq.<locals>.C.__eq__r	r2rNr�rrrr#z%TestEq.test_overwriting_eq.<locals>.Co	r3rrFc� �eZdZUeed<d�ZdS)r0r6c��|dkSrHrr�s  rr�z,TestEq.test_overwriting_eq.<locals>.C.__eq__z	r2rNr�rrrr#z%TestEq.test_overwriting_eq.<locals>.Cw	r3rr�r�r�s  r�test_overwriting_eqzTestEq.test_overwriting_eqc	sr��
�	"�	"�	"�	"�	"�	"�	"�
��	"�	
�����1���q�!�!�!����A�A�a�D�D�!�$�$�$�	�d�	�	�	�	"�	"�	"�	"�	"�	"�	"�
�	�	"�	
�����1���q�!�!�!����A�A�a�D�D�!�$�$�$�	�e�	�	�	�	"�	"�	"�	"�	"�	"�	"�
�	�	"�	
�����1���q�!�!�!����A�A�a�D�D�!�$�$�$�$�$rN)rrrr-r8rrrr&r&Q	s2������#�#�#�"%�%�%�%�%rr&c� �eZdZd�Zd�Zd�ZdS)�TestOrderingc�L�ttGd�d������}|�|d��d��|�|d��d��|�|d��d��|�|d��d��dS)Nc� �eZdZUeed<d�ZdS)�5TestOrdering.test_functools_total_ordering.<locals>.Cr6c��|j|kSr�rhr�s  rr_z<TestOrdering.test_functools_total_ordering.<locals>.C.__lt__�	s���v���&rN�rrrr8r9r_rrrr#r=�	s0��������F�F�F�
'�
'�
'�
'�
'rr#r���rA)rr&r(rr)rr�s  r�test_functools_total_orderingz*TestOrdering.test_functools_total_ordering�	s���	�	�	'�	'�	'�	'�	'�	'�	'�
��
��	'�	
�����!���b�!�!�!����Q�Q�q�T�T�2�&�&�&����1�1�Q�4�4��#�#�#������!���a�(�(�(�(�(rc��td���Gd�d����}|�d|j��|�d|j��|�d|j��|�d|j��td���Gd	�d����}|�d|j��|�d|j��|�d|j��dS)
NFrc��eZdZUeed<dS)�%TestOrdering.test_no_order.<locals>.Cr6Nr7rrrr#rD�	r:rr#r`r_rbrac� �eZdZUeed<d�ZdS)rDr6c��dSr�rr�s  rr_z,TestOrdering.test_no_order.<locals>.C.__lt__�	r�rNr?rrrr#z%TestOrdering.test_no_order.<locals>.C�	r�rr�r�s  r�
test_no_orderzTestOrdering.test_no_order�	s2��	��	�	�	�	�	�	�	�	�	�	�
 �	�	�	
����1�:�.�.�.�����1�:�.�.�.�����1�:�.�.�.�����1�:�.�.�.�
��	�	�	�	�	�	�	�	�	�	�
 �	�	�
	
����1�:�.�.�.�����1�:�.�.�.�����1�:�.�.�.�.�.rc��|�td��5td���Gd�d����}ddd��n#1swxYwY|�td��5td���Gd�d����}ddd��n#1swxYwY|�td��5td���Gd	�d����}ddd��n#1swxYwY|�td
��5td���Gd�d����}ddd��dS#1swxYwYdS)NzACannot overwrite attribute __lt__.*using functools.total_orderingTrc� �eZdZUeed<d�ZdS)�.TestOrdering.test_overwriting_order.<locals>.Cr6c��dSr�rr�s rr_z5TestOrdering.test_overwriting_order.<locals>.C.__lt__�	r�rNr?rrrr#rJ�	�.���������������rr#zACannot overwrite attribute __le__.*using functools.total_orderingc� �eZdZUeed<d�ZdS)rJr6c��dSr�rr�s rr`z5TestOrdering.test_overwriting_order.<locals>.C.__le__�	r�rN)rrrr8r9r`rrrr#z.TestOrdering.test_overwriting_order.<locals>.C�	rLrzACannot overwrite attribute __gt__.*using functools.total_orderingc� �eZdZUeed<d�ZdS)rJr6c��dSr�rr�s rraz5TestOrdering.test_overwriting_order.<locals>.C.__gt__�	r�rN)rrrr8r9rarrrr#z.TestOrdering.test_overwriting_order.<locals>.C�	rLrzACannot overwrite attribute __ge__.*using functools.total_orderingc� �eZdZUeed<d�ZdS)rJr6c��dSr�rr�s rrbz5TestOrdering.test_overwriting_order.<locals>.C.__ge__�	r�rN)rrrr8r9rbrrrr#z.TestOrdering.test_overwriting_order.<locals>.C�	rLrr,r�s  r�test_overwriting_orderz#TestOrdering.test_overwriting_order�	s���
�
#�
#�I�%G�H�H�	�	��T�
"�
"�
"�
�
�
�
�
�
�
�#�
"�
�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�%G�H�H�	�	��T�
"�
"�
"�
�
�
�
�
�
�
�#�
"�
�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�%G�H�H�	�	��T�
"�
"�
"�
�
�
�
�
�
�
�#�
"�
�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�%G�H�H�	�	��T�
"�
"�
"�
�
�
�
�
�
�
�#�
"�
�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sG�$A�A�A�2$B"�"B&�)B&�$C8�8C<�?C<�$E�E�EN)rrrrArGrSrrrr:r:�	sA������)�)�)� /�/�/�,#�#�#�#�#rr:c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestHashc��td���Gd�d����}|�t|dd����td����dS)NTr�c�$�eZdZUeed<eed<dS)�$TestHash.test_unsafe_hash.<locals>.Cr6rmNr�rrrr#rX�	r.rr#rAr�)rAr��r&r'r�r�s  r�test_unsafe_hashzTestHash.test_unsafe_hash�	sx��	�t�	$�	$�	$�	�	�	�	�	�	�	�
%�	$�	�	
����a�a��5�k�k�*�*�D��,<�,<�=�=�=�=�=rc	�@��d�}�fd�}tgd�d��D]�\}\}}}}}|||||d|��|||||d|��||||��||��||��d|��||||��||��||��d|����dS)Nc��|�dS|rdSdS)N)rprr)rs r�non_boolz*TestHash.test_hash_rules.<locals>.non_bool�	s���}��t��
��t��1rc�B����||||���5|dkrM|r&t|||���Gd�d����}n%t|||���Gd�d����}|dkr<��d|j����|jd��n�|d	kr|s��d|j��n�|d
kr<��d|j����|jd��np|dkr]|sJ���td��5t|||���Gd�d����}ddd��n#1swxYwYn
Jd|�����ddd��dS#1swxYwYdS)N)�caser�rXrrU)r�rXrc��eZdZd�ZdS)�1TestHash.test_hash_rules.<locals>.test.<locals>.Cc��dSr�rr�s rr�z:TestHash.test_hash_rules.<locals>.test.<locals>.C.__hash__�	���'(�qrNr�rrrr#ra�	�#������)�)�)�)�)rr#c��eZdZdS)raNrrrrr#z1TestHash.test_hash_rules.<locals>.test.<locals>.C�	r\rrr�r��noner�c��eZdZd�ZdS)rac��dSr�rr�s rr�z:TestHash.test_hash_rules.<locals>.test.<locals>.C.__hash__
rcrNr�rrrr#z1TestHash.test_hash_rules.<locals>.test.<locals>.C
rdrFrc)	rr&rWr��assertIsNotNonerdr�rFr{)r_r�rXr�	with_hashrer#r+s       �rr*z&TestHash.test_hash_rules.<locals>.test�	s�������4�[�R�%+��-�-�(
?�(
?��[�(�(� �!�"�{�r�&�Q�Q�Q�)�)�)�)�)�)�)�R�Q�)�)�#�{�r�&�Q�Q�Q�!�!�!�!�!�!�!�R�Q�!��T�>�>��M�M�*�a�j�9�9�9��(�(���J�)?�@�@�@�@��r�\�\�$�A��(�(��Q�Z�@�@�@���v�%�%��M�M�*�a�j�9�9�9��%�%�a�j��&<�=�=�=�=��{�*�*�%�%�%�%��/�/�	�;`�a�a�)�)�"�{�r�&�Q�Q�Q�)�)�)�)�)�)�)�R�Q�)�)�)�)�)�)�)�)�)�)�)�)����)�)�)�)��?�">�F�">�">�>�>�>�Q(
?�(
?�(
?�(
?�(
?�(
?�(
?�(
?�(
?�(
?�(
?�(
?����(
?�(
?�(
?�(
?�(
?�(
?s6�D!F�<&E.�"F�.E2	�2F�5E2	�6F�F�F))FFFr�r�)FFTr�r�)FTFrfr�)FTTrr�)TFFrrU)TFTrrU)TTFrrU)TTTrrUrAFT)r)	r+r]r*r_r�rXr�res_no_defined_hash�res_defined_hashs	`        r�test_hash_ruleszTestHash.test_hash_rules�	s-���	�	�	�)	?�)	?�)	?�)	?�)	?�b[d�	e�	e�	e��	[�	[�	g�	g�V�D�V�;���0C�EU�
�D��{�B���7J�K�K�K��D��{�B���7G�H�H�H�

�D��x�x��,�,�h�h�r�l�l�H�H�V�<L�<L�e�Uh�i�i�i��D��x�x��,�,�h�h�r�l�l�H�H�V�<L�<L�d�Ue�f�f�f�f�#	g�	grc�`�tGd�d����}|�|d��|d����|�|d��|d����td���Gd�d����}|�|d��|d����|�t|d����t|d������tdd�	��Gd
�d����}|�|d��|d����|�|d��|d����|�t|d����t|d������dS)Nc� �eZdZUeed<d�ZdS)� TestHash.test_eq_only.<locals>.Cr1c�"�|j|jkSr�r�r�s  rr�z'TestHash.test_eq_only.<locals>.C.__eq__+
����v���(�(rNr�rrrr#rp(
�.��������F�F�F�
)�
)�
)�
)�
)rr#rArTr�c� �eZdZUeed<d�ZdS)rpr1c�"�|j|jkSr�r�r�s  rr�z'TestHash.test_eq_only.<locals>.C.__eq__5
rrrNr�rrrr#z TestHash.test_eq_only.<locals>.C2
rsrrg)r�rXc� �eZdZUeed<d�ZdS)rpr1c�8�|jdko|j|jkSr�r�r�s  rr�z'TestHash.test_eq_only.<locals>.C.__eq__?
s���v��{�8�t�v���'8�8rNr�rrrr#z TestHash.test_eq_only.<locals>.C<
s.��������F�F�F�
9�
9�
9�
9�
9rrp)r&r'r�r�r�s  r�test_eq_onlyzTestHash.test_eq_only"
s���
�	)�	)�	)�	)�	)�	)�	)�
��	)�	
�����1���q�q��t�t�$�$�$����A�A�a�D�D�!�!�A�$�$�'�'�'�
�t�	$�	$�	$�	)�	)�	)�	)�	)�	)�	)�
%�	$�	)�	
�����1���q�q��v�v�&�&�&�����a�a��d�d���T�!�!�C�&�&�\�\�2�2�2�
�t��	-�	-�	-�	9�	9�	9�	9�	9�	9�	9�
.�	-�	9�	
�����1���q�q��t�t�$�$�$����A�A�a�D�D�!�!�A�$�$�'�'�'�����a�a��d�d���T�!�!�C�&�&�\�\�2�2�2�2�2rc�r�td���Gd�d����}|�t|����td����td���Gd�d����}|�t|����td����dS)NTr~c��eZdZdS��%TestHash.test_0_field_hash.<locals>.CNrrrrr#r|F
r$rr#rr�c��eZdZdSr{rrrrr#z%TestHash.test_0_field_hash.<locals>.CK
r$rrYr�s  r�test_0_field_hashzTestHash.test_0_field_hashE
s���	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�����a�a�c�c���D��H�H�-�-�-�	�t�	$�	$�	$�	�	�	�	�	�	�	�
%�	$�	�����a�a�c�c���D��H�H�-�-�-�-�-rc�Z�td���Gd�d����}|�t|d����td����|�t|d����td����td�	��Gd
�d����}|�t|d����td����|�t|d����td����dS)NTr~c��eZdZUeed<dS��%TestHash.test_1_field_hash.<locals>.Cr6Nr7rrrr#r�Q
r:rr#r)rr;�r;r�c��eZdZUeed<dSr�r7rrrr#z%TestHash.test_1_field_hash.<locals>.CW
r:rrYr�s  r�test_1_field_hashzTestHash.test_1_field_hashP
s,��	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�����a�a��d�d���T�$�Z�Z�0�0�0�����a�a��e�e���d�5�k�k�2�2�2�	�t�	$�	$�	$�	�	�	�	�	�	�	�
%�	$�	�����a�a��d�d���T�$�Z�Z�0�0�0�����a�a��e�e���d�5�k�k�2�2�2�2�2rc���Gd�d��}ddtdfdd|dfddtdfdd|dfddtdfdd|dfddtdfdd|dfddtdfdd|dfddtdfdd|dfddtdfdd|dfddtdfdd|dfddtdfdd|dffD�]�\}}}}|�||||�	��5|�|�tGd
�d|����}ns|�%t|���Gd
�d|����}nL|�%t|���Gd�d|����}n%t||���Gd�d|����}|dkrN|d��}|�td��5t|��ddd��n#1swxYwYn�|dkr-|�t|d����d��ny|dkr&|�|jtj��nM|dkr:|�t|d����td����n
Jd|�����ddd��n#1swxYwY���dS)Nc��eZdZd�ZdS)�(TestHash.test_hash_no_args.<locals>.Basec��dSr�rr�s rr�z1TestHash.test_hash_no_args.<locals>.Base.__hash__d
r�rNr�rrrr�r�c
s#������
�
�
�
�
rr�r�Fr��baseTr�)rrXr�rQc��eZdZUeed<dS��%TestHash.test_hash_no_args.<locals>.Cr1Nr7rrrr#r��
�������������rr#r(c��eZdZUeed<dSr�r7rrrr#z%TestHash.test_hash_no_args.<locals>.C�
r�rr~c��eZdZUeed<dSr�r7rrrr#z%TestHash.test_hash_no_args.<locals>.C�
r�r)rrXc��eZdZUeed<dSr�r7rrrr#z%TestHash.test_hash_no_args.<locals>.C�
r�rr��unhashable typer�r;r�zunknown value for expected=)	r�rr&rFr{r�r'rqr�)r+r�rrXr�rQr#r�s        r�test_hash_no_argszTestHash.test_hash_no_args]
s
��	�	�	�	�	�	�	�	��D�6�<�0�
�D�4�<�0�
�E�6�8�,�
�E�4�6�*�
�D�6�<�0�
�D�4�<�0�
�D�6�<�0�
�D�4�<�0�
�E�6�8�,�
�E�4�6�*�
�D�6�<�0�
�D�4�<�0�
�D�6�7�+�
�D�4�7�+�
�E�6�8�,�
�E�4�6�*�
�D�6�7�+�
�D�4�7�+�%6�<	M�<	M�+�F�B�4�8�*���V�����Q�Q�'
M�'
M��>�b�j�������D����Y����^��"�%�%�%������D���&�%����Z��f�-�-�-������D���.�-����f��4�4�4������D���5�4���|�+�+���"���A��/�/�	�;L�M�M� � ��Q���� � � � � � � � � � � ���� � � � ����'�'��$�$�T�!�!�B�%�%�[�[�#�6�6�6�6���)�)�
�M�M�!�*�f�o�>�>�>�>���(�(��$�$�T�!�!�B�%�%�[�[�$�u�+�+�>�>�>�>�M�"L��"L�"L�L�L�L�O'
M�'
M�'
M�'
M�'
M�'
M�'
M�'
M�'
M�'
M�'
M����'
M�'
M�'
M�'
M��+<	M�<	Ms8�8CI�8F�I�F�I�F�B0I�I	�I	N)	rrrrZrmrxr~r�r�rrrrUrU�	s�������>�>�>�Kg�Kg�Kg�\!3�!3�!3�F	.�	.�	.�3�3�3�HM�HM�HM�HM�HMrrUc�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�
TestFrozenc�@�td���Gd�d����}|d��}|�|jd��|�t��5d|_ddd��n#1swxYwY|�|jd��dS)NTr~c��eZdZUeed<dS)�!TestFrozen.test_frozen.<locals>.Cr1Nr7rrrr#r��
r:rr#r�r�)r&r'r1rzrbr�s   r�test_frozenzTestFrozen.test_frozen�
s���	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�
�A�b�E�E�������b�!�!�!�
�
�
�2�
3�
3�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������b�!�!�!�!�!s�$A8�8A<�?A<c��td���Gd�d����}td���Gd�d|����}|dd��}|�t��5d	|_ddd��n#1swxYwY|�t��5d
|_ddd��n#1swxYwY|�|jd��|�|jd��dS)NTr~c��eZdZUeed<dS)�"TestFrozen.test_inherit.<locals>.Cr1Nr7rrrr#r��
r:rr#c��eZdZUeed<dS)�"TestFrozen.test_inherit.<locals>.DrNr7rrrr`r��
r:rr`rr�r�r)r&rzrbr1rr'�r+r#r`r�s    r�test_inheritzTestFrozen.test_inherit�
s���	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�
�$�	�	�	�	�	�	�	�	��	�	�
 �	�	�
�A�a��H�H��
�
�
�2�
3�
3�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�2�
3�
3�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������a� � � ������b�!�!�!�!�!s$�.B�B�	B�'B;�;B?�B?c���td���Gd�d����}|�td��5tGd�d|����}ddd��dS#1swxYwYdS)NTr~c��eZdZdS)�>TestFrozen.test_inherit_nonfrozen_from_empty_frozen.<locals>.CNrrrrr#r��
r$rr#�5cannot inherit non-frozen dataclass from a frozen onec��eZdZUeed<dS)�>TestFrozen.test_inherit_nonfrozen_from_empty_frozen.<locals>.DrNr7rrrr`r��
rxrr`r�rbs   r�(test_inherit_nonfrozen_from_empty_frozenz3TestFrozen.test_inherit_nonfrozen_from_empty_frozen�
s���	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	��
#�
#�I�$[�]�]�	�	�
�
�
�
�
�
�A�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A(�(A,�/A,c���tGd�d����}tGd�d|����}|d��}|�|jd��|�||��dS)Nc��eZdZdS)�7TestFrozen.test_inherit_nonfrozen_from_empty.<locals>.CNrrrrr#r��
r$rr#c��eZdZUeed<dS)�7TestFrozen.test_inherit_nonfrozen_from_empty.<locals>.DrNr7rrrr`r��
r:rr`rp)r&r'rr�r�s    r�!test_inherit_nonfrozen_from_emptyz,TestFrozen.test_inherit_nonfrozen_from_empty�
s���	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	��	�	�
��	�
�A�a�D�D�������a� � � ����a��#�#�#�#�#rc	�t�dD]�}|�|���5td���Gd�d����}|rGd�d|��}n|}|�td	��5tGd
�d|����}ddd��n#1swxYwYddd��n#1swxYwY��dS)N�TF��intermediate_classTr~c��eZdZUeed<dS)�8TestFrozen.test_inherit_nonfrozen_from_frozen.<locals>.Cr1Nr7rrrr#r��
���������F�F�F�F�Frr#c��eZdZdS)�8TestFrozen.test_inherit_nonfrozen_from_frozen.<locals>.INrrrr�Ir��
rrr�r�c��eZdZdS)�8TestFrozen.test_inherit_nonfrozen_from_frozen.<locals>.DNrrrrr`r��
r^rr`�rr&rFr{�r+r�r#r�r`s     r�"test_inherit_nonfrozen_from_frozenz-TestFrozen.test_inherit_nonfrozen_from_frozen�
s���"/�	�	�����1C��D�D�
�
��$�'�'�'��������(�'��&��$�$�$�$�$�A�$�$�$�$��A��+�+�I�,c�e�e���������A����Y��������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s6�AB,�-B�	B,�B�B,�B�B,�,B0	�3B0	c	�t�dD]�}|�|���5tGd�d����}|rGd�d|��}n|}|�td��5td�	��Gd
�d|����}ddd��n#1swxYwYddd��n#1swxYwY��dS)Nr�r�c��eZdZUeed<dS)�8TestFrozen.test_inherit_frozen_from_nonfrozen.<locals>.Cr1Nr7rrrr#r��
r�rr#c��eZdZdS)�8TestFrozen.test_inherit_frozen_from_nonfrozen.<locals>.INrrrrr�r��
rrr�z5cannot inherit frozen dataclass from a non-frozen oneTr~c��eZdZdS)�8TestFrozen.test_inherit_frozen_from_nonfrozen.<locals>.DNrrrrr`r��
r^rr`r�r�s     r�"test_inherit_frozen_from_nonfrozenz-TestFrozen.test_inherit_frozen_from_nonfrozen�
s���"/�	�	�����1C��D�D�
�
������������&��$�$�$�$�$�A�$�$�$�$��A��+�+�I�,c�e�e����d�+�+�+������A���,�+��������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s6�A	B,�$%B�	B,�B�B,�B�B,�,B0	�3B0	c�|�dD]�}|�|���5Gd�d��}|rGd�d|��}n|}td���Gd	�d
|����}ddd��n#1swxYwY|d��}|�t��5d|_ddd��n#1swxYwY��dS)
Nr�r�c��eZdZdS)�4TestFrozen.test_inherit_from_normal_class.<locals>.CNrrrrr#r�s�������Drr#c��eZdZdS)�4TestFrozen.test_inherit_from_normal_class.<locals>.INrrrrr�r�
rrr�Tr~c��eZdZUeed<dS)�4TestFrozen.test_inherit_from_normal_class.<locals>.Dr1Nr7rrrr`r�r�rr`r�r�)rr&rzrbr1)r+r�r#r�r`r�s      r�test_inherit_from_normal_classz)TestFrozen.test_inherit_from_normal_classs���"/�	�	�����1C��D�D�
�
���������&��$�$�$�$�$�A�$�$�$�$��A��$�'�'�'���������(�'��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
���"���A��"�"�#6�7�7�
�
����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s$�AA,�,A0	�3A0	�B0�0B4	�7B4	c�~�td���Gd�d����}Gd�d|��}|d��}|�|jd��|�|jd��d|_|�t��5d	|_ddd��n#1swxYwY|�t��5d	|_ddd��n#1swxYwY|�|jd��|�|jd��|�|jd��dS)
NTr~c�(�eZdZUeed<dZeed<dS)�4TestFrozen.test_non_frozen_normal_derived.<locals>.Dr6r�rmNrnrrrr`r�s&��������F�F�F��A�s�K�K�K�K�Krr`c��eZdZdS)�4TestFrozen.test_non_frozen_normal_derived.<locals>.SNrrrrrXr�r]rrXrpr�r�)r&r'r6rm�cachedrzrb)r+r`rXr�s    r�test_non_frozen_normal_derivedz)TestFrozen.test_non_frozen_normal_deriveds���
�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�	�	�	�	�	��	�	�	�
�A�a�D�D�������a� � � ������b�!�!�!�����
�
�2�
3�
3�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�2�
3�
3�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������a� � � ������b�!�!�!������4�(�(�(�(�(s$�B(�(B,�/B,�
C!�!C%�(C%c���|�td��5td���Gd�d����}ddd��n#1swxYwY|�td��5td���Gd�d����}ddd��n#1swxYwYtd���Gd	�d����}|�|d
��jd��dS)Nz&Cannot overwrite attribute __setattr__Tr~c� �eZdZUeed<d�ZdS)�-TestFrozen.test_overwriting_frozen.<locals>.Cr6c��dSr�rr�s rrz9TestFrozen.test_overwriting_frozen.<locals>.C.__setattr__6r�rN�rrrr8r9rrrrr#r�3rLrr#z&Cannot overwrite attribute __delattr__c� �eZdZUeed<d�ZdS)r�r6c��dSr�rr�s rr�z9TestFrozen.test_overwriting_frozen.<locals>.C.__delattr__>r�rN)rrrr8r9r�rrrr#z-TestFrozen.test_overwriting_frozen.<locals>.C;rLrFc� �eZdZUeed<d�ZdS)r�r6c� �|dz|jd<dS)Nr1r6)r�)r+rNrs   rrz9TestFrozen.test_overwriting_frozen.<locals>.C.__setattr__Ds��%*�Q�Y��
�c�"�"�"rNr�rrrr#z-TestFrozen.test_overwriting_frozen.<locals>.CAs.��������F�F�F�
/�
/�
/�
/�
/rr�ry)rFr{r&r'r6r�s  r�test_overwriting_frozenz"TestFrozen.test_overwriting_frozen/s���
�
#�
#�I�$L�N�N�	�	�
�d�
#�
#�
#�
�
�
�
�
�
�
�$�
#�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�$L�N�N�	�	�
�d�
#�
#�
#�
�
�
�
�
�
�
�$�
#�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�%�	 �	 �	 �	/�	/�	/�	/�	/�	/�	/�
!�	 �	/�	
�����2����"�%�%�%�%�%s#�$A�A�A�2$B"�"B&�)B&c��td���Gd�d����}t|d����|�td��5t|i����ddd��dS#1swxYwYdS)NTr~c��eZdZUeed<dS)�&TestFrozen.test_frozen_hash.<locals>.Cr6N)rrrrr9rrrr#r�Ir:rr#rpr�)r&r�rFr{r�s  r�test_frozen_hashzTestFrozen.test_frozen_hashHs���	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�
	
�Q�Q�q�T�T�
�
�
��
#�
#�I�/@�
A�
A�	�	����2���K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A=�=B�BN)
rrrr�r�r�r�r�r�r�r�r�r�rrrr�r��
s�������	"�	"�	"�"�"�"�"	�	�	�$�$�$����$���$���&)�)�)�2&�&�&�2����rr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
dd�	��Gd
�d����Ze
d���Gd
�d����Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�	TestSlotsc��tGd�d����}|�td��5|��ddd��n#1swxYwY|d��}|�|jd��d|_|�|jd��|�t
d��5d|_ddd��dS#1swxYwYdS)Nc��eZdZUdZeed<dS)� TestSlots.test_simple.<locals>.Crhr6N�rrr�	__slots__rr9rrrr#r�X���������I��F�F�F�F�Frr#rkr�r�z'C' object has no attribute 'y')r&rFr{r'r6r'rmr�s   r�test_simplezTestSlots.test_simpleWs}��	�	�	�	�	�	�	�	�
��	��
#�
#�I�$_�a�a�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�

�A�b�E�E�������b�!�!�!���������a� � � ��
#�
#�N�4U�
V�
V�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A
�
A�A�;C�C�Cc���tGd�d����}tGd�d|����}|dd��}|�|j|jfd��d|_dS)	Nc��eZdZUdZeed<dS)�0TestSlots.test_derived_added_field.<locals>.Baserhr6Nr�rrrr�r�pr�rr�c�$�eZdZUeed<eed<dS)�3TestSlots.test_derived_added_field.<locals>.Derivedr6rmNr7rrr�Derivedr�ur.rr�rAr1r�r�)r&r'r6rmr�)r+r�r�r�s    r�test_derived_added_fieldz"TestSlots.test_derived_added_fieldns���	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�d�	�	�
��	�
�G�A�q�M�M�����!�#�q�s��V�,�,�,�����rc�~�td���Gd�d����}|dd��}|�|j|jfd��d|_d	|_|�|j|jfd
��|�t
d��5d|_ddd��dS#1swxYwYdS)
NT��slotsc�$�eZdZUeed<eed<dS)�)TestSlots.test_generated_slots.<locals>.Cr6rmNr7rrrr#r��r.rr#rAr1r�rprr~z'C' object has no attribute 'z'r�)r&r'r6rmrFr'r�r�s   r�test_generated_slotszTestSlots.test_generated_slots�s��	��	�	�	�	�	�	�	�	�	�	�
�	�	�
�A�a��G�G�����!�#�q�s��V�,�,�,����������!�#�q�s��V�,�,�,�
�
#�
#�N�4U�
V�
V�	�	��A�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�B2�2B6�9B6c��|�td��5td���Gd�d����}ddd��dS#1swxYwYdS)Nz^C already specifies __slots__$Tr�c��eZdZUdZeed<dS)�5TestSlots.test_add_slots_when_slots_exists.<locals>.Crhr6N)rrrr�r8r9rrrr#r��s�������"�	������rr#r,r�s  r� test_add_slots_when_slots_existsz*TestSlots.test_add_slots_when_slots_exists�s���
�
#�
#�I�/P�
Q�
Q�	�	�
�T�
"�
"�
"�
�
�
�
�
�
�
�#�
"�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��$A
�
A�Ac���Gd�d��}Gd�d|��}Gd�d|��}Gd�d|��}td	�
��Gd�d|����}|�|jd
��td	�
��Gd�d|����}|�|jd��tGd�d|����}|�d|j��dS)Nc��eZdZdhZdS)�2TestSlots.test_generated_slots_value.<locals>.Rootr6N�rrrr�rrr�Rootr�����������I�I�Irrc��eZdZddd�ZdS)�3TestSlots.test_generated_slots_value.<locals>.Root2z...r�)rrNrrrr�Root2r�s������#�"�-�-�I�I�Irrc��eZdZdgZdS)�3TestSlots.test_generated_slots_value.<locals>.Root3�hNrrrr�Root3r�rrr	c��eZdZdZdS)�3TestSlots.test_generated_slots_value.<locals>.Root4�aaNrrrr�Root4r�s�������I�I�Irr
Tr�c�.�eZdZUeed<eed<eed<dS)�2TestSlots.test_generated_slots_value.<locals>.BasermrrNr�rrrr�r�rrr�rdc�B�eZdZUeed<eed<eed<eed<eed<dS)�5TestSlots.test_generated_slots_value.<locals>.Derivedrr6r�rrN)rrrrr9r�r8rrrr�r�s=��������I�I�I��F�F�F��F�F�F��F�F�F��F�F�F�F�Frr�r�c��eZdZUeed<dS)�<TestSlots.test_generated_slots_value.<locals>.AnotherDerivedr�Nr7rrr�AnotherDerivedr�r:rrr�)r&r'r�rdr�)r+rrr	r
r�r�rs        r�test_generated_slots_valuez$TestSlots.test_generated_slots_value�s���	�	�	�	�	�	�	�	�	.�	.�	.�	.�	.�D�	.�	.�	.�	�	�	�	�	�E�	�	�	�	�	�	�	�	�E�	�	�	�
��	�	�	�	�	�	�	�	�5�	�	�
�	�	�
	
������1�1�1�	��	�	�	�	�	�	�	�	�d�	�	�
�	�	�	
����*�G�4�4�4�	�	�	�	�	�	�T�	�	�
��	�	
����n�&=�>�>�>�>�>rc���Gd�d��}Gd�d|��}|�td��5td���Gd�d	|����}ddd��dS#1swxYwYdS)
Nc�&�eZdZedg��ZdS)�=TestSlots.test_cant_inherit_from_iterator_slots.<locals>.RootrN)rrrr�r�rrrrr�s��������c�U���I�I�Irrc��eZdZdZdS)�>TestSlots.test_cant_inherit_from_iterator_slots.<locals>.Root2�r�Nrrrrrr�s�������I�I�Irrz%^Slots of 'Root' cannot be determinedTr�c��eZdZUeed<dS)�:TestSlots.test_cant_inherit_from_iterator_slots.<locals>.Cr6Nr7rrrr#r�rxrr#r,)r+rrr#s    r�%test_cant_inherit_from_iterator_slotsz/TestSlots.test_cant_inherit_from_iterator_slots�s��	$�	$�	$�	$�	$�	$�	$�	$�	 �	 �	 �	 �	 �D�	 �	 �	 ��
#�
#��3�
�
�	�	��T�
"�
"�
"�
�
�
�
�
�E�
�
�#�
"�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�%A)�)A-�0A-c��Gd�d��}t|d���}|�||��|�t|d����|�t|d����dS)Nc��eZdZUeed<dS)�+TestSlots.test_returns_new_class.<locals>.Ar6Nr7rrrr�r!�r"rr�Tr�r�)r&r�r�r�rC�r+r�rus   r�test_returns_new_classz TestSlots.test_returns_new_class�s���	�	�	�	�	�	�	�	�
�a�t�$�$�$������A���������K�0�0�1�1�1������;�/�/�0�0�0�0�0rT)rr�c�$�eZdZUeed<eed<dS)�TestSlots.FrozenSlotsClassr�rINr�rrr�FrozenSlotsClassr%��"�������
����
�����rr&r~c�$�eZdZUeed<eed<dS)�!TestSlots.FrozenWithoutSlotsClassr�rINr�rrr�FrozenWithoutSlotsClassr)�r'rr*c��|�|jjd��ttjdz��D�]}|�|���5|�dd��}t	jt	j||�����}|�	||��|�||��|�
dd��}t	jt	j||�����}|�	||��|�||��ddd��n#1swxYwY��dS)N)r�rIrA)ryr)�protocol)r'r&r�rzr{r|rr}r~r�r*)r+ryrC�ps    r�test_frozen_picklezTestSlots.test_frozen_pickle�sq��	
����.�8�.�I�I�I��6�2�Q�6�7�7�
	)�
	)�E����E��*�*�	
)�	
)��+�+�C��3�3���L���c�E�!B�!B�!B�C�C��� � ��a�(�(�(�� � ��a�(�(�(��2�2�3��:�:���L���c�E�!B�!B�!B�C�C��� � ��a�(�(�(�� � ��a�(�(�(�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)�	
)����	
)�	
)�	
)�	
)��
	)�
	)s�CD7�7D;	�>D;	c���td���Gd�d����}|d��}|�|jd��|�|jd��dS)NTr�c�>�eZdZUeed<edd���Zeed<dS)�4TestSlots.test_slots_with_default_no_init.<locals>.Arr�Fr'N�rrrr�r9rEr�rrrr�r1�s:��������F�F�F��U�3�U�3�3�3�A�s�3�3�3�3�3rr�rr��r&r'rr��r+r�rCs   r�test_slots_with_default_no_initz)TestSlots.test_slots_with_default_no_init�s���	��	�	�	�	4�	4�	4�	4�	4�	4�	4�
�	�	4��a��f�f��������$�$�$�������$�$�$�$�$rc���td���Gd�d����}|d��}|�|jd��|�|jd��dS)NTr�c�@�eZdZUeed<ed�d���Zeed<dS)�<TestSlots.test_slots_with_default_factory_no_init.<locals>.Arc��dS)Nr�rrrrr	zETestSlots.test_slots_with_default_factory_no_init.<locals>.A.<lambda>s��#�rFr�r�Nr2rrrr�r8�s<��������F�F�F��U�:�:�E�B�B�B�A�s�B�B�B�B�Brr�rr�r3r4s   r�'test_slots_with_default_factory_no_initz1TestSlots.test_slots_with_default_factory_no_init�s���	��	�	�	�	C�	C�	C�	C�	C�	C�	C�
�	�	C��a��f�f��������$�$�$�������$�$�$�$�$rc��td���Gd�d����}|�d|j��|��}|�td��5tj|��ddd��n#1swxYwY|�t��5|j	ddd��dS#1swxYwYdS)NTr�c��eZdZdS)�*TestSlots.test_slots_no_weakref.<locals>.ANrrrrr�r=	s������
�Drr��__weakref__zcannot create weak reference)
r&rdr�rFr{�weakref�refrzr'r>rNs   r�test_slots_no_weakrefzTestSlots.test_slots_no_weakrefse��	��	�	�	�	�	�	�	�	�	�	�
�	�	�	
������4�4�4�
�A�C�C��
�
#�
#�I�$B�D�D�	�	��K��N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�~�
.�
.�	�	�
�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�$B�B	�B	�*B?�?C�Cc��tdd���Gd�d����}|�d|j��|d��}tj|��}|�|j|��dS)NT�r��weakref_slotc��eZdZUeed<dS)�'TestSlots.test_slots_weakref.<locals>.ArNr7rrrr�rFr:rr�r>rA)r&rWr�r?r@rqr>)r+r�r�a_refs    r�test_slots_weakrefzTestSlots.test_slots_weakrefs���	��D�	1�	1�	1�	�	�	�	�	�	�	�
2�	1�	�	
�
�
�m�Q�[�1�1�1�
�A�a�D�D����A�����
�
�a�m�U�+�+�+�+�+rc��Gd�d��}td���Gd�d|����}|�d|j��|�d|j��|d��}t	j|��dS)	Nc��eZdZdZdS)�3TestSlots.test_slots_weakref_base_str.<locals>.Baser>Nrrrrr�rK"s������%�I�I�Irr�Tr�c��eZdZUeed<dS)�0TestSlots.test_slots_weakref_base_str.<locals>.ArNr7rrrr�rM%r:rr�r>rA�r&rWr�rdr?r@�r+r�r�rs    r�test_slots_weakref_base_strz%TestSlots.test_slots_weakref_base_str!s���	&�	&�	&�	&�	&�	&�	&�	&�
��	�	�	�	�	�	�	�	��	�	�
�	�	�	
�
�
�m�T�^�4�4�4�������4�4�4�
�A�a�D�D����A�����rc��Gd�d��}td���Gd�d|����}|�d|j��|�d|j��|d��}t	j|��dS)	Nc��eZdZdZdS)�5TestSlots.test_slots_weakref_base_tuple.<locals>.Base�r>Nrrrrr�rS2�������(�I�I�Irr�Tr�c��eZdZUeed<dS)�2TestSlots.test_slots_weakref_base_tuple.<locals>.ArNr7rrrr�rW5r:rr�r>rArNrOs    r�test_slots_weakref_base_tuplez'TestSlots.test_slots_weakref_base_tuple/s���	)�	)�	)�	)�	)�	)�	)�	)�
��	�	�	�	�	�	�	�	��	�	�
�	�	�
	
�
�
�m�T�^�4�4�4�������4�4�4�
�A�a�D�D����A�����rc��|�td��5td���Gd�d����}ddd��dS#1swxYwYdS)N�'weakref_slot is True but slots is FalseT�rDc��eZdZUeed<dS)�3TestSlots.test_weakref_slot_without_slot.<locals>.ArNr7rrrr�r]Crxrr�r,�r+r�s  r�test_weakref_slot_without_slotz(TestSlots.test_weakref_slot_without_slot@s���
�
#�
#�I�$M�O�O�	�	�
�D�
)�
)�
)�
�
�
�
�
�
�
�*�
)�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c�L�tddtfgdd���}|�d|j��|d��}t	j|��|�td��5tddtfgd�	��}ddd��dS#1swxYwYdS)
Nr�rTrCr>rArZrur[)r�r8rWr�r?r@rFr{)r+r�rrus    r� test_weakref_slot_make_dataclassz*TestSlots.test_weakref_slot_make_dataclassGs����3�#�s��
�T��M�M�M���
�
�m�Q�[�1�1�1�
�A�a�D�D����A�����
#�
#�I�$M�O�O�	F�	F��s�c�3�Z�M��E�E�E�A�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�	F�	Fs�1B�B� Bc�x�tdd���Gd�d����}tdd���Gd�d|����}|�d|j��|�d|j��|d��}t	j|��}|�|j|��dS)	NTrCc��eZdZUeed<dS)�?TestSlots.test_weakref_slot_subclass_weakref_slot.<locals>.BaserENr7rrrr�rdSr�rr�c��eZdZdS)�<TestSlots.test_weakref_slot_subclass_weakref_slot.<locals>.ANrrrrr�rfX��������Crr�r>rA�r&rWr�rdr?r@rqr>�r+r�r�rrGs     r�'test_weakref_slot_subclass_weakref_slotz1TestSlots.test_weakref_slot_subclass_weakref_slotRs���	��D�	1�	1�	1�	�	�	�	�	�	�	�
2�	1�	�
��D�	1�	1�	1�	�	�	�	�	��	�	�
2�	1�	�
	
�
�
�m�T�^�4�4�4�������4�4�4�
�A�a�D�D����A�����
�
�a�m�U�+�+�+�+�+rc�v�tdd���Gd�d����}td���Gd�d|����}|�d|j��|�d|j��|d	��}t	j|��}|�|j|��dS)
NTrCc��eZdZUeed<dS)�BTestSlots.test_weakref_slot_subclass_no_weakref_slot.<locals>.BaserENr7rrrr�rmer�rr�r�c��eZdZdS)�?TestSlots.test_weakref_slot_subclass_no_weakref_slot.<locals>.ANrrrrr�roirgrr�r>rArhris     r�*test_weakref_slot_subclass_no_weakref_slotz4TestSlots.test_weakref_slot_subclass_no_weakref_slotds���	��D�	1�	1�	1�	�	�	�	�	�	�	�
2�	1�	�
��	�	�	�	�	�	�	�	��	�	�
�	�	�
	
�
�
�m�T�^�4�4�4�������4�4�4�
�A�a�D�D����A�����
�
�a�m�U�+�+�+�+�+rc�J�Gd�d��}tdd���Gd�d|����}|�d|j��|�d|j��|d��}t	j|��}|�|j|��dS)	Nc��eZdZdZdS)�BTestSlots.test_weakref_slot_normal_base_weakref_slot.<locals>.BaserTNrrrrr�rsvrUrr�TrCc��eZdZUeed<dS)�?TestSlots.test_weakref_slot_normal_base_weakref_slot.<locals>.ArENr7rrrr�ruyr�rr�r>rArhris     r�*test_weakref_slot_normal_base_weakref_slotz4TestSlots.test_weakref_slot_normal_base_weakref_slotus���	)�	)�	)�	)�	)�	)�	)�	)�
��D�	1�	1�	1�	�	�	�	�	��	�	�
2�	1�	�
	
�
�
�m�T�^�4�4�4�������4�4�4�
�A�a�D�D����A�����
�
�a�m�U�+�+�+�+�+rN)rrrr�r�r�r�rrr#r&r&r*r.r5r:rArHrPrXr_rarjrprvrrrr�r�Vs����������.���$��� ���$?�$?�$?�L��� 1�1�1��Y�d�$�'�'�'��������(�'���Y�d��������������)�)�)� 	%�	%�	%�	%�	%�	%����	,�	,�	,�������"���	F�	F�	F�,�,�,�$,�,�,�",�,�,�,�,rr�c�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�TestDescriptorsc�X��Gd�d���tG�fd�d����}|�|jjd��tG�fd�d����}|�|jjd��|�|��jd��dS)Nc��eZdZd�Zd�ZdS)�(TestDescriptors.test_set_name.<locals>.Dc��|dz|_dSr�rN�r+�ownerrNs   r�__set_name__z5TestDescriptors.test_set_name.<locals>.D.__set_name__���� �3�J��	�	�	rc��|�dS|S�NrAr�r+�instancers   r�__get__z0TestDescriptors.test_set_name.<locals>.D.__get__�s���'��1��rN)rrrr�r�rrrr`r{�s2������
'�
'�
'�
�
�
�
�
rr`c�0��eZdZU���Zeed<dS)�(TestDescriptors.test_set_name.<locals>.Cr�N)rrrr�r8r9�r`s�rr#r��s$���������1�3�3�A�s�J�J�J�J�Jrr#�cxc�F��eZdZUe���d���Zeed<dS)r�Fr'r�N�rrrrEr�r8r9r�s�rr#z(TestDescriptors.test_set_name.<locals>.C��8���������5�����5�1�1�1�A�s�1�1�1�1�1rrA�r&r'r�rNrbs  @r�
test_set_namezTestDescriptors.test_set_name�s����	�	�	�	�	�	�	�	�
�	�	�	�	�	�	�	�	�	�
��	�������4�(�(�(�

�	2�	2�	2�	2�	2�	2�	2�	2�	2�
��	2�������4�(�(�(����������"�"�"�"�"rc���Gd�d���tG�fd�d����}|�|jjd��dS)Nc��eZdZd�ZdS)�.TestDescriptors.test_non_descriptor.<locals>.Dc��|dz|_dSrr}r~s   rr�z;TestDescriptors.test_non_descriptor.<locals>.D.__set_name__�r�rN)rrrr�rrrr`r��s#������
'�
'�
'�
'�
'rr`c�F��eZdZUe���d���Zeed<dS)�.TestDescriptors.test_non_descriptor.<locals>.CFr'r�Nr�r�s�rr#r��r�rr#r�r�rbs  @r�test_non_descriptorz#TestDescriptors.test_non_descriptor�s����	'�	'�	'�	'�	'�	'�	'�	'�
�	2�	2�	2�	2�	2�	2�	2�	2�	2�
��	2�������4�(�(�(�(�(rc����Gd�d��}|���t���_tG�fd�d����}|��jjd��dS)Nc��eZdZdS)�2TestDescriptors.test_lookup_on_instance.<locals>.DNrrrrr`r��r]rr`c�6��eZdZUe�d���Zeed<dS)�2TestDescriptors.test_lookup_on_instance.<locals>.CFr'r1Nr1r4s�rr#r��s2���������5���/�/�/�A�s�/�/�/�/�/rr#r�rr�r&r'r	)r+r`r#r�s   @r�test_lookup_on_instancez'TestDescriptors.test_lookup_on_instance�s����	�	�	�	�	�	�	�	�
�A�C�C�������
�	0�	0�	0�	0�	0�	0�	0�	0�	0�
��	0�	
�����2�A�6�6�6�6�6rc���Gd�d���t���_tG�fd�d����}|��jjd��dS)Nc��eZdZdS)�/TestDescriptors.test_lookup_on_class.<locals>.DNrrrrr`r��r]rr`c�F��eZdZUe���d���Zeed<dS)�/TestDescriptors.test_lookup_on_class.<locals>.CFr'r1Nr1r�s�rr#r��r�rr#rAr�rbs  @r�test_lookup_on_classz$TestDescriptors.test_lookup_on_class�s����	�	�	�	�	�	�	�	������
�	2�	2�	2�	2�	2�	2�	2�	2�	2�
��	2�	
�����2�A�6�6�6�6�6rc���Gd�d���t���_tG�fd�d����}�j���|d��}|��jjd��dS)Nc��eZdZdS)�.TestDescriptors.test_init_calls_set.<locals>.DNrrrrr`r��r]rr`c�0��eZdZU���Z�ed<dS)�.TestDescriptors.test_init_calls_set.<locals>.Cr1N�rrrr1r9r�s�rr#r���$���������1�3�3�A�q�J�J�J�J�Jrr#r�rA)r�__set__r&�
reset_mockr'r	�r+r#r�r`s   @r�test_init_calls_setz#TestDescriptors.test_init_calls_set�s����	�	�	�	�	�	�	�	��F�F��	�	�	�	�	�	�	�	�	�	�	�
��	�	
�	������
�A�a�D�D�������-�q�1�1�1�1�1rc�<��Gd�d���t���_t���_tG�fd�d����}|d��}�j���|j}|��jjd��dS)Nc��eZdZdS)�7TestDescriptors.test_getting_field_calls_get.<locals>.DNrrrrr`r��r]rr`c�0��eZdZU���Z�ed<dS)�7TestDescriptors.test_getting_field_calls_get.<locals>.Cr1Nr�r�s�rr#r��r�rr#r�rA)rr�r�r&r�r1r'r	)r+r#r�rr`s    @r�test_getting_field_calls_getz,TestDescriptors.test_getting_field_calls_get�s����	�	�	�	�	�	�	�	��F�F��	��F�F��	�	�	�	�	�	�	�	�	�	�	�
��	�
�A�a�D�D��	
�	��������������-�q�1�1�1�1�1rc���Gd�d���t���_tG�fd�d����}|d��}�j���d|_|��jjd��dS)Nc��eZdZdS)�7TestDescriptors.test_setting_field_calls_set.<locals>.DNrrrrr`r��r]rr`c�0��eZdZU���Z�ed<dS)�7TestDescriptors.test_setting_field_calls_set.<locals>.Cr1Nr�r�s�rr#r��r�rr#r�r�rA)rr�r&r�r1r'r	r�s   @r�test_setting_field_calls_setz,TestDescriptors.test_setting_field_calls_set�s����	�	�	�	�	�	�	�	��F�F��	�	�	�	�	�	�	�	�	�	�	�
��	�
�A�a�D�D��	
�	��������������-�q�1�1�1�1�1rc�t��Gd�d���t���_tG�fd�d����}�j���|d��}|��jjd�����|_d|_|��jjd��dS)Nc��eZdZdS)�FTestDescriptors.test_setting_uninitialized_descriptor_field.<locals>.DNrrrrr`r�
r]rr`c���eZdZU�ed<dS)�FTestDescriptors.test_setting_uninitialized_descriptor_field.<locals>.Cr1Nr�r�s�rr#r�
r�rr#r�r)rr�r&r�r'r	r1r�s   @r�+test_setting_uninitialized_descriptor_fieldz;TestDescriptors.test_setting_uninitialized_descriptor_field�s����	�	�	�	�	�	�	�	��F�F��	�	�	�	�	�	�	�	�	�	�	�
��	�	
�	������
�A�a�D�D�������-�q�1�1�1��a�c�c�����������-�q�1�1�1�1�1rc����Gd�d���tG�fd�d����}|��}|�|jd��|d��}|�|jd��dS)Nc�6�eZdZdededefd�Zdededdfd�ZdS)�-TestDescriptors.test_default_value.<locals>.Dr�rrCc��|�dS|jSr���_xr�s   rr�z5TestDescriptors.test_default_value.<locals>.D.__get__
s���#��3��{�"rrNc��||_dSr�r��r+r�rs   rr�z5TestDescriptors.test_default_value.<locals>.D.__set__
�
��#����r�rrrrr�r8r�r�rrrr`r�
�f������
#��
#�F�
#�s�
#�
#�
#�
#�
$��
$�C�
$�D�
$�
$�
$�
$�
$�
$rr`c�0��eZdZU���Z�ed<dS)�-TestDescriptors.test_default_value.<locals>.Cr1Nr�r�s�rr#r�
r�rr#r�r�r�r�s   @r�test_default_valuez"TestDescriptors.test_default_value
s����	$�	$�	$�	$�	$�	$�	$�	$�
�	�	�	�	�	�	�	�	�	�
��	�
�A�C�C�������c�"�"�"�
�A�a�D�D�������a� � � � � rc����Gd�d���tG�fd�d����}|�td��5|��}ddd��dS#1swxYwYdS)Nc�6�eZdZdededefd�Zdededdfd�ZdS)�0TestDescriptors.test_no_default_value.<locals>.Dr�rrCc�0�|�t���|jSr�)r'r�r�s   rr�z8TestDescriptors.test_no_default_value.<locals>.D.__get__+
s���#�(�*�*�*��{�"rrNc��||_dSr�r�r�s   rr�z8TestDescriptors.test_no_default_value.<locals>.D.__set__1
r�rr�rrrr`r�*
r�rr`c�0��eZdZU���Z�ed<dS)�0TestDescriptors.test_no_default_value.<locals>.Cr1Nr�r�s�rr#r�4
r�rr#z&missing 1 required positional argumentr�r�s   @r�test_no_default_valuez%TestDescriptors.test_no_default_value)
s����	$�	$�	$�	$�	$�	$�	$�	$�
�	�	�	�	�	�	�	�	�	�
��	��
#�
#�I�/W�
X�
X�	�	�����A�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A"�%A"N)
rrrr�r�r�r�r�r�r�r�r�r�rrrrxrx�s�������#�#�#�8)�)�)�7�7�7� 7�7�7�
2�
2�
2�2�2�2�$2�2�2�"2�2�2�*!�!�!�*����rrxc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestStringAnnotationsc����dD]q�|�����5tG�fd�d����}|��|�d|j��ddd��n#1swxYwY�rdS)N)z
ClassVar[int]zClassVar [int]z ClassVar [int]rz
 ClassVar ztyping.ClassVar[int]ztyping.ClassVar[str]z typing.ClassVar[str]ztyping .ClassVar[str]ztyping. ClassVar[str]ztyping.ClassVar [str]ztyping.ClassVar [ str]ztyping.ClassVar.[int]ztyping.ClassVar+��typestrc���eZdZU�ed<dS)�.TestStringAnnotations.test_classvar.<locals>.Cr6Nr�r�s�rr#r�U
����������J�J�J�J�Jrr#r6)rr&rdr��r+r#r�s  @r�
test_classvarz#TestStringAnnotations.test_classvar<
s�����	2�	2�G�$���g��.�.�

2�

2�������������������� � ��a�j�1�1�1�

2�

2�

2�

2�

2�

2�

2�

2�

2�

2�

2����

2�

2�

2�

2��%	2�	2s�AA*�*A.	�1A.	c����dD]p�|�����5tG�fd�d����}|�|d��jd��ddd��n#1swxYwY�qdS)N)
�CVz
t.ClassVarzt.ClassVar[int]ztyping..ClassVar[int]�Classvarz
Classvar[int]ztyping.ClassVarx[int]ztypong.ClassVar[int]zdataclasses.ClassVar[int]ztypingxClassVar[str]r�c���eZdZU�ed<dS)�3TestStringAnnotations.test_isnt_classvar.<locals>.Cr6Nr�r�s�rr#r�m
r�rr#r��rr&r'r6r�s  @r�test_isnt_classvarz(TestStringAnnotations.test_isnt_classvar`
s����
�	.�	.�G����g��.�.�
.�
.��������������� � ���2����"�-�-�-�

.�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.����
.�
.�
.�
.��	.�	.��AA)�)A-	�0A-	c�,��dD]��|�����5tG�fd�d����}|�td��5|d��jddd��n#1swxYwYddd��n#1swxYwY��dS)N)
zInitVar[int]zInitVar [int] InitVar [int]r�z	 InitVar r�zdataclasses.InitVar[str]z dataclasses.InitVar[str]zdataclasses .InitVar[str]zdataclasses. InitVar[str]zdataclasses.InitVar [str]zdataclasses.InitVar [ str]zdataclasses.InitVar.[int]zdataclasses.InitVar+r�c���eZdZU�ed<dS)�-TestStringAnnotations.test_initvar.<locals>.Cr6Nr�r�s�rr#r��
r�rr#zobject has no attribute 'x'rA)rr&rFr'r6r�s  @r�test_initvarz"TestStringAnnotations.test_initvart
sI����	�	�G�$���g��.�.�
�
���������������+�+�N�,I�K�K����A�a�D�D�F�F�������������������

�
�
�
�
�
�
�
�
�
�
����
�
�
�
��%	�	s5�8B�A1�%B�1A5�5B�8A5�9B�B	�B	c����dD]p�|�����5tG�fd�d����}|�|d��jd��ddd��n#1swxYwY�qdS)N)�IVz
dc.InitVarzxdataclasses.xInitVarztyping.xInitVar[int]r�c���eZdZU�ed<dS)�2TestStringAnnotations.test_isnt_initvar.<locals>.Cr6Nr�r�s�rr#r��
r�rr#r�r�r�s  @r�test_isnt_initvarz'TestStringAnnotations.test_isnt_initvar�
s�����	.�	.�G�
���g��.�.�
.�
.��������������� � ���2����"�-�-�-�

.�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.����
.�
.�
.�
.��	.�	.r�c
��ddlm}ddlm}ddlm}ddlm}||||fD�]i}|�|���5|jr|�d��}n|���}|�|j	d��|�
dd	d
dd��}d
D]w}|�|���5|�td|�d���5t||��ddd��n#1swxYwYddd��n#1swxYwY�x|jr7|�d|j��|�|jd��n|�d|j��ddd��n#1swxYwY��kdS)Nr)�dataclass_module_1)�dataclass_module_1_str)�dataclass_module_2)�dataclass_module_2_str)�mr�ryrAr1rpr)�iv0�iv1�iv2�iv3)�
field_namezobject has no attribute 'r�not_iv4)r*r�r�r�r�r�
USING_STRINGSr�r'�cv0r�rFr'r�rWr�r�rd)r+r�r�r�r�r�r�r�s        r�!test_classvar_module_level_importz7TestStringAnnotations.test_classvar_module_level_import�
s���+�+�+�+�+�+�/�/�/�/�/�/�+�+�+�+�+�+�/�/�/�/�/�/�$�&<�$�&<��!	<�!	<�A������"�"�
<�
<��?�����R���A�A������A�� � ����+�+�+��D�D��A�q�!�Q�'�'��">�3�3�J������<�<�3�3�!�3�3�N�Dm�`j�Dm�Dm�Dm�n�n�3�3�$�A�z�2�2�2�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3���?�<��M�M�)�Q�Z�8�8�8��$�$�Q�Y��2�2�2�2��$�$�Y��
�;�;�;�=
<�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<����
<�
<�
<�
<��!	<�!	<s[�BE=�8 D	�C5�)D	�5C9�9D	�<C9�=D	�E=�D
�E=�D
�AE=�=F	�F	c���ddlm}|�t|j��d|ji��|�t|jj��|jtd��d���dS)Nr)�dataclass_textannor�)r�rC)r*rr'rrrr�rV)r+rs  r�test_text_annotationsz+TestStringAnnotations.test_text_annotations�
s���+�+�+�+�+�+�����-�1�2�2�
�&�*�+�	-�	-�	-�	
����-�1�:�;�;�&�*��D�z�z�
#�
#�	$�	$�	$�	$�	$rN)	rrrr�r�r�r�rrrrrr�r�;
sp������"2�"2�"2�H.�.�.�(���>.�.�.�'<�'<�'<�R	$�	$�	$�	$�	$rr�c�b�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�TestMakeDataclassc	��tddtfdttd���fgdd�i���}|d	��}|�|j|jfd
��|�|���d��dS)Nr#r6rmr�rp�add_onec��|jdzSr�rhr�s rr	z/TestMakeDataclass.test_simple.<locals>.<lambda>�
s��d�f�q�j�r�rmr�)r�r�r�)r�r8rEr'r6rmrr�s   rr�zTestMakeDataclass.test_simple�
s����3� �#�J� �#�u�Q�'7�'7�'7�8�:�&/�1H�1H�%I�
K�
K�
K��
�A�b�E�E�����!�#�q�s��W�-�-�-���������b�)�)�)�)�)rc	��i}tddtfdttd���fg|���}|�|i��dS)Nr#r6rmr�rpr	)r�r8rEr')r+�nsr#s   r�test_no_mutate_namespacez*TestMakeDataclass.test_no_mutate_namespace�
s_��
���3� �#�J� �#�u�Q�'7�'7�'7�8�:�%'�
)�
)�
)��	
����R� � � � � rc��Gd�d��}Gd�d��}tddtfg||f���}|d��}|�||��|�||��|�||��dS)	Nc��eZdZdS)�*TestMakeDataclass.test_base.<locals>.Base1Nrrrr�Base1r�
r]rrc��eZdZdS)�*TestMakeDataclass.test_base.<locals>.Base2Nrrrr�Base2r�
r]rrr#r6�rlr1)r�r8r��r+rrr#r�s     r�	test_basezTestMakeDataclass.test_base�
s���	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��3� �#�J�<�"'���
1�
1�
1��
�A�a�D�D�����a��#�#�#����a��'�'�'����a��'�'�'�'�'rc���tGd�d����}Gd�d��}tddtfg||f���}|�td��5|d	��}ddd��n#1swxYwY|d
d	��}|�||��|�||��|�||��|�|j|jfd��dS)Nc��eZdZUeed<dS)�4TestMakeDataclass.test_base_dataclass.<locals>.Base1r6Nr7rrrrr�
r:rrc��eZdZdS)�4TestMakeDataclass.test_base_dataclass.<locals>.Base2Nrrrrrr�
r]rrr#rmrzrequired positionalr1rAr�)	r&r�r8rFr{r�r'r6rmrs     r�test_base_dataclassz%TestMakeDataclass.test_base_dataclass�
sr��	�	�	�	�	�	�	�	�
��	�	�	�	�	�	�	�	�	��3� �#�J�<�"'���
1�
1�
1���
#�
#�I�/D�
E�
E�	�	���!���A�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�A�a��G�G�����a��#�#�#����a��'�'�'����a��'�'�'����!�#�q�s��V�,�,�,�,�,s�A7�7A;�>A;c�,�d�}tddtfdttfgd|i���}|dd��}|�t	|��dd	i��|�tt
|����d
��dS)Nc�&�|xj|zc_dSr�rh�r+rms  r�	post_initz2TestMakeDataclass.test_init_var.<locals>.post_init
s���F�F�a�K�F�F�F�Frr#r6rmrQr	r1rprrA)r�r8r�r'r�r(r))r+r r#r�s    rr�zTestMakeDataclass.test_init_var	s���	�	�	�
�3� �#�J� �'�#�,�/��'6�y�%A�	
�
�
��
�A�a��G�G������a���3��(�+�+�+�����V�A�Y�Y����+�+�+�+�+rc
���tddtfdttdfdtttd���fg��}|d��}|�t|��ddi��|�t
t|����d��|�|jd��|�|j	d��dS)	Nr#r6rmr�r�ryrprA)
r�r8rrEr'r�r(r)rmr�r�s   rr�z TestMakeDataclass.test_class_vars����3� �#�J� �(�3�-��4� �(�3�-��r�1B�1B�1B�C��
�
��

�A�a�D�D������a���3��(�+�+�+�����V�A�Y�Y����+�+�+������b�!�!�!������b�!�!�!�!�!rc
��tddtfdttdfdtttd���fgd�	��}|�d
t|����|�dt|����|�td��5tdgd�
��}ddd��dS#1swxYwYdS)Nr#r6rmr�r�ryrpFr�r�r�zunexpected keyword argument)�xxinit)	r�r8rrErdr�rWrFr{r�s  r�test_other_paramsz#TestMakeDataclass.test_other_params#s!���3� �#�J� �(�3�-��4� �(�3�-��r�1B�1B�1B�C��!&�
'�
'�
'��	
����T�!�W�W�-�-�-��
�
�j�$�q�'�'�*�*�*��
#�
#�I�/L�
M�
M�	-�	-��s�!�&+�-�-�-�A�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�2C�C�Cc��tdgd���}|ddd��}|�t|��dddd���|�|jdddd���tdddtfd	g��}|ddd��}|�t|��dddd���|�|jdtdd���dS)
Nr��r6rmr�rAr1rpz
typing.Anyr6rmr�)r�r'r�r9r8r�s   r�
test_no_typeszTestMakeDataclass.test_no_types4s���7�O�O�O�4�4��
�A�a��A�J�J������a������":�":�;�;�;�����*�,�2>�2>�-@�-@�	A�	A�	A�
�7�S�3��*�c�$:�;�;��
�A�a��A�J�J������a������":�":�;�;�;�����*�,�25�2>�-@�-@�	A�	A�	A�	A�	Arc��dD]u}|�|���5|�td��5tdd|g��ddd��n#1swxYwYddd��n#1swxYwY�vtd�fD]u}|�|���5|�td��5tdd|g��ddd��n#1swxYwYddd��n#1swxYwY�vdS)N)r)rAr1rpr)�	bad_fieldzInvalid field: r#rc��|Sr�rrhs rr	zCTestMakeDataclass.test_invalid_type_specification.<locals>.<lambda>Ms��1�rzhas no len\(\))rrFr{r�r)r+r)s  r�test_invalid_type_specificationz1TestMakeDataclass.test_invalid_type_specificationCs���	:�	:�I����	��2�2�
:�
:��+�+�I�7I�J�J�:�:�"�3��i�(8�9�9�9�:�:�:�:�:�:�:�:�:�:�:����:�:�:�:�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:����
:�
:�
:�
:��
 �$�*��	:�	:�I����	��2�2�
:�
:��+�+�I�7H�I�I�:�:�"�3��i�(8�9�9�9�:�:�:�:�:�:�:�:�:�:�:����:�:�:�:�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:����
:�
:�
:�
:��	:�	:sj�A-�A�
A-�A�A-�A�A-�-A1	�4A1	�C-�7C�
C-�C�C-�C�C-�-C1	�4C1	c	��dD]v}|�|���5|�td��5td|d|g��ddd��n#1swxYwYddd��n#1swxYwY�wdS)N)r�ab�rEzField name duplicatedr#r�rrFr{r��r+rEs  r�test_duplicate_field_namesz,TestMakeDataclass.test_duplicate_field_namesSs�� �	=�	=�E����E��*�*�
=�
=��+�+�I�7N�O�O�=�=�"�3���U�(;�<�<�<�=�=�=�=�=�=�=�=�=�=�=����=�=�=�=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=����
=�
=�
=�
=��	=�	=s4�A.�A�A.�A�A.�A�A.�.A2	�5A2	c��dD]�}|�|���5|�td��5tdd|g��ddd��n#1swxYwY|�td��5td|g��ddd��n#1swxYwY|�td��5td|dg��ddd��n#1swxYwYddd��n#1swxYwY��dS)N)�for�async�await�asr.zmust not be keywordsr#rr/r0s  r�test_keyword_field_namesz*TestMakeDataclass.test_keyword_field_namesYs��4�	6�	6�E����E��*�*�
6�
6��+�+�I�7M�N�N�6�6�"�3��e��5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6��+�+�I�7M�N�N�1�1�"�3���0�0�0�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��+�+�I�7M�N�N�6�6�"�3����5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��	6�	6�|�C6�A�
C6�A�C6�A�C6�<B�C6�B�C6�!B�"C6�C�C6�C#�#C6�&C#�'C6�6C:	�=C:	c��dD]�}|�|���5|�td��5tdd|g��ddd��n#1swxYwY|�td��5td|g��ddd��n#1swxYwY|�td��5td|dg��ddd��n#1swxYwYddd��n#1swxYwY��dS)N)�()�x,yr�2@3r�zlittle johnny tablesr.zmust be valid identifiersr#rr/r0s  r�test_non_identifier_field_namesz1TestMakeDataclass.test_non_identifier_field_namescs��J�	6�	6�E����E��*�*�
6�
6��+�+�I�7R�S�S�6�6�"�3��e��5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6��+�+�I�7R�S�S�1�1�"�3���0�0�0�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��+�+�I�7R�S�S�6�6�"�3����5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��	6�	6r8c�*�tdgd���dS)Nr#)�_�_a�a_a�a_)r�r�s r�test_underscore_field_namesz-TestMakeDataclass.test_underscore_field_namesms!��	�s�4�4�4�5�5�5�5�5rc���dD]]}|�|���5t|ddg��}|�|j|��ddd��n#1swxYwY�^dS)N)r:r;rr<r�)�	classnamerr�)rr�r'r)r+rEr#s   r�test_funny_class_names_namesz.TestMakeDataclass.test_funny_class_names_namesrs���7�	8�	8�I����	��2�2�
8�
8�"�9�s�C�j�9�9��� � ���Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s�.A�A	�A	N)rrrr�rrrr�r�r$r'r+r1r7r=rCrFrrrrr�
s�������*�*�*�!�!�!�(�(�(�-�-�-�$,�,�,�
"�
"�
"�-�-�-�"
A�
A�
A�:�:�:� =�=�=�6�6�6�6�6�6�6�6�6�
8�8�8�8�8rrc�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�TestReplacec���td���Gd�d����}|dd��}t|d���}|�|jd��|�|jd��dS)	NTr~c�$�eZdZUeed<eed<dS)�TestReplace.test.<locals>.Cr6rmNr7rrrr#rK|r.rr#rAr1rprh)r&rEr'r6rm�r+r#r�rs    rr*zTestReplace.test{s���	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�
�A�a��G�G��
�Q�!�_�_�_�������q�!�!�!������q�!�!�!�!�!rc�x�td���Gd�d����}|dd��}t|d���}|�|j|j|j|jfd	��|�|j|j|j|jfd
��|�td��5t|ddd
���ddd��n#1swxYwY|�td��5t|d���t|ddd
���ddd��n#1swxYwY|�td��5d|_ddd��n#1swxYwY|�td��5t|dd���}ddd��dS#1swxYwYdS)NTr~c�l�eZdZUeed<eed<edd���Zeed<edd���Zeed<d	S)
�"TestReplace.test_frozen.<locals>.Cr6rmFr�r�r�r�r�N)rrrr8r9rEr�r�rrrr#rO�sb��������F�F�F��F�F�F��U��r�2�2�2�A�s�2�2�2��U��s�3�3�3�A�s�3�3�3�3�3rr#rAr1rprh)rAr1r�r�)rpr1r�r��
init=Falseryr�)r6r�r�r�zcannot assign to field 'x'z3__init__\(\) got an unexpected keyword argument 'a'r�)r6r)r&rEr'r6rmr�r�rFrGrbr{rLs    rr�zTestReplace.test_frozen�s���	�$�	�	�	�	4�	4�	4�	4�	4�	4�	4�
 �	�	4�
�A�a��G�G��
�Q�!�_�_�_�����!�#�q�s�A�C���-��?�?�?����"�$���b�d�B�D�1�?�C�C�C��
#�
#�J��
=�
=�	(�	(��A��b�B�'�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
#�
#�J��
=�
=�	(�	(��A�������A��b�B�'�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
#�
#�$7�9U�
V�
V�	�	��B�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�0D�E�E�	'�	'���b�A�&�&�&�B�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	'sH�8C�C�C�>%D/�/D3�6D3�E)�)E-�0E-�F/�/F3�6F3c���td���Gd�d����}|dd��}|�td��5t|d�	��}ddd��dS#1swxYwYdS)
NTr~c�$�eZdZUeed<eed<dS)�.TestReplace.test_invalid_field_name.<locals>.Cr6rmNr7rrrr#rS�r.rr#rAr1z3__init__\(\) got an unexpected keyword argument 'z'rpr��r&rFr{rErLs    r�test_invalid_field_namez#TestReplace.test_invalid_field_name�s���	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	�
�A�a��G�G��
�
#�
#�I�0;�<�<�	!�	!���a����B�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�A*�*A.�1A.c�^�td���Gd�d����}|�td��5t|d���ddd��n#1swxYwY|�td��5tdd���ddd��dS#1swxYwYdS)	NTr~c�$�eZdZUeed<eed<dS)�*TestReplace.test_invalid_object.<locals>.Cr6rmNr7rrrr#rX�r.rr#rjrprhrrTr�s  r�test_invalid_objectzTestReplace.test_invalid_object�sI��	�$�	�	�	�	�	�	�	�	�	�	�
 �	�	��
#�
#�I�/C�
D�
D�	�	��A��O�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�/C�
D�
D�	�	��A��O�O�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A!�$A!�B"�"B&�)B&c���tGd�d����}|d��}d|_t|d���}|�|j|jfd��|�td��5t|d	d
���ddd��n#1swxYwY|�td��5t|d
���ddd��dS#1swxYwYdS)
Nc�>�eZdZUeed<edd���Zeed<dS)�#TestReplace.test_no_init.<locals>.Cr6Fr�r�rmNrurrrr#r\�s:��������F�F�F��U��r�2�2�2�A�s�2�2�2�2�2rr#rAryr�rh)r�r�rPr1�r�rd)r&rmrEr'r6rFrGrLs    rr�zTestReplace.test_no_init�s���	�	3�	3�	3�	3�	3�	3�	3�
��	3�
�A�a�D�D������Q�!�_�_�_�����"�$����w�/�/�/��
#�
#�J��
=�
=�	"�	"��A��b�!�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��
#�
#�J��
=�
=�	�	��A������	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�;B�B�!B�C�C#�&C#c��tGd�d����}|d��}|d��}|�|j|j��|�|jd��|�t
d��5t
|d���ddd��n#1swxYwYt
|d	�
��dS)Nc�4�eZdZUeed<dZeeed<dS)�$TestReplace.test_classvar.<locals>.Cr6r�rmN)rrrr8r9rmrrrrr#r`�s/��������F�F�F�#�A�x��}�#�#�#�#�#rr#rAr1r�z3__init__\(\) got an unexpected keyword argument 'y'r]rdr�rh)r&rqrmr'rFr{rEr�s    rr�zTestReplace.test_classvar�s��	�	$�	$�	$�	$�	$�	$�	$�
��	$�
�A�a�D�D��
�A�a�D�D���
�
�a�c�1�3���������d�#�#�#��
#�
#�I�0F�G�G�	�	��A������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	��Q������s�B%�%B)�,B)c�j�tGd�d����}|dd��}|�|jd��|�td��5t|d���ddd��n#1swxYwYt|dd�	��}|�|jd
��dS)Nc�6�eZdZUeed<eeed<d�ZdS)�0TestReplace.test_initvar_is_specified.<locals>.Cr6rmc�&�|xj|zc_dSr�rhrs  rrQz>TestReplace.test_initvar_is_specified.<locals>.C.__post_init__�r]rNr�rrrr#rc�s;��������F�F�F��s�|�O�O�O�
�
�
�
�
rr#rAr�z,InitVar 'y' must be specified with replace()rprhr�r�r�)r&r'r6rFrGrEr�s   r�test_initvar_is_specifiedz%TestReplace.test_initvar_is_specified�s��	�	�	�	�	�	�	�	�
��	�
�A�a��H�H�������b�!�!�!�
�
#�
#�J�1?�@�@�	�	��A��O�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�A��a� � � �������b�!�!�!�!�!s�A;�;A?�A?c�v�tGd�d����}|ddd���}|�t|��|d�����|�t|d�	��|ddd
�����|�t|dd���|ddd�����dS)Nc�T�eZdZUeed<dZeeed<dZeeed<d�ZdS)�6TestReplace.test_initvar_with_default_value.<locals>.Cr6Nrmr;r�c�R�|�|xj|z
c_|�|xj|z
c_dSdSr�rh)r+rmr�s   rrQzDTestReplace.test_initvar_with_default_value.<locals>.C.__post_init__�s5���=��F�F�a�K�F�F��=��F�F�a�K�F�F�F�F�!�=r)	rrrr8r9rmr�r�rQrrrr#rh�sV��������F�F�F�"�A�w�s�|�"�"�"� �A�w�s�|� � � �
 �
 �
 �
 �
 rr#rAr�r&r�rhrrdr;)rmr�)r&r'rEr�s   r�test_initvar_with_default_valuez+TestReplace.test_initvar_with_default_value�s���	�		 �		 �		 �		 �		 �		 �		 �
��		 �
�A��R�1������������Q�Q��W�W�W�-�-�-������a����!�!�b�A��*<�*<�*<�=�=�=������a�1�-�-�-�q�q�2��a�/@�/@�/@�A�A�A�A�Arc��tGd�d����}|d��}||_|�t|��d��dS)Nc��eZdZUded<dS)�*TestReplace.test_recursive_repr.<locals>.Cr#r�Nr�rrrr#rmr:rr#z1TestReplace.test_recursive_repr.<locals>.C(f=...)�r&r�r'rLr�s   r�test_recursive_reprzTestReplace.test_recursive_reprsm��	�	�	�	�	�	�	�	�
��	�
�A�d�G�G���������a���"U�V�V�V�V�Vrc��tGd�d����}|dd��}||_||_|�t	|��d��dS)Nc�$�eZdZUded<ded<dS)�4TestReplace.test_recursive_repr_two_attrs.<locals>.Cr#r��gNr�rrrr#rrr.rr#zBTestReplace.test_recursive_repr_two_attrs.<locals>.C(f=..., g=...))r&r�rsr'rLr�s   r�test_recursive_repr_two_attrsz)TestReplace.test_recursive_repr_two_attrss���	�	�	�	�	�	�	�	�
��	�
�A�d�D�M�M������������a���#>�	?�	?�	?�	?�	?rc��tGd�d����}tGd�d����}|d��}|d��}||_||_|�t|��d��dS)Nc��eZdZUded<dS)�6TestReplace.test_recursive_repr_indirection.<locals>.Cr`r�Nr�rrrr#rwr:rr#c��eZdZUded<dS)�6TestReplace.test_recursive_repr_indirection.<locals>.Dr#r�Nr�rrrr`ry!r:rr`zwTestReplace.test_recursive_repr_indirection.<locals>.C(f=TestReplace.test_recursive_repr_indirection.<locals>.D(f=...))rn)r+r#r`r�r�s     r�test_recursive_repr_indirectionz+TestReplace.test_recursive_repr_indirections���	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�
��	�
�A�d�G�G��
�A�d�G�G������������a���#8�	9�	9�	9�	9�	9rc�T�tGd�d����}tGd�d����}tGd�d����}|d��}|d��}|d��}||_||_||_|�t|��d��dS)Nc��eZdZUded<dS)�:TestReplace.test_recursive_repr_indirection_two.<locals>.Cr`r�Nr�rrrr#r}.r:rr#c��eZdZUded<dS)�:TestReplace.test_recursive_repr_indirection_two.<locals>.Dr�r�Nr�rrrr`r2r:rr`c��eZdZUded<dS)�:TestReplace.test_recursive_repr_indirection_two.<locals>.Er#r�Nr�rrrr�r�6r:rr�z�TestReplace.test_recursive_repr_indirection_two.<locals>.C(f=TestReplace.test_recursive_repr_indirection_two.<locals>.D(f=TestReplace.test_recursive_repr_indirection_two.<locals>.E(f=...)))rn)r+r#r`r�r�r�r7s       r�#test_recursive_repr_indirection_twoz/TestReplace.test_recursive_repr_indirection_two-s	��	�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�
��	�
�	�	�	�	�	�	�	�
��	�
�A�d�G�G��
�A�d�G�G��
�A�d�G�G���������������a���#9�	:�	:�	:�	:�	:rc��tGd�d����}|dd��}||_|�t|��d��dS)Nc�$�eZdZUded<eed<dS)�5TestReplace.test_recursive_repr_misc_attrs.<locals>.Cr#r�rsNr8rrrr#r�Fr.rr#rAzATestReplace.test_recursive_repr_misc_attrs.<locals>.C(f=..., g=1)rnr�s   r�test_recursive_repr_misc_attrsz*TestReplace.test_recursive_repr_misc_attrsEs{��	�	�	�	�	�	�	�	�
��	�
�A�d�A�J�J���������a���#<�	=�	=�	=�	=�	=rN)rrrr*r�rUrYr�r�rerjrortrzr�r�rrrrHrHzs�������	"�	"�	"�'�'�'�@	!�	!�	!�
�
�
����(���&"�"�"�"B�B�B�$W�W�W�
?�
?�
?�9�9�9�":�:�:�0	=�	=�	=�	=�	=rrHc��eZdZd�Zd�ZdS)�TestAbstractc�$�Gd�dtj��}td���Gd�d|����}|�t	j|����|�|ddd	��|dd
d����dS)Nc�N�eZdZejd���Zejd���ZdS)�5TestAbstract.test_abc_implementation.<locals>.Orderedc��dSr�rr�s  rr_z<TestAbstract.test_abc_implementation.<locals>.Ordered.__lt__a����rc��dSr�rr�s  rr`z<TestAbstract.test_abc_implementation.<locals>.Ordered.__le__er�rN)rrr�abc�abstractmethodr_r`rrr�Orderedr�`sP������
�
�
�
� �
�
��
�
�
� �
�
�
�
rr�Trc�.�eZdZUeed<ded<ded<dS)�2TestAbstract.test_abc_implementation.<locals>.Dater�Monthrr8r	Nr7rrrr
r�i�+��������I�I�I��N�N�N��J�J�J�J�Jrr
i�r��r��)r��ABCr&r�r��
isabstractr))r+r�r
s   r�test_abc_implementationz$TestAbstract.test_abc_implementation_s���	�	�	�	�	�c�g�	�	�	�
��	�	�	�	�	�	�	�	�7�	�	�
�	�	�
	
����+�D�1�1�2�2�2����4�4��R��+�+�T�T�$�q��_�_�=�=�=�=�=rc��Gd�dtj��}tGd�d|����}|�t	j|����d}|�t||��dS)Nc�.�eZdZejd���ZdS)�)TestAbstract.test_maintain_abc.<locals>.Ac��dSr�rr�s rr�z-TestAbstract.test_maintain_abc.<locals>.A.footr�rN)rrrr�r�r�rrrr�r�ss1������
�
�
�
� �
�
�
�
rr�c�.�eZdZUeed<ded<ded<dS)�,TestAbstract.test_maintain_abc.<locals>.Daterr�rr8r	Nr7rrrr
r�xr�rr
z#class Date with abstract method foo)r�r�r&rCr�r�rFr{)r+r�r
rHs    r�test_maintain_abczTestAbstract.test_maintain_abcrs���	�	�	�	�	���	�	�	�

�	�	�	�	�	�1�	�	�
��	�
	
����*�4�0�0�1�1�1�3�����y�#�t�4�4�4�4�4rN)rrrr�r�rrrr�r�^s2������>�>�>�&5�5�5�5�5rr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
TestMatchArgsc��tGd�d����}|�|d��jd��dS)Nc��eZdZUeed<dS)�(TestMatchArgs.test_match_args.<locals>.CrNr7rrrr#r��r:rr#r;r��r&r'�__match_args__r�s  r�test_match_argszTestMatchArgs.test_match_args�s[��	�	�	�	�	�	�	�	�
��	������2���-�v�6�6�6�6�6rc���d�tG�fd�d����}|�|d��j���dS)Nrc� ��eZdZUeed<�ZdS)�1TestMatchArgs.test_explicit_match_args.<locals>.CrN�rrrr8r9r�)�mas�rr#r��s���������F�F�F��N�N�Nrr#r;)r&rqr�)r+r#r�s  @r�test_explicit_match_argsz&TestMatchArgs.test_explicit_match_args�sk���
��	�	 �	 �	 �	 �	 �	 �	 �	 �	 �
��	 �	
�
�
�a�a��e�e�*�B�/�/�/�/�/rc��tddd���Gd�d����}|�|jd��dS)NF)rLrXrKc�.�eZdZUeed<eed<eed<dS)�'TestMatchArgs.test_bpo_43764.<locals>.Xrr�r�Nr7rrr�Xr��rrr��rr�r�r�)r+r�s  r�test_bpo_43764zTestMatchArgs.test_bpo_43764�se��	��%�e�	4�	4�	4�	�	�	�	�	�	�	�
5�	4�	�	
����)�?�;�;�;�;�;rc�.�td���Gd�d����}|�d|j��td���Gd�d����}|�|jd��td���Gd	�d
|����}|�|jd��tGd�d����}td���Gd
�d|����}|�|jd��dS)NF��
match_argsc��eZdZUeed<dS)�1TestMatchArgs.test_match_args_argument.<locals>.XrNr7rrrr�r��r:rr�r�c��eZdZUeed<dZdS)�1TestMatchArgs.test_match_args_argument.<locals>.YrrNr�rrr�Yr��s��������F�F�F�#�N�N�Nrr�rc��eZdZUeed<dS)�1TestMatchArgs.test_match_args_argument.<locals>.Zr�Nr7rrr�Zr��r:rr�c�$�eZdZUeed<eed<dS)�1TestMatchArgs.test_match_args_argument.<locals>.Arr�Nr7rrrr�r��r.rr�c��eZdZUeed<dS)�1TestMatchArgs.test_match_args_argument.<locals>.Br�Nr7rrrrur��r:rru)rr�)r&rdr�r'r�)r+r�r�r�r�rus      r�test_match_args_argumentz&TestMatchArgs.test_match_args_argument�s���	�e�	$�	$�	$�	�	�	�	�	�	�	�
%�	$�	����)�1�:�6�6�6�	�e�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�
%�	$�	$�	
����)�6�2�2�2�	�e�	$�	$�	$�	�	�	�	�	��	�	�
%�	$�	�����)�6�2�2�2�
�	�	�	�	�	�	�	�
��	�
�e�	$�	$�	$�	�	�	�	�	��	�	�
%�	$�	�����)�:�6�6�6�6�6rc���tddtfdtfg��}|�|jd��tddtfdtfgd���}|�|jd��tddtfdtfgd���}|�d|j��tddtfdtfgd	d
i���}|�|jd
��dS)Nr#r6rmr�Tr�F�__match__args__r�r�r	)r�r8r'r�rdr�r�s  r�test_make_dataclassesz#TestMatchArgs.test_make_dataclasses�s����3�#�s��c�3�Z� 8�9�9������)�:�6�6�6��3�#�s��c�3�Z� 8�T�J�J�J������)�:�6�6�6��3�#�s��c�3�Z� 8�U�K�K�K�����*�A�J�7�7�7��3�#�s��c�3�Z� 8�EU�W]�D^�_�_�_������)�6�2�2�2�2�2rN)rrrr�r�r�r�r�rrrr�r��s_������7�7�7�0�0�0�<�<�<�7�7�7�83�3�3�3�3rr�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestKeywordArgsc���d}|�t|��5tGd�d����}ddd��n#1swxYwY|�t|��5tGd�d����}ddd��n#1swxYwY|�t|��5td���Gd�d����}ddd��dS#1swxYwYdS)Nz+field a is a ClassVar but specifies kw_onlyc�>�eZdZUed���Zeeed<dS)�1TestKeywordArgs.test_no_classvar_kwarg.<locals>.AT��kw_onlyrN�rrrrErrr8r9rrrr�r��s3�������#(�5��#6�#6�#6��8�C�=�6�6�6�6�6rr�c�>�eZdZUed���Zeeed<dS�r�Fr�rNr�rrrr�z1TestKeywordArgs.test_no_classvar_kwarg.<locals>.A��3�������#(�5��#7�#7�#7��8�C�=�7�7�7�7�7rTr�c�>�eZdZUed���Zeeed<dSr�r�rrrr�z1TestKeywordArgs.test_no_classvar_kwarg.<locals>.A�r�rr,)r+rHr�s   r�test_no_classvar_kwargz&TestKeywordArgs.test_no_classvar_kwarg�s���;��
�
#�
#�I�s�
3�
3�	7�	7�
�
7�
7�
7�
7�
7�
7�
7��Y�
7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�
#�
#�I�s�
3�
3�	8�	8�
�
8�
8�
8�
8�
8�
8�
8��Y�
8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�
�
#�
#�I�s�
3�
3�	8�	8�
�t�
$�
$�
$�
8�
8�
8�
8�
8�
8�
8�%�
$�
8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s5�A�A	�A	�+B�B�B�8$C)�)C-�0C-c�p�td���Gd�d����}|�t|��dj��td���Gd�d����}|�t|��dj��td���Gd�d����}|�t|��dj��td���Gd	�d����}|�t|��dj��td���Gd
�d����}|�t|��dj��td���Gd�d����}|�t|��dj��tGd�d����}|�t|��dj��tGd
�d����}|�t|��dj��tGd�d����}|�t|��dj��dS)NTr�c��eZdZUeed<dS��6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.ArNr7rrrr�r��r:rr�rc�2�eZdZUed���Zeed<dS�r�Tr�rN�rrrrErr8r9rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.A��/��������U�4�(�(�(�A�s�(�(�(�(�(rc�2�eZdZUed���Zeed<dS�r�Fr�rNr�rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.A��/��������U�5�)�)�)�A�s�)�)�)�)�)rFc��eZdZUeed<dSr�r7rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.A�r:rc�2�eZdZUed���Zeed<dSr�r�rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.A�r�rc�2�eZdZUed���Zeed<dSr�r�rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.A�r�rc��eZdZUeed<dSr�r7rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.A�r:rc�2�eZdZUed���Zeed<dSr�r�rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.Ar�rc�2�eZdZUed���Zeed<dSr�r�rrrr�z6TestKeywordArgs.test_field_marked_as_kwonly.<locals>.Ar�r)r&rCr)r�r�r^s  r�test_field_marked_as_kwonlyz+TestKeywordArgs.test_field_marked_as_kwonly�s9��
�4�	 �	 �	 �	�	�	�	�	�	�	�
!�	 �	�����q�	�	�!��,�-�-�-�	�4�	 �	 �	 �	)�	)�	)�	)�	)�	)�	)�
!�	 �	)�����q�	�	�!��,�-�-�-�	�4�	 �	 �	 �	*�	*�	*�	*�	*�	*�	*�
!�	 �	*��������1��-�.�.�.�
�5�	!�	!�	!�	�	�	�	�	�	�	�
"�	!�	��������1��-�.�.�.�	�5�	!�	!�	!�	)�	)�	)�	)�	)�	)�	)�
"�	!�	)�����q�	�	�!��,�-�-�-�	�5�	!�	!�	!�	*�	*�	*�	*�	*�	*�	*�
"�	!�	*��������1��-�.�.�.�
�	�	�	�	�	�	�	�
��	��������1��-�.�.�.�	�	)�	)�	)�	)�	)�	)�	)�
��	)�����q�	�	�!��,�-�-�-�	�	*�	*�	*�	*�	*�	*�	*�
��	*��������1��-�.�.�.�.�.rc��td���Gd�d����}|�|d���jd��tGd�d����}|�|dd	�
��jd��dS)NTr�c��eZdZUeed<dS)�*TestKeywordArgs.test_match_args.<locals>.CrNr7rrrr#r�r:rr#r;r�rc�<�eZdZUeed<ed���Zeed<dS)r�rTr�r�N)rrrr8r9rEr�rrrr#z*TestKeywordArgs.test_match_args.<locals>.Cs8��������F�F�F��U�4�(�(�(�A�s�(�(�(�(�(rr�rr�r�s  rr�zTestKeywordArgs.test_match_args
s���	�4�	 �	 �	 �	�	�	�	�	�	�	�
!�	 �	������R����/��4�4�4�	�	)�	)�	)�	)�	)�	)�	)�
��	)�	
�����2�����3�V�<�<�<�<�<rc���tGd�d����}|ddd���d}|�t|��5|ddd��ddd��n#1swxYwYtd�	��Gd
�d����}|ddd���d
}|�t|��5|ddd��ddd��n#1swxYwYtGd�d����}|ddd���}|�|jd��|�|jd��|�|jd��|ddd���}|�|jd��|�|jd��|�|jd��|ddd���}|�|jd��|�|jd��|�|jd��|ddd���}|�|jd��|�|jd��|�|jd��dS)Nc�8�eZdZUeed<eed<eed<eed<dS)�'TestKeywordArgs.test_KW_ONLY.<locals>.Arr?r�r�N�rrrr8r9�KW_ONLYrrrr�r��4��������F�F�F��J�J�J��F�F�F��F�F�F�F�Frr�rpr�r�r�r��-takes 2 positional arguments but 4 were givenTr�c�8�eZdZUeed<eed<eed<eed<dS)�'TestKeywordArgs.test_KW_ONLY.<locals>.Brr?r�r�Nr�rrrrur�$r�rrur�z,takes 1 positional argument but 4 were givenc�P�eZdZUeed<eed<eed<ed���Zeed<dS)�'TestKeywordArgs.test_KW_ONLY.<locals>.Crr?r�Fr�r�N�rrrr8r9r�rEr�rrrr#r�0sJ��������F�F�F��J�J�J��F�F�F��U�5�)�)�)�A�s�)�)�)�)�)rr#rAr1r)r�r�)r�r�r)r&rFr{r'rr�r�)r+r�rHrur#r�s      r�test_KW_ONLYzTestKeywordArgs.test_KW_ONLYsO��	�	�	�	�	�	�	�	�
��	�
	
��!�q�A�����=��
�
#�
#�I�s�
3�
3�	�	�
�A�a��A�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�4�	 �	 �	 �	�	�	�	�	�	�	�
!�	 �	�
	
��A��a�����<��
�
#�
#�I�s�
3�
3�	�	�
�A�a��A�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�	*�	*�	*�	*�	*�	*�	*�
��	*�

�A�a��a�L�L�L�������a� � � ������a� � � ������a� � � �
�A�a�1��N�N�N�������a� � � ������a� � � ������a� � � �
�A�a�1��N�N�N�������a� � � ������a� � � ������a� � � �
�A��Q�!����������a� � � ������a� � � ������a� � � � � s$�A � A$�'A$�9C�C�Cc���tGd�d����}|ddd���d}|�t|��5|ddd��ddd��dS#1swxYwYdS)Nc�8�eZdZUeed<ded<eed<eed<dS)�1TestKeywordArgs.test_KW_ONLY_as_string.<locals>.Arzdataclasses.KW_ONLYr?r�r�Nr7rrrr�r�Hs7��������F�F�F�$�$�$�$��F�F�F��F�F�F�F�Frr�rpr�rr�r�r�)r+r�rHs   r�test_KW_ONLY_as_stringz&TestKeywordArgs.test_KW_ONLY_as_stringGs���	�	�	�	�	�	�	�	�
��	�
	
��!�q�A�����=��
�
#�
#�I�s�
3�
3�	�	�
�A�a��A�J�J�J�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A!�!A%�(A%c�H�d}|�t|��5tGd�d����}ddd��n#1swxYwY|�t|��5tGd�d����}ddd��n#1swxYwY|�t|��5tGd�d����}ddd��n#1swxYwYtGd�d����}tGd�d����}tGd�d	|����}|�t|��5tGd
�d����}tGd�d	|����}ddd��dS#1swxYwYdS)Nz6'Y' is KW_ONLY, but KW_ONLY has already been specifiedc�B�eZdZUeed<eed<eed<eed<eed<dS)�-TestKeywordArgs.test_KW_ONLY_twice.<locals>.Arr�r�r�r�Nr�rrrr�rWs=������������
�
�
��
�
�
����������rr�c�B�eZdZUeed<eed<eed<eed<eed<dS)rrr�r�r�r�Nr�rrrr�z-TestKeywordArgs.test_KW_ONLY_twice.<locals>.A`s=������������
�
�
������
�
�
������rc�B�eZdZUeed<eed<eed<eed<eed<dS)rrr�r�r�r�Nr�rrrr�z-TestKeywordArgs.test_KW_ONLY_twice.<locals>.Ais=������������
�
�
����������
�
�
�
�
rc�P�eZdZUeed<eed<eed<ed���Zeed<dS)rrr?r�Tr�r�Nr�rrrr�z-TestKeywordArgs.test_KW_ONLY_twice.<locals>.ArsJ��������F�F�F��J�J�J��F�F�F��U�4�(�(�(�A�s�(�(�(�(�(rc�8�eZdZUeed<eed<eed<eed<dS�rrr?r�r�Nr�rrrr�z-TestKeywordArgs.test_KW_ONLY_twice.<locals>.Azr�rc�$�eZdZUeed<eed<dS)�-TestKeywordArgs.test_KW_ONLY_twice.<locals>.Br?r�N�rrrr�r9r8rrrrur�s"��������J�J�J��F�F�F�F�Frruc�8�eZdZUeed<eed<eed<eed<dSrr�rrrr�z-TestKeywordArgs.test_KW_ONLY_twice.<locals>.A�s4������������
�
�
����������rc�.�eZdZUeed<eed<eed<dS)rr�r�r�Nrrrrruz-TestKeywordArgs.test_KW_ONLY_twice.<locals>.B�s+��������
�
�
������
�
�
�
�
rr,)r+rHr�rus    r�test_KW_ONLY_twicez"TestKeywordArgs.test_KW_ONLY_twiceSsd��F��
�
#�
#�I�s�
3�
3�	�	�
�
�
�
�
�
�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�s�
3�
3�	�	�
�
�
�
�
�
�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�s�
3�
3�	�	�
�
�
�
�
�
�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�	)�	)�	)�	)�	)�	)�	)�
��	)�
�	�	�	�	�	�	�	�
��	�

�	�	�	�	�	��	�	�
��	�
�
#�
#�I�s�
3�
3�	�	�
�
�
�
�
�
�
�
��Y�
�
�
�
�
�
�
�A�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sG�A�A	�A	�+B�B�B�8C�C#�&C#�6F�F�Fc�\�tGd�d����}|�td��5|dddd���ddd��n#1swxYwYtGd	�d
����}|dddd���}|�t	|��ddd���dS)Nc�`�eZdZUeed<eed<eeed<eed<eeed<d�ZdS)�)TestKeywordArgs.test_post_init.<locals>.Arr?r�r�r�c�,�td|�d|�����)Nzb=z d=rP�r+r�r�s   rrQz7TestKeywordArgs.test_post_init.<locals>.A.__post_init__�s��!�,�Q�,�,�!�,�,�/�/�/rN�rrrr8r9r�r�rQrrrr�r�sZ��������F�F�F��J�J�J��s�|�O�O�O��F�F�F��s�|�O�O�O�
0�
0�
0�
0�
0rr�zb=3 d=4rAr1rpr)r�r�r�c�`�eZdZUeed<eed<eeed<eed<eeed<d�ZdS)�)TestKeywordArgs.test_post_init.<locals>.Brr?r�r�r�c�"�||_||_dSr��rr�rs   rrQz7TestKeywordArgs.test_post_init.<locals>.B.__post_init__�s���������rNrrrrrur�sZ��������F�F�F��J�J�J��s�|�O�O�O��F�F�F��s�|�O�O�O�
�
�
�
�
rrur)r&rFrr'rD)r+r�rur�s    rrczTestKeywordArgs.test_post_init�s2��	�	0�	0�	0�	0�	0�	0�	0�
��	0��
#�
#�K��
;�
;�	 �	 �
�A�a�1��Q�����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�	�	�	�	�	�	�	�
��	�
�A�a�1��Q������������!�!�$4�$4�5�5�5�5�5s�A�A�Ac���tGd�d����}|dd���}|�|jd��|�|jd��|�|jd��|�|jd��d}|�t|��5tGd	�d����}ddd��dS#1swxYwYdS)
Nc�J�eZdZUdZeed<eed<eed<dZeed<eed<dS)	�(TestKeywordArgs.test_defaults.<locals>.Arrr?r�rAr�r�N�rrrrr8r9r�r�rrrr�r�sE��������A�s�J�J�J��J�J�J��F�F�F��A�s�J�J�J��F�F�F�F�Frr�rrp)r�r�rrAz1non-default argument 'z' follows default argumentc�T�eZdZUdZeed<eed<eed<eed<dZeed<eed<d	S)
rrrr�r?r�rAr�r�Nrrrrr�z(TestKeywordArgs.test_defaults.<locals>.A�sN���������3�
�
�
������
�
�
�������3�
�
�
������r)r&r'rr�r�r�rFr{)r+r�r�	err_regexs    r�
test_defaultszTestKeywordArgs.test_defaults�s[��	�	�	�	�	�	�	�	�
��	�
�A��Q�K�K�K�������a� � � ������a� � � ������a� � � ������a� � � �H�	�
�
#�
#�I�y�
9�
9�	�	�
�
�
�
�
�
�
�
��Y�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�1C�C� Cc	��tddgd���}|�t|��dj��tdddttd���fgd���}|�t|��dj��|�t|��d	j��dS)
Nr�rTr�rrur�FrA)r�rCr)r�r8rEr�r"s   r�test_make_dataclassz#TestKeywordArgs.test_make_dataclass�s����3���t�4�4�4������q�	�	�!��,�-�-�-��3��#�s�E�%�,@�,@�,@�!A�B�#'�
)�
)�
)��	
����q�	�	�!��,�-�-�-��������1��-�.�.�.�.�.rN)rrrr�r�r�r�r�rrcrrrrrr�r��s�������8�8�8�"2/�2/�2/�h=�=�=�.!�.!�.!�`
�
�
�>�>�>�B6�6�6�4���:/�/�/�/�/rr��__main__)3�dataclassesr�rZr{r�r�rLr?r\�unittest�
unittest.mockr�typingrrrrr	r
rrr
rr�collectionsrrr�	functoolsr�	Exceptionrrr�r�r�rr&r:rUr�r�rxr�rrHr�r�r�r�mainrrr�<module>r(s���
����
�
�
�
�	�	�	�	�
�
�
�
�������������������������������`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�`�!�!�!�!�!�!�6�6�6�6�6�6�6�6�6�6�$�$�$�$�$�$�
�
�
�
�����#�"�"�"�"�)�"�"�"�Y �Y �Y �Y �Y �x� �Y �Y �Y �x@ � � � � �H�-� � � �FVN�VN�VN�VN�VN�H�%�VN�VN�VN�rS%�S%�S%�S%�S%�x� �S%�S%�S%�lD*�D*�D*�D*�D*�x� �D*�D*�D*�N,%�,%�,%�,%�,%�X�
�,%�,%�,%�^J�J�J�J�J�8�$�J�J�J�XYM�YM�YM�YM�YM�x� �YM�YM�YM�xk�k�k�k�k��"�k�k�k�\m,�m,�m,�m,�m,��!�m,�m,�m,�`	s�s�s�s�s�h�'�s�s�s�jX$�X$�X$�X$�X$�H�-�X$�X$�X$�vb8�b8�b8�b8�b8��)�b8�b8�b8�HT=�T=�T=�T=�T=�(�#�T=�T=�T=�H"5�"5�"5�"5�"5�8�$�"5�"5�"5�J>3�>3�>3�>3�>3�H�%�>3�>3�>3�BO/�O/�O/�O/�O/�h�'�O/�O/�O/�d�z����H�M�O�O�O�O�O��r