HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/__pycache__/test_enum.cpython-311.opt-1.pyc
�

��Vc���T
�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Zddlm
Z
ddlmZddlmZmZmZmZmZmZmZmZddlmZmZmZmZmZmZddlmZmZm Z m!Z!m"Z"ddlm#Z#m$Z$ddl%m&Z&dd	l'm(Z(m)Z)m*Z*m+Z+dd
l,m-Z-ddl.m/Z/ddl.m0Z0dd
l1m2Z2ddlm3Z3ej4dd�Z5d�Z6e7Z8e8�9d��dZ:	Gd�de��Z;n#e<$rZ=e=Z;YdZ=[=ndZ=[=wwxYw	Gd�de>e��Z?n#e<$rZ=e=Z?YdZ=[=ndZ=[=wwxYw	Gd�de@e��ZAn#e<$rZ=e=ZAYdZ=[=ndZ=[=wwxYw	Gd�de��ZBn#e<$rZ=e=ZBYdZ=[=ndZ=[=wwxYwGd�de��ZCGd�de��ZDGd�d e��ZEGd!�d"e��ZF	ed#d$e7�%��ZGn#e<$rZ=e=ZGYdZ=[=ndZ=[=wwxYw	ed&d'��ZHn#e<$rZ=e=ZHYdZ=[=ndZ=[=wwxYw	ed(d)d*�+��ZIn#e<$rZ=e=ZIYdZ=[=ndZ=[=wwxYw	Gd,�d-e��ZJn#e<$rYnwxYwd�d.�ZKd/�ZLGd0�d1ejM��ZNGd2�d3��ZOejPGd4�d5eej�6����ZQejPGd7�d8eej�6����ZRejPGd9�d:e����ZSGd;�d<��ZTGd=�d>��ZUGd?�d@��ZVGdA�dB��ZWGdC�dD��ZXGdE�dFeTeUejM��ZYGdG�dHeTeUejM��ZZGdI�dJeTeWejM��Z[GdK�dLeTeWejM��Z\GdM�dNeTeWejM��Z]GdO�dPeTeVejM��Z^GdQ�dReTeVejM��Z_GdS�dTeTeVejM��Z`GdU�dVeTeVejM��ZaGdW�dXeTeWejM��ZbGdY�dZeTeVejM��ZcGd[�d\eTeWejM��ZdGd]�d^ejM��ZeGd_�d`ejM��ZfGda�dbejM��ZgGdc�ddejM��ZhGde�dfejM��ZiGdg�dhejM��ZjGdi�djejM��ZkGdk�dlejM��ZlGdm�dnejM��ZmdoZndpZoGdq�drejM��ZpGds�dtejM��ZqduZrduZsduZtduZuduZvduZwduZxduZyduZzduZ{duZ|duZ}dvZ~dwZduZ�dxZ�dyZ�dzZ�d{Z�d|Z�Gd}�d~��Z�Gd�d�ejM��Z�d��Z�d��Z�e���Z�e7d�krej���dSdS)��N)�OrderedDict��date)�Enum�IntEnum�StrEnum�EnumType�Flag�IntFlag�unique�auto)�STRICT�CONFORM�EJECT�KEEP�_simple_enum�_test_simple_enum)�verify�UNIQUE�
CONTINUOUS�NAMED_FLAGS�ReprEnum)�member�	nonmember)�StringIO)�dumps�loads�
PicklingError�HIGHEST_PROTOCOL)�support)�	ALWAYS_EQ)�threading_helper)�dedent)�	timedelta�c��|�tjt����tj�d��r@|�tjdtjtj	z�����|S)NzDoc/library/enum.rstz../../Doc/library/enum.rst)�optionflags)
�addTests�doctest�DocTestSuite�enum�os�path�exists�DocFileSuite�ELLIPSIS�NORMALIZE_WHITESPACE)�loader�tests�ignores   �"D:\Python311\Lib\test\test_enum.py�
load_testsr6sx��	�N�N�7�'��-�-�.�.�.�	�w�~�~�,�-�-��
���w�+�,�#�,�W�-I�I����	�	�	��L��.���c��eZdZdZdZdZdS)�Stooges�r%�N��__name__�
__module__�__qualname__�LARRY�CURLY�MOE�r7r5r;r;*��������������r7r;c��eZdZdZdZdZdS)�
IntStoogesr<r%r=Nr>rEr7r5rHrH2rFr7rHc��eZdZdZdZdZdS)�FloatStoogesg=
ףp=�?g�(\��@g�R$_	$	@Nr>rEr7r5rJrJ:s�������������r7rJc��eZdZdZdZdZdS)�FlagStoogesr<r%�Nr>rEr7r5rLrLBrFr7rLc��eZdZdZdZdZdZdS)�FlagStoogesWithZerorr<r%rMN�r?r@rA�NOFLAGrBrCrDrEr7r5rOrOI�"������
�F�
�E�
�E�
�C�C�Cr7rOc��eZdZdZdZdZdS)�IntFlagStoogesr<r%rMNr>rEr7r5rTrTOs������
�E�
�E�
�C�C�Cr7rTc��eZdZdZdZdZdZdS)�IntFlagStoogesWithZerorr<r%rMNrPrEr7r5rVrVTrRr7rVc��eZdZdZdZdS)�Name�Guido van RossumzBarry WarsawN)r?r@rA�BDFL�FLUFLrEr7r5rXrX[s�������D��E�E�Er7rX�Questionzwho what when where why��module�Answerzhim this then there because�Theoryzrule law supposition�spanish_inquisition)�qualnamec��eZdZdZdZdZdS)�Fruitr<r%r=N)r?r@rA�TOMATO�BANANA�CHERRYrEr7r5rdrdps�������������r7rdc	��|�|}ttdz��D]*}|tt||�����|���+dS�Nr<)�protocol)�rangerrr)�	assertion�source�targetrjs    r5�test_pickle_dump_loadrowsd��
�����*�Q�.�/�/�C�C���	�%��f�x�8�8�8�9�9�6�B�B�B�B�C�Cr7c��ttdz��D]6}||��5t||���ddd��n#1swxYwY�7dSri)rkrr)rl�	exception�objrjs    r5�test_pickle_exceptionrs}s����*�Q�.�/�/�*�*��
�Y�y�
!�
!�	*�	*��#��)�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*��*�*s�A�A	�
A	c�:�eZdZdZdZdZdZdZd�Zd�Z	d�Z
d	�Zd
S)�TestHelpers��_bad_�_good_�	_what_ho_��__mal__�__bien__�__que_que__��_MyEnum__private�_MyEnum__still_private��_MyEnum__private_�_MyEnum__also_private_��okay�
_semi_private�_weird__�	_MyEnum__c��Gd�d��}dD]k}|��}|�tj|����t||d��|�tj|�����ldS)Nc��eZdZdS)�+TestHelpers.test_is_descriptor.<locals>.fooN�r?r@rArEr7r5�foor����������Dr7r�)�__get__�__set__�
__delete__r<)�assertFalser+�_is_descriptor�setattr�
assertTrue)�selfr��attrrrs    r5�test_is_descriptorzTestHelpers.test_is_descriptor�s���	�	�	�	�	�	�	�	�6�	6�	6�D��#�%�%�C����T�0��5�5�6�6�6��C��q�!�!�!��O�O�D�/��4�4�5�5�5�5�		6�	6r7c��|j|jzD]-}|�tj|��d|z���.|j|jz|jzD]-}|�tj|��d|z���.dD])}|�tj|�����*dD])}|�tj|�����*dS)N�%r is a not sunder name?�%r is a sunder name?)�_a_�_aa_)
�a�a_�_a�__a�a__�__a__�_a__�__a_�_�__�___�____�_____�	�sunder_names�private_and_sunder_namesr�r+�
_is_sunder�dunder_names�
private_names�random_namesr��r��name�ss   r5�test_sunderzTestHelpers.test_sunder�s����%��(E�E�	V�	V�D��O�O�D�O�D�1�1�3M�PT�3T�U�U�U�U��%��(:�:�T�=N�N�	S�	S�D����T�_�T�2�2�4J�T�4Q�R�R�R�R� �	0�	0�A��O�O�D�O�A�.�.�/�/�/�/�/�	1�	1�A����T�_�Q�/�/�0�0�0�0�	1�	1r7c��|jD]-}|�tj|��d|z���.|j|jz|jz|jzD]-}|�tj|��d|z���.dD])}|�tj|�����*dD])}|�tj|�����*dS)N�%r is a not dunder name?�%r is a dunder name?)r��__aa__)
r�r�r�r�r�r�r�r�r�r�r�r�r��	r�r�r+�
_is_dunderr�r�r�r�r�r�s   r5�test_dunderzTestHelpers.test_dunder�s����%�	V�	V�D��O�O�D�O�D�1�1�3M�PT�3T�U�U�U�U��%��(:�:�T�=Z�Z�]a�]n�n�	S�	S�D����T�_�T�2�2�4J�T�4Q�R�R�R�R�$�	0�	0�A��O�O�D�O�A�.�.�/�/�/�/�/�	1�	1�A����T�_�Q�/�/�0�0�0�0�	1�	1r7c��|j|jzD]+}|�tjd|��d���,|j|jz|jzD]+}|�tjd|��d���,dS�N�MyEnumz%r is a not private name?z%r is a private name?�	r�r�r�r+�_is_privater�r�r�r��r�r�s  r5�test_is_privatezTestHelpers.test_is_private�����&��)F�F�	[�	[�D��O�O�D�,�X�t�<�<�>Y�Z�Z�Z�Z��%��(9�9�D�<M�M�	X�	X�D����T�-�h��=�=�?V�W�W�W�W�	X�	Xr7N)r?r@rAr�r�r�r�r�r�r�r�r�rEr7r5ruru�sq������2�L�7�L�@�M�L��C�L�6�6�6�	1�	1�	1�	1�	1�	1�X�X�X�X�Xr7ruc��eZdZdd�Zd�ZdS)�
classpropertyNc�T�||_||_||_|�	|�|j}||_dS�N)�fget�fset�fdel�__doc__)r�r�r�r��docs     r5�__init__zclassproperty.__init__�s8����	���	���	��	�4�	��,�C�����r7c�,�|�|��Sr�)r�)r��instance�
ownerclasss   r5r�zclassproperty.__get__�s���y�y��$�$�$r7)NNNN)r?r@rAr�r�rEr7r5r�r��s7����������%�%�%�%�%r7r�c�N�eZdZdZe��Ze��Ze��ZdS)�HeadlightsKrN)r?r@rA�OFF_Kr
�
LOW_BEAM_K�HIGH_BEAM_K�FOG_KrEr7r5r�r���4������
�E�����J��$�&�&�K��D�F�F�E�E�Er7r���boundaryc�N�eZdZdZe��Ze��Ze��ZdS)�HeadlightsCrN)r?r@rA�OFF_Cr
�
LOW_BEAM_C�HIGH_BEAM_C�FOG_CrEr7r5r�r��r�r7r�c��eZdZdZdZdS)�NoNamer<r%N�r?r@rA�ONE�TWOrEr7r5r�r��s������
�C�
�C�C�Cr7r�c�0�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zej
ed
kd��d���Zej
ed
kd
��d���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$dS)#�
_EnumTestszX
    Test for behavior that is the same across the different types of enumerations.
    Nc���Gd�d�j��}G�fd�d|��}|�_Gd�d�j��}|�_Gd�d�j��}|�_Gd	�d
�j��}|�_Gd�d�j��}Gd
�d|��}|�_d�_gd��_t|t��r
�j�_
nc|jtur
gd��_
nKt�jt��r!gd��_
d�_|d���_n�j
pgd��_
t�dd��s�j
�_dSdS)Nc�.�eZdZejd���ZdS)�"_EnumTests.setUp.<locals>.BaseEnumc��d|jzS)Nz%s is first!�r��r�s r5�firstz(_EnumTests.setUp.<locals>.BaseEnum.first�s��%��	�1�1r7N)r?r@rAr+�propertyr�rEr7r5�BaseEnumr��s/������
�]�
2�
2��]�
2�
2�
2r7r�c�z��eZdZe��Ze��Ze��Ze�je	��rdZ
dSeZ
dS)�"_EnumTests.setUp.<locals>.MainEnumr=N)r?r@rAr
r��second�third�
issubclass�	enum_typer
�duper�s�r5�MainEnumr��sT��������D�F�F�E��T�V�V�F��D�F�F�E��z�$�.�$�/�/�
��������r7r�c�(�eZdZd�Ze��ZdS)�$_EnumTests.setUp.<locals>.NewStrEnumc�4�|j���Sr��r��upperr�s r5�__str__z,_EnumTests.setUp.<locals>.NewStrEnum.__str__�����y���(�(�(r7N)r?r@rAr�r
r�rEr7r5�
NewStrEnumr���(������
)�
)�
)��D�F�F�E�E�Er7rc�(�eZdZd�Ze��ZdS)�'_EnumTests.setUp.<locals>.NewFormatEnumc�4�|j���Sr�r��r��specs  r5�
__format__z2_EnumTests.setUp.<locals>.NewFormatEnum.__format__�r�r7N)r?r@rArr
r�rEr7r5�
NewFormatEnumr�rr7rc�.�eZdZd�Zd�Ze��ZdS)�*_EnumTests.setUp.<locals>.NewStrFormatEnumc�4�|j���Sr��r��titler�s r5r�z2_EnumTests.setUp.<locals>.NewStrFormatEnum.__str__�r�r7c�P�d�t|j����S�N���join�reversedr�rs  r5rz5_EnumTests.setUp.<locals>.NewStrFormatEnum.__format__����w�w�x��	�2�2�3�3�3r7N)r?r@rAr�rr
r�rEr7r5�NewStrFormatEnumr
�s7������
)�
)�
)�
4�
4�
4��D�F�F�E�E�Er7rc��eZdZd�Zd�ZdS)�%_EnumTests.setUp.<locals>.NewBaseEnumc�4�|j���Sr�rr�s r5r�z-_EnumTests.setUp.<locals>.NewBaseEnum.__str__r�r7c�P�d�t|j����Srrrs  r5rz0_EnumTests.setUp.<locals>.NewBaseEnum.__format__rr7N)r?r@rAr�rrEr7r5�NewBaseEnumrs2������
)�
)�
)�
4�
4�
4�
4�
4r7rc�"�eZdZe��ZdS)�$_EnumTests.setUp.<locals>.NewSubEnumN)r?r@rAr
r�rEr7r5�
NewSubEnumr
s�������D�F�F�E�E�Er7rF)r�r�r�)�1�2�3)r<r%rMT��r<r%r=�
source_values)r�r�rrrr�is_flag�namesr�r�values�
_member_type_�strr
�dupe2�getattrr#)r�r�r�rrrrrs`       r5�setUpz_EnumTests.setUp�s/���	2�	2�	2�	2�	2�t�~�	2�	2�	2�	�	�	�	�	�	�	�x�	�	�	�!��
�	�	�	�	�	���	�	�	�%���	�	�	�	�	�D�N�	�	�	�+���	�	�	�	�	�t�~�	�	�	�!1���	4�	4�	4�	4�	4�$�.�	4�	4�	4�
	�	�	�	�	��	�	�	�$������1�1�1��
��h��(�(�		3��*�D�K�K�
�
#�s�
*�	3�)�/�/�D�K�K�
����
-�
-�	3�#�)�)�D�K��D�L�!��!���D�J�J��+�2����D�K��t�_�e�4�4�	-�!%��D����	-�	-r7c��|�|�|��|�|j����dSr�)�assertEqual�format�value�r�rrs   r5�assertFormatIsValuez_EnumTests.assertFormatIsValues8��������V�,�,�d�k�k�&�,�.G�.G�H�H�H�H�Hr7c��|�|�|��|�t|������dSr�)r-r.r(r0s   r5�assertFormatIsStrz_EnumTests.assertFormatIsStr!s<��������V�,�,�d�k�k�#�f�+�+�.F�.F�G�G�G�G�Gr7c��Gd�d|j��}|�t|d����|`|�t|d����|�t��5|`ddd��n#1swxYwY|�t��5|`ddd��n#1swxYwY|�t��5|j`	ddd��dS#1swxYwYdS)Nc�P�eZdZe��Ze��Ze��Zd�ZdS)�2_EnumTests.test_attribute_deletion.<locals>.Seasonc��dSr�rE)�clss r5�spamz7_EnumTests.test_attribute_deletion.<locals>.Season.spam*����r7N)r?r@rAr
�SPRING�SUMMER�AUTUMNr9rEr7r5�Seasonr6%sD�������T�V�V�F��T�V�V�F��T�V�V�F�
�
�
�
�
r7r>r9)
r�r��hasattrr9r��assertRaises�AttributeErrorr;�DRYr��r�r>s  r5�test_attribute_deletionz"_EnumTests.test_attribute_deletion$s���	�	�	�	�	�T�^�	�	�	�	
������/�/�0�0�0��K�������0�0�1�1�1�
�
�
�~�
.�
.�	�	��
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	��
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	#�	#��
�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s6�6B�B	�B	�*B9�9B=�B=�C3�3C7�:C7c�h�|j}|jr�|�t|��d��|�t	|��d��|�t|��d��|�|d��|ju��ni|�t|��d��|�t	|��d��|�t|��d��|�t|��|j	|j
|jg��|�d�|D��|j��|�d�|D��|j
��|�d�|D��gd���t||jd�	��D]!\}}|�|||���"t||j
d�	��D]$\}}|�||��|���%t!|t"��r5|�|j|d
��cxuo	|dunc��dS|jtur5|�|j|d��cxuo	|dunc��dSt!|t(��r5|�|j|d
��cxuo	|dunc��dS|�|j||j
d��cxuo	|dunc��dS)Nz<flag 'MainEnum'>r!z<enum 'MainEnum'>c��g|]	}|j��
SrEr���.0�ms  r5�
<listcomp>z*_EnumTests.test_basics.<locals>.<listcomp>Es��$�$�$�A���$�$�$r7c��g|]	}|j��
SrE�r/rGs  r5rJz*_EnumTests.test_basics.<locals>.<listcomp>I���%�%�%�Q���%�%�%r7c��g|]	}|j��
SrE)r�rGs  r5rJz*_EnumTests.test_basics.<locals>.<listcomp>MrMr7)zfirst is first!zsecond is first!zthird is first!T��strictr�r�r r=r%)r�r$r-�reprr(r.r�r)�listr�r�r�r%r&�zip�assertIsr�rr�r'r
)r��TErr�r/s     r5�test_basicsz_EnumTests.test_basics8sk��
�]���<�	>����T�"�X�X�':�;�;�;����S��W�W�&9�:�:�:����V�B�Z�Z�)<�=�=�=��O�O�B�B�q�E�E�T�Z�/�0�0�0�0����T�"�X�X�':�;�;�;����S��W�W�&9�:�:�:����V�B�Z�Z�)<�=�=�=�����b���B�H�b�i���#B�C�C�C����$�$��$�$�$��
�	�	�	�	
���%�%�"�%�%�%���	�	�	�	
���%�%�"�%�%�%�J�J�J�	�	�	� ��D�J�t�<�<�<�	,�	,�L�F�D��M�M�"�T�(�F�+�+�+�+� ��T�[��>�>�>�	-�	-�M�F�E��M�M�"�"�U�)�)�V�,�,�,�,��b�'�"�"�	I��O�O�B�G�r�r�'�{�{�@�@�@�@�b��j�@�@�@�@�A�A�A�A�A�
�
��
$�	I��O�O�B�G�r�r�#�w�w�<�<�<�<�"�V�*�<�<�<�<�=�=�=�=�=�
��D�
!�
!�	I��O�O�B�G�r�r�!�u�u�:�:�:�:��6�
�:�:�:�:�;�;�;�;�;��O�O�B�G�r�r�$�+�a�.�'9�'9�G�G�G�G�R��Z�G�G�G�G�H�H�H�H�Hr7c���Gd�d|j��}|�|��|�|j��|jD]}|�|���dS)Nc��eZdZdS)�+_EnumTests.test_bool_is_true.<locals>.EmptyNr�rEr7r5�EmptyrY^r�r7rZ)r�r�r�)r�rZrs   r5�test_bool_is_truez_EnumTests.test_bool_is_true]s���	�	�	�	�	�D�N�	�	�	������������
�&�&�&��m�	$�	$�F��O�O�F�#�#�#�#�	$�	$r7c��|j}|�t��5d|j_ddd��dS#1swxYwYdS)Nzreally first)r�r@rAr�)r�r�s  r5�test_changing_member_failsz%_EnumTests.test_changing_member_failsfs����=��
�
�
�~�
.�
.�	2�	2�#1�D�M� �	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s�
<�A�A�r=��2__contains__ now returns True/False for all inputsc��|j}|�|j|��|�t��5|�t��5|jd|vddd��n#1swxYwYddd��n#1swxYwY|�t��5|�t��5d|vddd��n#1swxYwYddd��n#1swxYwY|j}|�||��Gd�dt��}|�
|j|��dS)Nr<r�c�6�eZdZe��Ze��ZdS)�._EnumTests.test_contains_er.<locals>.OtherEnumN�r?r@rAr
�one�tworEr7r5�	OtherEnumrc{�$�������$�&�&�C��$�&�&�C�C�Cr7rg)r��assertInr�r@�	TypeError�assertWarns�DeprecationWarningr#r�r�assertNotInrf�r�r��valrgs    r5�test_contains_erz_EnumTests.test_contains_erksN��
�=���
�
�h�n�h�/�/�/�
�
�
�y�
)�
)�	2�	2��!�!�"4�5�5�
2�
2��"�1�%��1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2��
�
�y�
)�
)�	$�	$��!�!�"4�5�5�
$�
$��8�#�#�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$����
$�
$�
$�
$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$��m���
�
�c�8�$�$�$�	�	�	�	�	��	�	�	�	
������1�1�1�1�1sk�B�A4�(B�4A8	�8B�;A8	�<B�B�B�0C3�C�C3�C 	� C3�#C 	�$C3�3C7�:C7z6__contains__ works only with enum memmbers before 3.12c�R�|j}|�|j|��|�|jd|v��|�d|v��|j}|�||��Gd�dt��}|�|j	|��dS)Nrr�c�6�eZdZe��Ze��ZdS)�._EnumTests.test_contains_tf.<locals>.OtherEnumNrdrEr7r5rgrs�rhr7rg)
r�rir�r�r#r�r�rrmrfrns    r5�test_contains_tfz_EnumTests.test_contains_tf�s���
�=���
�
�h�n�h�/�/�/�����*�1�-��9�:�:�:�����H�,�-�-�-��m���
�
�c�8�$�$�$�	�	�	�	�	��	�	�	�	
������1�1�1�1�1r7c��|j}|�tt|����tt	|������dSr�)r�r-�set�dir�enum_dir�r�rUs  r5�test_dir_on_classz_EnumTests.test_dir_on_class�s?��
�]������S��W�W���s�8�B�<�<�'8�'8�9�9�9�9�9r7c��|j}|�tt|j����tt|j������dSr�)r�r-rvrwr��
member_dirrys  r5�test_dir_on_itemz_EnumTests.test_dir_on_item�sG��
�]������S���]�]�+�+�S��B�H�1E�1E�-F�-F�G�G�G�G�Gr7c���Gd�d|j��}|�dt|��v��|�dt|j��v��dS)Nc�<�eZdZe��Ze��Zd�ZdS)�5_EnumTests.test_dir_with_added_behavior.<locals>.Testc��d|jzS)NzWowser! I'm %s!r�r�s r5�wowserz<_EnumTests.test_dir_with_added_behavior.<locals>.Test.wowser�s��)�D�I�5�6r7N)r?r@rAr
�this�theser�rEr7r5�Testr��s9�������4�6�6�D��D�F�F�E�
7�
7�
7�
7�
7r7r�r�)r�r�rwr�)r�r�s  r5�test_dir_with_added_behaviorz'_EnumTests.test_dir_with_added_behavior�sr��	7�	7�	7�	7�	7�4�>�	7�	7�	7�
	
�����D�	�	�1�2�2�2�����C��	�N�N�2�3�3�3�3�3r7c���Gd�d|j��}Gd�d|��}|�dt|��v��|�dt|j��v��dS)Nc��eZdZd�ZdS)�D_EnumTests.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnumc��dS)Nzdid you see me?rEr�s r5�	invisiblezN_EnumTests.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnum.invisible�s��(�(r7N)r?r@rAr�rEr7r5�	SuperEnumr��s#������
)�
)�
)�
)�
)r7r�c�"�eZdZe��ZdS)�B_EnumTests.test_dir_on_sub_with_behavior_on_super.<locals>.SubEnumN)r?r@rAr
�samplerEr7r5�SubEnumr��s�������T�V�V�F�F�Fr7r�r��r�r�rwr��r�r�r�s   r5�&test_dir_on_sub_with_behavior_on_superz1_EnumTests.test_dir_on_sub_with_behavior_on_super�s���	)�	)�	)�	)�	)���	)�	)�	)�	�	�	�	�	�i�	�	�	�����3�w�<�<�7�8�8�8�����s�7�>�':�':�:�;�;�;�;�;r7c���G�fd�d�j��}G�fd�d|��}��dt|��v����dt|j��vt|j����dS)Nc���eZdZ�fd�ZdS)�\_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SuperEnumc����jjj}�jjtur||��}n1t	|dt
��r|d\}n|}||g|�R�}t
|��dkr|dn||_d|_|S)Nrr<ztest description)	r�r'�__new__�object�
isinstance�tuple�len�_value_�description)r8r/�kwds�newrr�create_valuer�s      �r5r�zd_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SuperEnum.__new__�s�����n�2�:���>�/�6�9�2��#�c�(�(�C�C�!�%��(�E�2�2�-�(-�a�����',���#�c�1�L�1�1�1�C�*-�e�*�*��/�D�e�A�h�h�u���"4����
r7N�r?r@rAr�r�s�r5r�r��s.�������
�
�
�
�
�
�
r7r�c�*��eZdZ�jdZdS)�Z_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SubEnumr<N)r?r@rAr#r�r�s�r5r�r��s��������'��*�F�F�Fr7r�r�r�r�s`  r5�>test_dir_on_sub_with_behavior_including_instance_dict_on_superzI_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super�s����
	�
	�
	�
	�
	�
	�
	���
	�
	�
	�	+�	+�	+�	+�	+�	+�	+�i�	+�	+�	+����
�S��\�\�9�:�:�:����
��W�^�)<�)<�<�c�'�.�>Q�>Q�R�R�R�R�Rr7c�f�|j}|�||j��|j��dSr�)r�rTr�)r��Mains  r5�test_enum_in_enum_outz _EnumTests.test_enum_in_enum_out�s1���}���
�
�d�d�4�:�&�&��
�3�3�3�3�3r7c��|j}i}d||j<d||j<d||j<|�||jd��dS)N�1225�0315�0704)r�r�r�r�r-)r�r��mappings   r5�	test_hashz_EnumTests.test_hash�sU���=����"(�����#)���� �"(�����������1�6�:�:�:�:�:r7c��|�t��5Gd�d|j��}ddd��n#1swxYwY|�t��5Gd�d|j��}ddd��n#1swxYwY|�t��5Gd�d|j��}ddd��n#1swxYwY|�t��5Gd�d|j��}ddd��n#1swxYwY|�t��5Gd�d|j��}ddd��dS#1swxYwYdS)Nc��eZdZdZdS��,_EnumTests.test_invalid_names.<locals>.Wrong�	N)r?r@rA�mrorEr7r5�Wrongr������������r7r�c��eZdZdZdS)r��N)r?r@rA�_create_rEr7r5r�z,_EnumTests.test_invalid_names.<locals>.Wrong�s���������r7c��eZdZdZdSr�)r?r@rA�_get_mixins_rEr7r5r�z,_EnumTests.test_invalid_names.<locals>.Wrong�s������ ���r7c��eZdZdZdS)r�r<N)r?r@rA�
_find_new_rEr7r5r�z,_EnumTests.test_invalid_names.<locals>.Wrong���������
�
�
r7c��eZdZdZdSr�)r?r@rA�
_any_name_rEr7r5r�z,_EnumTests.test_invalid_names.<locals>.Wrong�r�r7)r@�
ValueErrorr��r�r�s  r5�test_invalid_namesz_EnumTests.test_invalid_names�s��
�
�
�z�
*�
*�	�	�
�
�
�
�
���
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�z�
*�
*�	�	�
�
�
�
�
���
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�z�
*�
*�	!�	!�
!�
!�
!�
!�
!���
!�
!�
!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��
�
�z�
*�
*�	�	�
�
�
�
�
���
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�z�
*�
*�	�	�
�
�
�
�
���
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sU�;�?�?� B�B�B�%C�C	�C	�*D
�
D�D�/E�E�Ec���G�fd�d�j��}��t|j��d��dS)z=check that setting __str__ to object's is not reset to Enum'sc�>��eZdZ�jdZd�ZejZdS)�4_EnumTests.test_object_str_override.<locals>.Genericr%c��|j�d�S)Nz.test��_name_r�s r5�__repr__z=_EnumTests.test_object_str_override.<locals>.Generic.__repr__�s��$(�K�K�K�2�2r7N)r?r@rAr#�itemr�r�r�r�s�r5�Genericr��s2��������%�a�(�D�
3�
3�
3��n�G�G�Gr7r�z	item.testN)r�r-r(r��r�r�s` r5�test_object_str_overridez#_EnumTests.test_object_str_override�sa���	%�	%�	%�	%�	%�	%�	%�d�n�	%�	%�	%�
	
����W�\�*�*�K�8�8�8�8�8r7c�$�|j}|�t|j��|jj�����|�t
|j��|jj�����dSr�)rr-r(r�r�r�r.)r��NSs  r5�test_overridden_strz_EnumTests.test_overridden_str�sm��
�_������R�X�����
�(;�(;�(=�(=�>�>�>�������)�)�2�8�=�+>�+>�+@�+@�A�A�A�A�Ar7c�@�|j}|�t|j��|jj�����|�t
|j��d�t|jj������dSr)	rr-r(r�r�r
r.rr)r��NSFs  r5�test_overridden_str_formatz%_EnumTests.test_overridden_str_format�sv���#������S�Y������)=�)=�)?�)?�@�@�@������	�*�*�B�G�G�H�S�Y�^�4L�4L�,M�,M�N�N�N�N�Nr7c�@�|j}|�t|j��|jj�����|�t
|j��d�t|jj������dSr)	rr-r(r�r�r
r.rr)r��NSEs  r5�$test_overridden_str_format_inheritedz/_EnumTests.test_overridden_str_format_inherited�su���o������S�Y������)=�)=�)?�)?�@�@�@������	�*�*�B�G�G�H�S�Y�^�4L�4L�,M�,M�N�N�N�N�Nr7c��|�dd��}t|��}|�t|��t|����|�t|��d|��|�|j|j|jg|��|j}|jturgd�}td�
��|��D]�\}}||}|�|j|t|����|�|j|��|j
tur,t||j
��r|�||��n|�||��|�||��|�t'|��|��|�|||������dS)N�	MinorEnum�june july augustr=��june�july�august�r�rRr-r�r�r�r�r&rrS�splitr/r�r'r�r��assertNotEqualrirT�type�r�r��lstr&�month�av�es       r5�!test_programmatic_function_stringz,_EnumTests.test_programmatic_function_string�s����N�N�;�0B�C�C�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�����>�W�$�	.�-�-�-�F��/�5�5�7�7��@�@�
	,�
	,�I�E�2��%� �A����Q�W�b�$�y�/�/�:�:�:����Q�V�U�+�+�+��&�f�4�
+��I�y�Of�9g�9g�
+�� � ��B�'�'�'�'��#�#�A�r�*�*�*��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-��M�M�!�Y�Y�r�]�]�+�+�+�+�
	,�
	,r7c��|�dgd���}t|��}|�t|��t|����|�t|��d|��|�|j|j|jg|��|j}|jturgd�}td�
��|��D]�\}}||}|�|j|��|�|j|��|j
tur,t||j
��r|�||��n|�||��|�||��|�t'|��|��|�|||������dS)Nr�r�r=r�r�r�s       r5�&test_programmatic_function_string_listz1_EnumTests.test_programmatic_function_string_lists����N�N�;�0J�0J�0J�K�K�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�����>�W�$�	.�-�-�-�F��/�5�5�7�7��@�@�
	,�
	,�I�E�2��%� �A����Q�W�b�)�)�)����Q�V�U�+�+�+��&�f�4�
+��I�y�Of�9g�9g�
+�� � ��B�'�'�'�'��#�#�A�r�*�*�*��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-��M�M�!�Y�Y�r�]�]�+�+�+�+�
	,�
	,r7c���|�dd|jdfd|jdfd|jdff��}t|��}|�t	|��t	|����|�t	|��d|��|�|j|j|jg|��td	�	��|j
��D]�\}}||}|�|j|��|�|j|��|j
tur,t||j
��r|�||��n|�||��|�||��|�t'|��|��|�|||������dS�
Nr�r�rr�r<r�r%r=r�)r�r#rRr-r�r�r�r�rSr�r&r/r�r'r�r�r�rirTr��r�r�r�r�r�r�s      r5�#test_programmatic_function_iterablez._EnumTests.test_programmatic_function_iterable&s����N�N���$�,�Q�/�0�6�4�;M�a�;P�2Q�T\�^b�^p�qr�^s�St�u���	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	��/�5�5�7�7���E�E�
	,�
	,�I�E�2��%� �A����Q�W�b�)�)�)����Q�V�U�+�+�+��&�f�4�
+��I�y�Of�9g�9g�
+�� � ��B�'�'�'�'��#�#�A�r�*�*�*��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-��M�M�!�Y�Y�r�]�]�+�+�+�+�
	,�
	,r7c
�p�|�dtd|jdfd|jdfd|jdff����}t|��}|�t|��t|����|�t|��d|��|�|j|j|jg|��td	�
��|j��D]�\}}||}|jtur,t||j��r|�||��n|�||��|�||��|�t%|��|��|�|||������dSr�)r�rr#rRr-r�r�r�r�rSr�r&r'r�r�r�rirTr�r�s      r5�$test_programmatic_function_from_dictz/_EnumTests.test_programmatic_function_from_dict>s����N�N���f�d�&8��&;�<�v�t�GY�Z[�G\�>]�`h�jn�j|�}~�j�`A�B�C�C���	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	��/�5�5�7�7���E�E�	,�	,�I�E�2��%� �A��&�f�4�
+��I�y�Of�9g�9g�
+�� � ��B�'�'�'�'��#�#�A�r�*�*�*��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-��M�M�!�Y�Y�r�]�]�+�+�+�+�	,�	,r7c	���|j}|jr}|�t|d����d��|�t|j��d��|�t|j��d��n{t
|t��r)|�t|j��d��n=|�t|j��d|jd�d�|j	��t|j|j|d	�
��D]:\}}}|�t|��d|j�d|j
�d����;dS)
Nrz
<MainEnum: 0>z<MainEnum.dupe: 3>z<MainEnum.first|third: 5>z<MainEnum.third: 'third'>z<MainEnum.third: r%�>TrOz
<MainEnum.z: )r�r$r-rQr�r)r�rr&�_value_repr_rSr%r�r/�r�rUr�r/rs     r5�	test_reprz_EnumTests.test_reprTsO��
�]���<�	j����T�"�"�Q�%�%�[�[�/�:�:�:����T�"�'�]�]�,@�A�A�A����T�$�*�-�-�/J�K�K�K�K�
��G�
$�
$�	j����T�"�'�]�]�,G�H�H�H�H����T�"�'�]�]�]�d�k�RS�n�n�n�,W�Y[�Yh�i�i�i�#&�t�z�4�;��4�#P�#P�#P�	^�	^��D�%�����T�&�\�\�\�&�+�+�+�v�|�|�|�+\�]�]�]�]�	^�	^r7c�|�Gd�d|j��}|�t|j��d��dS)Nc�P�eZdZe��Ze��Ze��Zd�ZdS)�._EnumTests.test_repr_override.<locals>.Genericc��d|jzS)Nz!don't you just love shades of %s?r�r�s r5r�z7_EnumTests.test_repr_override.<locals>.Generic.__repr__fs��:�T�Y�F�Fr7N)r?r@rAr
r�r�r�r�rEr7r5r�r�bsI�������D�F�F�E��T�V�V�F��D�F�F�E�
G�
G�
G�
G�
Gr7r�z$don't you just love shades of third?)r�r-rQr�r�s  r5�test_repr_overridez_EnumTests.test_repr_overrideasj��	G�	G�	G�	G�	G�d�n�	G�	G�	G�	
����W�]�#�#�6�	�	�	�	�	r7c��Gd�d|j��}Gd�d|��}|�t|j��d��dS)Nc��eZdZd�ZdS)�._EnumTests.test_inherited_repr.<locals>.MyEnumc��d|jzS)NzMy name is %s.r�r�s r5r�z7_EnumTests.test_inherited_repr.<locals>.MyEnum.__repr__os��'�$�)�3�3r7N�r?r@rAr�rEr7r5r�r�n�#������
4�
4�
4�
4�
4r7r�c�J�eZdZe��Ze��Ze��ZdS)�1_EnumTests.test_inherited_repr.<locals>.MySubEnumN)r?r@rAr
r��that�theotherrEr7r5�	MySubEnumrqs/�������4�6�6�D��4�6�6�D��t�v�v�H�H�Hr7rzMy name is that.)r�r-rQr)r�r�rs   r5�test_inherited_reprz_EnumTests.test_inherited_reprms���	4�	4�	4�	4�	4�T�^�	4�	4�	4�	�	�	�	�	��	�	�	�	
����i�n�-�-�/A�B�B�B�B�Br7c��|�tt|j����|jj|jj|jjg��dSr�)r-rRrr�r�r�r�r�s r5�test_reversed_iteration_orderz(_EnumTests.test_reversed_iteration_orderwsR������X�d�m�,�,�-�-���$�d�m�&:�D�M�<O�P�	�	�	�	�	r7)%r?r@rAr�r&r+r1r3rDrVr[r]�unittest�skipIf�python_versionrprtrzr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrEr7r5r�r��sH���������F�:-�:-�:-�xI�I�I�H�H�H�#�#�#�(#I�#I�#I�J$�$�$�2�2�2�
�X�_��g�%�@���2�2�	��2�"�X�_��W�$�D���2�2�	��2�:�:�:�H�H�H�4�4�4�<�<�<�S�S�S�*4�4�4�;�;�;����"9�9�9�B�B�B�
O�O�O�
O�O�O�
,�,�,�0,�,�,�0,�,�,�0,�,�,�,^�^�^�
�
�
�C�C�C�����r7r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�_PlainOutputTestsc�
�|j}|jr}|�t|d����d��|�t|j��d��|�t|j��d��n(|�t|j��d��t
|j|j|d���D]1\}}}|�t|��d|j	�����2dS)	NrzMainEnum(0)�
MainEnum.dupe�MainEnum.first|third�MainEnum.thirdTrO�	MainEnum.�
r�r$r-r(r�r)rSr%r&r�r�s     r5�test_strz_PlainOutputTests.test_strs���
�]���<�	=����S���A���Z�Z��7�7�7����S���\�\�?�;�;�;����S���_�_�.D�E�E�E�E����S���\�\�+;�<�<�<�#&�t�z�4�;��4�#P�#P�#P�	K�	K��D�%�����S��[�[�[�6�;�;�*I�J�J�J�J�	K�	Kr7c��|j}|jrQ|�t|j��d��|�t|j��d��n(|�t|j��d��t
|j|j|d���D]1\}}}|�t|��d|j	�����2dS�NrrrTrOr�
r�r$r-r.r�r)rSr%r&r�r�s     r5�test_formatz_PlainOutputTests.test_format�����
�]���<�	@����V�B�G�_�_�o�>�>�>����V�D�J�/�/�1G�H�H�H�H����V�B�G�_�_�.>�?�?�?�#&�t�z�4�;��4�#P�#P�#P�	N�	N��D�%�����V�F�^�^�^�f�k�k�-L�M�M�M�M�	N�	Nr7c���|j}|�t|j��d|j�d|j����|�t|j��d��dS)N�NewFormatEnum.first� �FIRST)rr-r(r�r�r.�r��NFs  r5�test_overridden_formatz(_PlainOutputTests.test_overridden_format�sc��
�
������R�X���(=�"�*�*�*�VX�V^�V^�?_�`�`�`�������)�)�7�3�3�3�3�3r7c��|j}|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��dS�N�{}�{:}�{:20}�{:^20}�{:>20}�{:<20}�{:5.2})r�r3r�rys  r5�test_format_specsz#_PlainOutputTests.test_format_specs�s���
�]�����t�R�Y�/�/�/����u�b�i�0�0�0����w��	�2�2�2����x���3�3�3����x���3�3�3����x���3�3�3����x���3�3�3�3�3r7N�r?r@rArrr r*rEr7r5r
r
}sV������	K�	K�	K�N�N�N�4�4�4�
4�4�4�4�4r7r
c�&�eZdZd�Zd�Zd�Zd�ZdS)�_MixedOutputTestsc��|j}|jrQ|�t|j��d��|�t|j��d��n(|�t|j��d��t
|j|j|d���D]1\}}}|�t|��d|j	�����2dSrrr�s     r5rz_MixedOutputTests.test_str�s���
�]���<�	=����S���\�\�?�;�;�;����S���_�_�.D�E�E�E�E����S���\�\�+;�<�<�<�#&�t�z�4�;��4�#P�#P�#P�	K�	K��D�%�����S��[�[�[�6�;�;�*I�J�J�J�J�	K�	Kr7c��|j}|jrQ|�t|j��d��|�t|j��d��n(|�t|j��d��t
|j|j|d���D]1\}}}|�t|��d|j	�����2dSrrr�s     r5rz_MixedOutputTests.test_format�rr7c��|j}|�t|j��d��|�t	|j��d��dS)Nrr)rr-r(r�r.rs  r5r z(_MixedOutputTests.test_overridden_format�sO��
�
������R�X���(=�>�>�>�������)�)�7�3�3�3�3�3r7c��|j}|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��dSr")r�r3r�rys  r5r*z#_MixedOutputTests.test_format_specs�s���
�]�����t�R�X�.�.�.����u�b�h�/�/�/����w���1�1�1����x���2�2�2����x���2�2�2����x���2�2�2����x���2�2�2�2�2r7Nr+rEr7r5r-r-�sV������K�K�K�N�N�N�4�4�4�
3�3�3�3�3r7r-c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�_MinimalOutputTestsc���|j}|jrQ|�t|j��d��|�t|j��d��n@|�t|j��t|jd����t|j|j|d���D]6\}}}|�t|��t|�����7dS�Nr �5r%TrO)	r�r$r-r(r�r)r&rSr%r�s     r5rz_MinimalOutputTests.test_str�s���
�]���<�	@����S���\�\�3�/�/�/����S���_�_�c�2�2�2�2����S���\�\�3�t�{�1�~�+>�+>�?�?�?�#&�t�z�4�;��4�#P�#P�#P�	6�	6��D�%�����S��[�[�#�e�*�*�5�5�5�5�	6�	6r7c���|j}|jrQ|�t|j��d��|�t|j��d��n@|�t|j��t|jd����t|j|j|d���D]6\}}}|�t|��t|�����7dSr5)	r�r$r-r.r�r)r&rSr%r�s     r5rz_MinimalOutputTests.test_format�s���
�]���<�	F����V�B�G�_�_�c�2�2�2����V�D�J�/�/��5�5�5�5����V�B�G�_�_�f�T�[��^�.D�.D�E�E�E�#&�t�z�4�;��4�#P�#P�#P�	<�	<��D�%�����V�F�^�^�V�E�]�]�;�;�;�;�	<�	<r7c���|j}|�t|j��t|jd����|�t|j��d��dS)Nrr)rr-r(r�r&r.rs  r5r z*_MinimalOutputTests.test_overridden_format�s\��
�
������R�X����D�K��N�(;�(;�<�<�<�������)�)�7�3�3�3�3�3r7c��|j}|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��|jturS|�d|j��|�d|j��|�d	|j��dSdS)
Nr#r$r%r&r'r(z{:n}r)z{:f})r�r1r�r'�floatrys  r5r*z%_MinimalOutputTests.test_format_specs�s��
�]��� � ��r�x�0�0�0�� � ����1�1�1�� � ��"�(�3�3�3�� � ��2�8�4�4�4�� � ��2�8�4�4�4�� � ��2�8�4�4�4�
��u�$�	7��$�$�V�R�X�6�6�6��$�$�X�r�x�8�8�8��$�$�V�R�X�6�6�6�6�6�	7�	7r7c��|j}tj|��}|�||��tj|��}|�||��dSr�)r��copyr-�deepcopy)r�rU�copied�deeps    r5�	test_copyz_MinimalOutputTests.test_copy�sW��
�]����2���������$�$�$��}�R� � ������r�"�"�"�"�"r7N)r?r@rArrr r*r@rEr7r5r3r3�s_������6�6�6�<�<�<�4�4�4�
7�7�7�#�#�#�#�#r7r3c��eZdZd�ZdS)�
_FlagTestsc���|�td��5}|�d��ddd��n#1swxYwY|�|jjd��dS)Nz#'RED' is not a valid TestFlag.Color�RED)�assertRaisesRegexr�r�rTrq�__context__)r��ctxs  r5�*test_default_missing_with_wrong_type_valuez5_FlagTests.test_default_missing_with_wrong_type_value�s���
�
#�
#��1���	!���M�M�%� � � �		!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
	
�
�
�c�m�/��6�6�6�6�6s�>�A�AN)r?r@rArHrEr7r5rBrB�s#������7�7�7�7�7r7rBc��eZdZeZdS)�
TestPlainEnumN)r?r@rArr�rEr7r5rJrJ��������I�I�Ir7rJc��eZdZeZdS)�
TestPlainFlagN)r?r@rAr
r�rEr7r5rMrMrKr7rMc��eZdZeZdS)�TestIntEnumN)r?r@rArr�rEr7r5rOrO��������I�I�Ir7rOc��eZdZeZdS)�TestStrEnumN)r?r@rArr�rEr7r5rRrRrPr7rRc��eZdZeZdS)�TestIntFlagN)r?r@rArr�rEr7r5rTrTrPr7rTc�,�eZdZGd�dee��ZdS)�TestMixedIntc��eZdZdS)�TestMixedInt.enum_typeNr�rEr7r5r�rX��������r7r�N)r?r@rA�intrr�rEr7r5rVrV�,������$�$�$�$�$�C��$�$�$�$�$r7rVc�,�eZdZGd�dee��ZdS)�TestMixedStrc��eZdZdS)�TestMixedStr.enum_typeNr�rEr7r5r�r_rYr7r�N)r?r@rAr(rr�rEr7r5r]r]r[r7r]c�,�eZdZGd�dee��ZdS)�TestMixedIntFlagc��eZdZdS)�TestMixedIntFlag.enum_typeNr�rEr7r5r�rc!rYr7r�N)r?r@rArZr
r�rEr7r5rara r[r7rac��eZdZeddd��eddd��eddd	��gZgd
�ZGd�dee��Zd
S)�
TestMixedDate��r_���r=���r���)rfr_rg)rhr=ri)rjr�rkc��eZdZd�ZdS)�TestMixedDate.enum_typec��gd�}||S)NrlrE�r��start�count�last_valuesr&s     r5�_generate_next_value_z-TestMixedDate.enum_type._generate_next_value_*s��D�D�D�F��%�=� r7N�r?r@rArtrEr7r5r�rn)�#������	!�	!�	!�	!�	!r7r�N)r?r@rArr&r#rr�rEr7r5rere$s��������d�4��R� � �$�$�t�Q��"3�"3�T�T�$��B�5G�5G�
H�F�C�C�C�M�!�!�!�!�!�D�$�!�!�!�!�!r7rec��eZdZeddd��eddd��eddd��gZgd�ZGd	�d
ee��ZdS)�TestMinimalDate��r_r<��r%����)ryr_r<)rzr%r{)r|r<r<c��eZdZd�ZdS)�TestMinimalDate.enum_typec��gd�}||S)Nr}rErps     r5rtz/TestMinimalDate.enum_type._generate_next_value_5s��A�A�A�F��%�=� r7NrurEr7r5r�r4rvr7r�N)r?r@rArr&r#rr�rEr7r5rxrx/s��������d�4��Q�����d�A�r�!2�!2�D�D��q�!�4D�4D�
E�F�@�@�@�M�!�!�!�!�!�D�(�!�!�!�!�!r7rxc�4�eZdZgd�ZGd�dee��ZdS)�TestMixedFloat�g�������?g������@gffffff
@c��eZdZd�ZdS)�TestMixedFloat.enum_typec��gd�}||S)Nr�rErps     r5rtz.TestMixedFloat.enum_type._generate_next_value_?���$�_�_�F��%�=� r7NrurEr7r5r�r�>rvr7r�N)r?r@rAr&r:rr�rEr7r5r�r�:sI������
�_�_�F�!�!�!�!�!�E�4�!�!�!�!�!r7r�c�4�eZdZgd�ZGd�dee��ZdS)�TestMinimalFloat�g������@g@gffffff@c��eZdZd�ZdS)�TestMinimalFloat.enum_typec��gd�}||S)Nr�rErps     r5rtz0TestMinimalFloat.enum_type._generate_next_value_Ir�r7NrurEr7r5r�r�Hrvr7r�N)r?r@rAr&r:rr�rEr7r5r�r�DsI������
�_�_�F�!�!�!�!�!�E�8�!�!�!�!�!r7r�c��eZdZdZd�Zd�Zd�Zejd��d���Z	d�Z
d�Zd	�Zd
�Z
ejedkd��d
���Zejedkd��d���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�ZZejdY��dZ���Z[d[�Z\d\�Z]d]�Z^d^�Z_d_�Z`d`�Zada�ZbdbS)c�TestSpecialzM
    various operations that are not attributable to every possible enum
    c���Gd�dt��}||_Gd�dt��}||_Gd�dtt��}||_ddlm}Gd	�d
|t��}||_dS)Nc��eZdZdZdZdZdZdS)�!TestSpecial.setUp.<locals>.Seasonr<r%r=rMN)r?r@rAr;r<r=�WINTERrEr7r5r>r�T�"�������F��F��F��F�F�Fr7r>c�"�eZdZdZdZdZdZdZdS)�!TestSpecial.setUp.<locals>.Gradesr!rMr=r%rN�r?r@rA�A�B�C�D�FrEr7r5�Gradesr�[�'�������A��A��A��A��A�A�Ar7r�c��eZdZdZdZdZdZdS)�&TestSpecial.setUp.<locals>.Directional�east�west�north�southN)r?r@rA�EAST�WEST�NORTH�SOUTHrEr7r5�Directionalr�cs"�������D��D��E��E�E�Er7r�rrc��eZdZdZdZdS)�"TestSpecial.setUp.<locals>.Holiday)��r<r<)r�r=riN)r?r@rA�NEW_YEAR�
IDES_OF_MARCHrEr7r5�Holidayr�ks������!�H�'�M�M�Mr7r�)	rr>rr�r(r��datetimerr�)r�r>r�r�rr�s      r5r+zTestSpecial.setUpSs���	�	�	�	�	�T�	�	�	�
���	�	�	�	�	�W�	�	�	����	�	�	�	�	�#�t�	�	�	�
'���!�!�!�!�!�!�	(�	(�	(�	(�	(�d�D�	(�	(�	(�����r7c��Gd�dt��}|�|j��|�|j��Gd�dt��}|�|j��|�|j��Gd�dt
t��}|�|j��|�|j��dS)Nc��eZdZdZdZdS)�$TestSpecial.test_bool.<locals>.LogicTFN�r?r@rA�true�falserEr7r5�Logicr�rs�������D��E�E�Er7r�c��eZdZdZdZd�ZdS)�(TestSpecial.test_bool.<locals>.RealLogicTFc�*�t|j��Sr�)�boolr�r�s r5�__bool__z1TestSpecial.test_bool.<locals>.RealLogic.__bool__{����D�L�)�)�)r7N)r?r@rAr�r�r�rEr7r5�	RealLogicr�xs-�������D��E�
*�
*�
*�
*�
*r7r�c��eZdZdZdZdS)�'TestSpecial.test_bool.<locals>.IntLogicr<rNr�rEr7r5�IntLogicr����������D��E�E�Er7r�)rr�r�r�r�rZ)r�r�r�r�s    r5�	test_boolzTestSpecial.test_boolps
��	�	�	�	�	�D�	�	�	�	
����
�#�#�#������$�$�$�	*�	*�	*�	*�	*��	*�	*�	*�
	
���	��'�'�'������)�)�)�	�	�	�	�	�s�D�	�	�	�	
����
�&�&�&������(�(�(�(�(r7c�4�|j}|�t��5|j|jkddd��n#1swxYwY|�t��5|jdkddd��n#1swxYwY|�|jd��Gd�dt��}|�|j|j��|�t��5|j|jkddd��dS#1swxYwYdS)NrMr<c��eZdZdZdZdZdS)�*TestSpecial.test_comparisons.<locals>.Partr<r%r=N)r?r@rAr;�CLIP�BARRELrEr7r5�Partr��s�������F��D��F�F�Fr7r�)r>r@rjr;r�r�rr�)r�r>r�s   r5�test_comparisonszTestSpecial.test_comparisons�s������
�
�
�y�
)�
)�	*�	*��M�F�M�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
�
�y�
)�
)�	�	��M�A���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
���F�M�1�-�-�-�	�	�	�	�	�4�	�	�	�
	
���F�M�4�;�7�7�7�
�
�
�y�
)�
)�	&�	&��M�D�I�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s3�?�A�A�$A<�<B�B�/D
�
D�Dz
to-do listc���Gd�dt��}t|��}|�d|��|�d|��|�d|��|�d|��Gd�dt��}t|��}|�d|��|�d|��|�d|��|�d|��dS)	Nc��eZdZdS)�;TestSpecial.test_dir_with_custom_dunders.<locals>.PlainEnumNr�rEr7r5�	PlainEnumr��r�r7r�r�r�rr�c�&�eZdZd�Zd�Zd�Zd�ZdS)�8TestSpecial.test_dir_with_custom_dunders.<locals>.MyEnumc�6�t�|��Sr��r�r�r�s r5r�zATestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__repr__�������t�,�,�,r7c�6�t�|��Sr�r�r�s r5r�z@TestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__str__�r�r7c�6�t�|��Sr�r�r�s r5rzCTestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__format__�r�r7c��dSr�rEr�s r5r�zATestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__init__�r:r7N)r?r@rAr�r�rr�rEr7r5r�r��sP������
-�
-�
-�
-�
-�
-�
-�
-�
-�
�
�
�
�
r7r�)rrwrmri)r�r��cls_dirr�s    r5�test_dir_with_custom_dundersz(TestSpecial.test_dir_with_custom_dunders�s��	�	�	�	�	��	�	�	��i�.�.������W�-�-�-�����G�,�,�,�����w�/�/�/�����W�-�-�-�	�	�	�	�	�T�	�	�	��f�+�+���
�
�j�'�*�*�*��
�
�i��)�)�)��
�
�l�G�,�,�,��
�
�j�'�*�*�*�*�*r7c��|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdZdZdZdZdS)�4TestSpecial.test_duplicate_name_error.<locals>.Colorr<r%r=rMN�r?r@rA�red�green�bluerEr7r5�Colorr��s"���������������r7r�c� �eZdZdZdZdZd�ZdS)r�r<r%r=c��dS)Nr�rEr�s r5r�z8TestSpecial.test_duplicate_name_error.<locals>.Color.red�s�� �5r7Nr�rEr7r5r�z4TestSpecial.test_duplicate_name_error.<locals>.Color�s2������������!�!�!�!�!r7c�:�eZdZejd���ZdZdZdZdS)r�c��dS)N�redderrEr�s r5r�z8TestSpecial.test_duplicate_name_error.<locals>.Color.red�s��#�8r7r<r%r=N)r?r@rAr+r�r�r�r�rEr7r5r�z4TestSpecial.test_duplicate_name_error.<locals>.Color�s8��������$�$���$��������r7�r@rjr�r�r�s  r5�test_duplicate_name_errorz%TestSpecial.test_duplicate_name_error�s���
�
�
�y�
)�
)�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	!�	!�
!�
!�
!�
!�
!��
!�
!�
!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��
�
�y�
)�
)�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s1�;�?�?� B�B�B�%C�C
�
C
c��ttt��rt�|�tjd��dS)Nra)r�r`�	Exceptionr-rAr�s r5� test_enum_function_with_qualnamez,TestSpecial.test_enum_function_with_qualname�s9���f�i�(�(�	��L�����,�.C�D�D�D�D�Dr7c�t����Gd�dt��}|�|jjt��|�|jjt��|�|jjt��Gd�d���Gd�d���G��fd�dt��}|�|j	j���|�|j
j���Gd	�d
���G�fd�dt��}|�|jj���d
S)�2Support using Enum to refer to types deliberately.c��eZdZeZeZeZdS)�/TestSpecial.test_enum_of_types.<locals>.MyTypesN)	r?r@rArZ�ir:�fr(r�rEr7r5�MyTypesr��s�������A��A��A�A�Ar7r�c��eZdZdS)�+TestSpecial.test_enum_of_types.<locals>.FooNr�rEr7r5�Foor��r�r7r�c��eZdZdS)�+TestSpecial.test_enum_of_types.<locals>.BarNr�rEr7r5�Barr��r�r7r�c���eZdZ�Z�ZdS)�0TestSpecial.test_enum_of_types.<locals>.MyTypes2N)r?r@rAr��b�r�r�s��r5�MyTypes2r��s��������A��A�A�Ar7r�c��eZdZdS)�8TestSpecial.test_enum_of_types.<locals>.SpamEnumNotInnerNr�rEr7r5�SpamEnumNotInnerr��r�r7rc���eZdZ�ZdS)�0TestSpecial.test_enum_of_types.<locals>.SpamEnumN)r?r@rAr9)rs�r5�SpamEnumr�s�������#�D�D�Dr7rN)rr-r�r/rZr�r:r�r(r�r�r9)r�r�r�rr�r�rs    @@@r5�test_enum_of_typeszTestSpecial.test_enum_of_types�s������	�	�	�	�	�d�	�	�	�	
������#�.�.�.�������%�0�0�0�������#�.�.�.�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�t�	�	�	�	
�����)�3�/�/�/������)�3�/�/�/�	�	�	�	�	�	�	�	�	$�	$�	$�	$�	$�	$�	$�t�	$�	$�	$������,�.>�?�?�?�?�?r7c��Gd�dt��}|�|jjtjt��|�|jjtt��|�t|j��d��|�t|j��d��dS)Nc�8�eZdZejeZeeZdS)�3TestSpecial.test_enum_of_generic_aliases.<locals>.EN)	r?r@rA�typing�ListrZr�rRr�rEr7r5�Er�s#��������C� �A��S�	�A�A�Ar7r
z<E.a: typing.List[int]>z<E.b: list[int]>)
rr-r�r/rr	rZr�rRrQ)r�r
s  r5�test_enum_of_generic_aliasesz(TestSpecial.test_enum_of_generic_aliases�s���	�	�	�	�	��	�	�	�	
������F�K��$4�5�5�5�������D��I�.�.�.�����a�c���$=�>�>�>�����a�c���$6�7�7�7�7�7r7�r=�
zinner classes are not membersc�z�|�td��5Gd�dt��}ddd��n#1swxYwY|�t	|j|����|�|jjd��|�|jjj	jd��|�t|jj��|jjj	|jjjg��|�t|��|j|j|jg��dS)z-
        Check for warnings pre-3.13
        zwill not become a memberc�2�eZdZdZdZGd�de��ZdS)�BTestSpecial.test_nested_classes_in_enum_are_members.<locals>.Outerr<r%c��eZdZdZdZdS)�HTestSpecial.test_nested_classes_in_enum_are_members.<locals>.Outer.Inner�
r�N�r?r@rAr��barrEr7r5�Innerr�s�������C��C�C�Cr7rN�r?r@rAr�r�rrrEr7r5�Outerr�sH���������������D�����r7rNr<r)
�assertWarnsRegexrlrr�r�rr-r�r/r�rRrr��r�rs  r5�'test_nested_classes_in_enum_are_membersz3TestSpecial.test_nested_classes_in_enum_are_members�ss���
"�
"�#5�7Q�
R�
R�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
���
�5�;��6�6�7�7�7��������*�*�*������*�.�4�b�9�9�9�������"�#�#�
�[�
�
"�E�K�$5�$9�:�	�	�	�	
�����K�K�
�W�e�g�u�{�+�	�	�	�	�	��<�A�Azinner classes are still membersc���Gd�dt��}|�t|jt����|�|jjd��|�|jjjd��|�t|j��|jj|jj
g��|�t|��|j|jg��dS)�'Support locally-defined nested classes.c�2�eZdZdZdZGd�de��ZdS)�FTestSpecial.test_nested_classes_in_enum_are_not_members.<locals>.Outerr<r%c��eZdZdZdZdS)�LTestSpecial.test_nested_classes_in_enum_are_not_members.<locals>.Outer.Innerrr�NrrEr7r5rr"s�����������r7rNrrEr7r5rr sH�������A��A�
�
�
�
�
��
�
�
�
�
r7rr<rN�rr�r�rr�r-r�r/r�rRrr�rs  r5�+test_nested_classes_in_enum_are_not_membersz7TestSpecial.test_nested_classes_in_enum_are_not_memberss���	�	�	�	�	�D�	�	�	�	
���
�5�;��5�5�6�6�6��������*�*�*�������.��3�3�3���������
�[�_�e�k�o�.�	�	�	�	
�����K�K�
�W�e�g��	�	�	�	�	r7c���Gd�dt��}|�t|jt����|�|jjd��|�|jjjd��|�t|j��|jj|jj
g��|�t|��|j|jg��dS)Nc�B�eZdZdZdZeGd�de����ZdS)�ETestSpecial.test_nested_classes_in_enum_with_nonmember.<locals>.Outerr<r%c��eZdZdZdZdS)�KTestSpecial.test_nested_classes_in_enum_with_nonmember.<locals>.Outer.Innerrr�NrrEr7r5rr)'������������r7rN)r?r@rAr�r�rrrrEr7r5rr'$sR�������A��A�
�
�
�
�
�
��
�
��Y�
�
�
r7rr<rr#rs  r5�*test_nested_classes_in_enum_with_nonmemberz6TestSpecial.test_nested_classes_in_enum_with_nonmember#s���	�	�	�	�	�D�	�	�	�	
���
�5�;��5�5�6�6�6��������*�*�*�������.��3�3�3���������
�[�_�e�k�o�.�	�	�	�	
�����K�K�
�W�e�g��	�	�	�	�	r7c�\����Gd�dt��}|�|jjt��|�|jtu��|�|jjt��Gd�d���Gd�d���G��fd�dt��}|�|j
j���|�|j�u��Gd	�d
���G�fd�dt��}|�|j�u��d
S)r�c�,�eZdZeZee��ZeZ	dS)�>TestSpecial.test_enum_of_types_with_nonmember.<locals>.MyTypesN)
r?r@rArZr�rr:r�r(r�rEr7r5r�r.9s'�������A��	�%� � �A��A�A�Ar7r�c��eZdZdS)�:TestSpecial.test_enum_of_types_with_nonmember.<locals>.FooNr�rEr7r5r�r0@r�r7r�c��eZdZdS)�:TestSpecial.test_enum_of_types_with_nonmember.<locals>.BarNr�rEr7r5r�r2Br�r7r�c�*��eZdZ�Ze���ZdS)�?TestSpecial.test_enum_of_types_with_nonmember.<locals>.MyTypes2N)r?r@rAr�rr�r�s��r5r�r4Ds!��������A��	�#���A�A�Ar7r�c��eZdZdS)�FTestSpecial.test_enum_of_types_with_nonmember.<locals>.SpamEnumIsInnerNr�rEr7r5�SpamEnumIsInnerr6Ir�r7r7c�&��eZdZe���ZdS)�?TestSpecial.test_enum_of_types_with_nonmember.<locals>.SpamEnumN)r?r@rArr9)r7s�r5rr9Ks��������9�_�-�-�D�D�Dr7rN)
rr-r�r/rZr�r�r:r�r(r�r�r9)r�r�r�rr�r�r7s    @@@r5�!test_enum_of_types_with_nonmemberz-TestSpecial.test_enum_of_types_with_nonmember7s������	�	�	�	�	�d�	�	�	�	
������#�.�.�.�����	�U�*�+�+�+�������#�.�.�.�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�t�	�	�	�	
�����)�3�/�/�/�����
�c�)�*�*�*�	�	�	�	�	�	�	�	�	.�	.�	.�	.�	.�	.�	.�t�	.�	.�	.�����
��8�9�9�9�9�9r7c��Gd�dt��}|�t|j|����|�|jjd��|�|jjjjd��|�t|jj��|jjj|jjj	g��|�t|��|j|j
|jg��dS)rc�B�eZdZdZdZeGd�de����ZdS)�BTestSpecial.test_nested_classes_in_enum_with_member.<locals>.Outerr<r%c��eZdZdZdZdS)�HTestSpecial.test_nested_classes_in_enum_with_member.<locals>.Outer.Innerrr�NrrEr7r5rr?Tr*r7rN)r?r@rAr�r�rrrrEr7r5rr=QsR�������A��A�
�
�
�
�
�
��
�
��V�
�
�
r7rr<rN)rr�r�rr-r�r/r�rRrr�rs  r5�'test_nested_classes_in_enum_with_memberz3TestSpecial.test_nested_classes_in_enum_with_memberOs��	�	�	�	�	�D�	�	�	�	
���
�5�;��6�6�7�7�7��������*�*�*������*�.�4�b�9�9�9�������"�#�#�
�[�
�
"�E�K�$5�$9�:�	�	�	�	
�����K�K�
�W�e�g�u�{�+�	�	�	�	�	r7c�Z�Gd�dt��}|�t|��|j|jg��|�t
|j��|��|�|jjd��|�|jjd��dS)Nc��eZdZdZdZdS)�2TestSpecial.test_enum_with_value_name.<locals>.Huhr<r%N)r?r@rAr�r/rEr7r5�HuhrCer�r7rDr�r<)rr-rRr�r/rTr�)r�rDs  r5�test_enum_with_value_namez%TestSpecial.test_enum_with_value_nameds���	�	�	�	�	�$�	�	�	�	
����c���S�X�s�y�$9�:�:�:��
�
�d�3�8�n�n�c�*�*�*��������/�/�/��������+�+�+�+�+r7c���Gd�dt��}Gd�d|tj��}|�t	|j��d��|t
��d<|t
��d<t|j|j��t|j|��Gd�d|��}Gd�d	|tj��}|�|j	|��|t
��d<|t
��d	<t|j|j
��t|j|��Gd
�dt��}Gd�d
|t��}|�|j	|��|�|d��|j��|t
��d<|t
��d
<t|j|j��t|j|��dS)Nc��eZdZdZd�ZdS)�4TestSpecial.test_inherited_data_type.<locals>.HexInt�HexIntc� �t|��Sr���hexr�s r5r�z=TestSpecial.test_inherited_data_type.<locals>.HexInt.__repr__p����4�y�y� r7Nr�rEr7r5rIrHns(������#�L�
!�
!�
!�
!�
!r7rIc��eZdZdZdZdZdZdS)�4TestSpecial.test_inherited_data_type.<locals>.MyEnumr�r<r%r=N)r?r@rAr�r�r�rEr7r5r�rOrs"������#�L��A��A��A�A�Ar7r�z<MyEnum.A: 0x1>c��eZdZdZdS)�6TestSpecial.test_inherited_data_type.<locals>.SillyInt�SillyIntNr�rEr7r5rRrQ}s������%�L��Dr7rRc��eZdZdZdZdZdZdS)�9TestSpecial.test_inherited_data_type.<locals>.MyOtherEnum�MyOtherEnumrMr!�N)r?r@rAr�r
r�rEr7r5rUrT�s"������(�L��A��A��A�A�Ar7rUc��eZdZdZd�ZdS)�9TestSpecial.test_inherited_data_type.<locals>.UnBrokenInt�UnBrokenIntc�8�t�||��Sr�)rZr�)r8r/s  r5r�zATestSpecial.test_inherited_data_type.<locals>.UnBrokenInt.__new__�s���{�{�3��.�.�.r7Nr�rEr7r5rYrX�s(������(�L�
/�
/�
/�
/�
/r7rYc��eZdZdZdZdZdZdS)�<TestSpecial.test_inherited_data_type.<locals>.MyUnBrokenEnum�MyUnBrokenEnum��r�N)r?r@rA�G�H�IrEr7r5r]r\�s"������+�L��A��A��A�A�Ar7r]r^)
rZr+rr-rQr��globalsrorTr'r
r`rb)r�rIr�rRrUrYr]s       r5�test_inherited_data_typez$TestSpecial.test_inherited_data_typemsJ��	!�	!�	!�	!�	!�S�	!�	!�	!�	�	�	�	�	�V�T�Y�	�	�	�
	
����f�h���):�;�;�;�$��	�	�(��$��	�	�(���d�m�V�X�6�6�6��d�m�V�4�4�4�	�	�	�	�	�v�	�	�	�	�	�	�	�	�(�D�I�	�	�	�
	
�
�
�k�/��:�:�:� (��	�	�*��#.��	�	�-� ��d�m�[�]�;�;�;��d�m�[�9�9�9�	/�	/�	/�	/�	/�#�	/�	/�	/�	�	�	�	�	�[�$�	�	�	�
	
�
�
�n�2�K�@�@�@��
�
�n�n�Q�'�'��)9�:�:�:�#.��	�	�-� �&4��	�	�"�#��d�m�^�-=�>�>�>��d�m�^�<�<�<�<�<r7c��t�tjj��}|�t�|��tj��t�tjjdz��}|�t��5t�|��ddd��dS#1swxYwYdS)Ng{�G�z�?)	r:rLrJrDr/rT�fromhexr@r�)r��hs  r5�test_floatenum_fromhexz"TestSpecial.test_floatenum_fromhex�s����I�I�l�&�,�-�-���
�
�l�*�*�1�-�-�|�/?�@�@�@��I�I�l�&�,�t�3�4�4��
�
�
�z�
*�
*�	$�	$�� � ��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�(C�C�Cc��tddt���}t|��}|�t	|��t	|����|�t	|��d|��|�|j|j|jg|��td�	��d��D]z\}}||��}|�||��|�|j
|��|�||��|�t|��|���{dS)Nr�r�)r�r=r<�rrZrRr-r�r�r�r��	enumerater�r�rirTr��r�r�r�r�r�r�s      r5�test_programmatic_function_typez+TestSpecial.test_programmatic_function_type�s0����&8�s�C�C�C�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�"�"4�":�":�"<�"<�a�@�@�	.�	.�H�A�u��	�!���A����Q��"�"�"����Q�V�U�+�+�+��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-�-�	.�	.r7c���tddd���}t|��}|�t|��t|����|�t|��d|��|�|j|j|jg|��td���d��D]�\}}||��}|�t|j
��|��|�||��|�|j|��|�
||��|�t|��|����dS)Nr�r�r�rqr=�rrRr-r�r�r�r�rkr�rZr/r�r�rirTr�rls      r5�,test_programmatic_function_string_with_startz8TestSpecial.test_programmatic_function_string_with_start�sN����&8��C�C�C�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�"�"4�":�":�"<�"<�b�A�A�	.�	.�H�A�u��	�!���A����S���\�\�1�-�-�-�����1�%�%�%����Q�V�U�+�+�+��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-�-�
	.�	.r7c��tddtd���}t|��}|�t	|��t	|����|�t	|��d|��|�|j|j|jg|��td�	��d��D]z\}}||��}|�||��|�|j
|��|�||��|�t|��|���{dS)Nr�r��)r�rqr=rjrls      r5�*test_programmatic_function_type_with_startz6TestSpecial.test_programmatic_function_type_with_start�s2����&8�s�"�M�M�M�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�"�"4�":�":�"<�"<�b�A�A�	.�	.�H�A�u��	�!���A����Q��"�"�"����Q�V�U�+�+�+��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-�-�	.�	.r7c���tdgd�d���}t|��}|�t|��t|����|�t|��d|��|�|j|j|jg|��td���d��D]�\}}||��}|�t|j
��|��|�||��|�|j|��|�
||��|�t|��|����dS)Nr�r��ror=r�rprls      r5�1test_programmatic_function_string_list_with_startz=TestSpecial.test_programmatic_function_string_list_with_start�sT����&@�&@�&@��K�K�K�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�"�"4�":�":�"<�"<�b�A�A�	.�	.�H�A�u��	�!���A����S���\�\�1�-�-�-�����1�%�%�%����Q�V�U�+�+�+��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-�-�
	.�	.r7c�v�tdd��}t|��}|�t|��t|����|�t|��d|��|�|j|j|jg|��td���d��D]z\}}||��}|�||��|�|j	|��|�
||��|�t|��|���{dS)Nr�r�r=r<�
rrRr-r�r�r�r�rkr�r�rirTr�rls      r5�-test_programmatic_function_type_from_subclassz9TestSpecial.test_programmatic_function_type_from_subclass�s+���K�);�<�<�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�"�"4�":�":�"<�"<�a�@�@�	.�	.�H�A�u��	�!���A����Q��"�"�"����Q�V�U�+�+�+��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-�-�	.�	.r7c�z�tddd���}t|��}|�t|��t|����|�t|��d|��|�|j|j|jg|��td���d��D]z\}}||��}|�||��|�|j	|��|�
||��|�t|��|���{dS)Nr�r��(ror=ryrls      r5�8test_programmatic_function_type_from_subclass_with_startzDTestSpecial.test_programmatic_function_type_from_subclass_with_start�s0���K�);�2�F�F�F�	��9�o�o������S���3�y�>�>�2�2�2�����Y����I�6�6�6���������1A�B��	�	�	�"�"4�":�":�"<�"<�b�A�A�	.�	.�H�A�u��	�!���A����Q��"�"�"����Q�V�U�+�+�+��M�M�!�Y�'�'�'��M�M�$�q�'�'�9�-�-�-�-�	.�	.r7c��|�t�dd��tj��|�t
��5t�dd��ddd��dS#1swxYwYdS)Ns�bigs)rTrH�
from_bytesrDr@r�r�s r5�test_intenum_from_bytesz#TestSpecial.test_intenum_from_bytess����
�
�j�+�+�K��?�?���P�P�P�
�
�
�z�
*�
*�	6�	6��!�!�+�u�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�A=�=B�Bc��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)Nz-_sunder_ names, such as ._bad_., are reservedc��eZdZdZdS)�3TestSpecial.test_reserved_sunder_error.<locals>.Badr<N)r?r@rArwrEr7r5�Badr�s���������r7r�)rEr�r)r�r�s  r5�test_reserved_sunder_errorz&TestSpecial.test_reserved_sunder_error
s���
�
#�
#��?���	�	�
�
�
�
�
�d�
�
�
�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��=�A�Ac��|�td��5Gd�dttt��}ddd��n#1swxYwYGd�dt��}Gd�dt��}|�td��5Gd�d||t��}ddd��dS#1swxYwYdS)	Nztoo many data typesc��eZdZdZdS��1TestSpecial.test_too_many_data_types.<locals>.Huhr<N�r?r@rA�OnerEr7r5rDr�r�r7rDc��eZdZd�ZdS)�3TestSpecial.test_too_many_data_types.<locals>.MyStrc��d|zS)Nz	hello, %srEr�s r5�helloz9TestSpecial.test_too_many_data_types.<locals>.MyStr.hellos
��"�T�)�)r7N�r?r@rAr�rEr7r5�MyStrr�s#������
*�
*�
*�
*�
*r7r�c��eZdZd�ZdS)�3TestSpecial.test_too_many_data_types.<locals>.MyIntc� �t|��Sr�rKr�s r5rQz8TestSpecial.test_too_many_data_types.<locals>.MyInt.reprrMr7N)r?r@rArQrEr7r5�MyIntr��#������
!�
!�
!�
!�
!r7r�c��eZdZdZdSr�r�rEr7r5rDz1TestSpecial.test_too_many_data_types.<locals>.Huhr�r7)rErjr(rZr)r�rDr�r�s    r5�test_too_many_data_typesz$TestSpecial.test_too_many_data_typess���
�
#�
#�I�/D�
E�
E�	�	�
�
�
�
�
�c�3��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	*�	*�	*�	*�	*�C�	*�	*�	*�	!�	!�	!�	!�	!�C�	!�	!�	!��
#�
#�I�/D�
E�
E�	�	�
�
�
�
�
�e�U�D�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#� A�A�A�B7�7B;�>B;c��ttt��rt�t|jtj��t|jt��dSr�)r�r;r�rorTrCr�s r5�test_pickle_enumzTestSpecial.test_pickle_enum"sE���g�y�)�)�	��M��d�m�W�]�;�;�;��d�m�W�5�5�5�5�5r7c��ttt��rt�t|jtj��t|jt��dSr�)r�rHr�rorTrCr�s r5�test_pickle_intzTestSpecial.test_pickle_int(sG���j�)�,�,�	����d�m�Z�-=�>�>�>��d�m�Z�8�8�8�8�8r7c��ttt��rt�t|jtj��t|jt��dSr�)r�rJr�rorTrCr�s r5�test_pickle_floatzTestSpecial.test_pickle_float.sG���l�I�.�.�	����d�m�\�-?�@�@�@��d�m�\�:�:�:�:�:r7c��ttt��rt�t|jtj��t|jt��dSr�)r�r_r�rorT�himr�s r5�test_pickle_enum_functionz%TestSpecial.test_pickle_enum_function4sE���f�i�(�(�	��L��d�m�V�Z�8�8�8��d�m�V�4�4�4�4�4r7c��ttt��rt�t|jtj��t|jt��dSr�)r�r\r�rorT�whor�s r5�%test_pickle_enum_function_with_modulez1TestSpecial.test_pickle_enum_function_with_module:sE���h�	�*�*�	��N��d�m�X�\�:�:�:��d�m�X�6�6�6�6�6r7c��Gd�dt��}||j_d|jjz|j_t|j|jj��dS)Nc��eZdZdZdZdS)�8TestSpecial.test_pickle_nested_class.<locals>.NestedEnum�common�rareN)r?r@rA�twigs�shinyrEr7r5�
NestedEnumr�Bs�������E��E�E�Er7r�z
%s.NestedEnum)r�	__class__r�r?rArorTr�)r�r�s  r5�test_pickle_nested_classz$TestSpecial.test_pickle_nested_class@si��	�	�	�	�	��	�	�	�%/���!�'6���9P�'P���$��d�m�T�_�-B�C�C�C�C�Cr7c���Gd�dt��}tj|_t	t
��D]0}|�|j�|��d���1dS)Nc��eZdZdZdZdS)�9TestSpecial.test_pickle_by_name.<locals>.ReplaceGlobalIntr<r%Nr�rEr7r5�ReplaceGlobalIntr�K��������C��C�C�Cr7r�r�)rr+�_reduce_ex_by_global_name�
__reduce_ex__rkrr-r�)r�r��protos   r5�test_pickle_by_namezTestSpecial.test_pickle_by_nameJs���	�	�	�	�	�w�	�	�	�*.�)G��&��+�,�,�	O�	O�E����-�1�?�?��F�F��N�N�N�N�	O�	Or7c���tddt���}|t��d<tj|��t|jt|j��t|jt|��dS)N�	BadPicklezdill sweet bread-n-butterr])
rr?rcr+�_make_class_unpicklablersr@rj�dillr)r�r�s  r5�test_pickle_explodesz TestSpecial.test_pickle_explodesRsr����8��K�K�K�	�!*��	�	�+���$�Y�/�/�/��d�/��I�N�K�K�K��d�/��	�J�J�J�J�Jr7c�n�Gd�dtt��}|�|jd��dS)Nc��eZdZdZdZdZdS)�0TestSpecial.test_string_enum.<locals>.SkillLevelz'what is the sound of one hand clapping?z#why did the chicken cross the road?�
knock, knock!N)r?r@rA�master�
journeyman�
apprenticerEr7r5�
SkillLevelr�\s������>�F�>�J�(�J�J�Jr7r�r�)r(rr-r�)r�r�s  r5�test_string_enumzTestSpecial.test_string_enum[sO��	)�	)�	)�	)�	)��d�	)�	)�	)�	
����.��@�@�@�@�@r7c��Gd�dt��}|�|d��|j��|�t|d��|j��|�|d|j��dS)Nc��eZdZdZdZdZdZdS)�0TestSpecial.test_getattr_getitem.<locals>.Periodr<r%r=rMN)r?r@rA�morning�noon�evening�nightrEr7r5�Periodr�cs"�������G��D��G��E�E�Er7r�r%r�r�)rrTr�r*r�r��r�r�s  r5�test_getattr_getitemz TestSpecial.test_getattr_getitembs���	�	�	�	�	�T�	�	�	�
	
�
�
�f�f�Q�i�i���-�-�-��
�
�g�f�g�.�.���=�=�=��
�
�f�Y�'���8�8�8�8�8r7c�Z�|j}|�t|d����dS)N�__eq__)r>r�r*rCs  r5�test_getattr_dunderzTestSpecial.test_getattr_dunderls+�����������1�1�2�2�2�2�2r7c��Gd�dt��}|�t|��|j|j|j|jg��dS)Nc��eZdZdZdZdZdZdS)�0TestSpecial.test_iteration_order.<locals>.Seasonr%rMr=r<N)r?r@rAr<r�r=r;rEr7r5r>r�qr�r7r>)rr-rRr<r�r=r;rCs  r5�test_iteration_orderz TestSpecial.test_iteration_orderpsm��	�	�	�	�	�T�	�	�	�
	
����V������
�v�}�f�m�L�	�	�	�	�	r7c��ttt��rt�|�tjd��|�tjtd����|�tjttd����t|jtj��dS)NrYrZ)	r�rXr�r-rZr�rTr*ror�s r5�test_subclassingzTestSpecial.test_subclassing{s����d�I�&�&�	��J������$6�7�7�7�����	�4�(:�#;�#;�<�<�<��
�
�d�i���v�!6�!6�7�7�7��d�m�T�Y�7�7�7�7�7r7c��Gd�dt��}|�t��5Gd�d|��}ddd��n#1swxYwY|�td��5Gd�d|t��}ddd��n#1swxYwY|�td��5|d	d
��ddd��dS#1swxYwYdS)Nc��eZdZdZdZdZdS)�)TestSpecial.test_extending.<locals>.Colorr<r%r=Nr�rEr7r5r�r����������C��E��D�D�Dr7r�c��eZdZdZdZdZdS)�-TestSpecial.test_extending.<locals>.MoreColorrMr!rVN�r?r@rA�cyan�magenta�yellowrEr7r5�	MoreColorr����������������r7r�z3<enum .EvenMoreColor.> cannot extend <enum .Color.>c��eZdZdZdS)�1TestSpecial.test_extending.<locals>.EvenMoreColorr^N)r?r@rA�
chartrueserEr7r5�
EvenMoreColorr��r�r7r�z)<enum .Foo.> cannot extend <enum .Color.>r�)�pink�black)rr@rjrEr)r�r�r�r�s    r5�test_extendingzTestSpecial.test_extending�s���	�	�	�	�	�D�	�	�	�
�
�
�y�
)�
)�	�	�
�
�
�
�
�E�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�/d�
e�
e�	�	�
�
�
�
�
��w�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�/Z�
[�
[�	,�	,��E�%�*�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s5�A	�	A
�A
�/B�B�B�6
C�C�Cc���Gd�dt��}|�t|j��|��|�|j���d��dS)Nc��eZdZdZdZd�ZdS)�2TestSpecial.test_exclude_methods.<locals>.whateverr�thosec��d|jzS)Nz
no, not %srLr�s r5�reallyz9TestSpecial.test_exclude_methods.<locals>.whatever.really�s��#�d�j�0�0r7N)r?r@rAr�r�r�rEr7r5�whateverr��s-�������D��E�
1�
1�
1�
1�
1r7r�zno, not that)r�assertIsNotr�r�r-r�)r�r�s  r5�test_exclude_methodsz TestSpecial.test_exclude_methods�sx��	1�	1�	1�	1�	1�t�	1�	1�	1�
	
����h�o�.�.��9�9�9������-�-�/�/��@�@�@�@�@r7c��|�t��5Gd�dtt��}ddd��dS#1swxYwYdS)Nc��eZdZdZdS)�7TestSpecial.test_wrong_inheritance_order.<locals>.Wrongzerror before this pointN)r?r@rA�NotHererEr7r5r�r��s������3���r7r�)r@rjrr(r�s  r5�test_wrong_inheritance_orderz(TestSpecial.test_wrong_inheritance_order�s���
�
�
�y�
)�
)�	4�	4�
4�
4�
4�
4�
4��c�
4�
4�
4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�A�A�	Ac��Gd�dt��}Gd�dt��}|�|j|j��|�|j|j��|�|j|j��dS)Nc��eZdZdZdZdZdS)�5TestSpecial.test_intenum_transitivity.<locals>.numberr<r%r=N�r?r@rArerf�threerEr7r5�numberr����������C��C��E�E�Er7rc��eZdZdZdZdZdS)�5TestSpecial.test_intenum_transitivity.<locals>.numeror<r%r=N)r?r@rA�uno�dos�tresrEr7r5�numeror���������C��C��D�D�Dr7r)rr-rerrfrrr)r�rrs   r5�test_intenum_transitivityz%TestSpecial.test_intenum_transitivity�s���	�	�	�	�	�W�	�	�	�	�	�	�	�	�W�	�	�	�	
�����V�Z�0�0�0������V�Z�0�0�0������v�{�3�3�3�3�3r7c��Gd�dt��}Gd�dt��}|�t||j��dS)Nc��eZdZdZdZdS)�7TestSpecial.test_wrong_enum_in_call.<locals>.Monochromerr<N�r?r@rAr��whiterEr7r5�
Monochromer
���������E��E�E�Er7rc��eZdZdZdZdS)�3TestSpecial.test_wrong_enum_in_call.<locals>.Genderrr<N�r?r@rA�male�femalerEr7r5�Genderr���������D��F�F�Fr7r)rr@r�r�r�rrs   r5�test_wrong_enum_in_callz#TestSpecial.test_wrong_enum_in_call�sx��	�	�	�	�	��	�	�	�	�	�	�	�	�T�	�	�	�	
���*�j�&�+�>�>�>�>�>r7c��Gd�dt��}Gd�dt��}|�t||j��dS)Nc��eZdZdZdZdS)�=TestSpecial.test_wrong_enum_in_mixed_call.<locals>.Monochromerr<NrrEr7r5rr�rr7rc��eZdZdZdZdS)�9TestSpecial.test_wrong_enum_in_mixed_call.<locals>.Genderrr<NrrEr7r5rr�rr7r)rrr@r�rrs   r5�test_wrong_enum_in_mixed_callz)TestSpecial.test_wrong_enum_in_mixed_call�sx��	�	�	�	�	��	�	�	�	�	�	�	�	�T�	�	�	�	
���*�j�&�+�>�>�>�>�>r7c��Gd�dt��}Gd�dt��}|�||j��|j��dS)Nc��eZdZdZdZdS)�9TestSpecial.test_mixed_enum_in_call_1.<locals>.Monochromerr<NrrEr7r5rr#�rr7rc��eZdZdZdZdS)�5TestSpecial.test_mixed_enum_in_call_1.<locals>.Genderrr<NrrEr7r5rr%�rr7r)rrTrrrs   r5�test_mixed_enum_in_call_1z%TestSpecial.test_mixed_enum_in_call_1�s���	�	�	�	�	��	�	�	�	�	�	�	�	�W�	�	�	�	
�
�
�j�j���/�/��1A�B�B�B�B�Br7c��Gd�dt��}Gd�dt��}|�||j��|j��dS)Nc��eZdZdZdZdS)�9TestSpecial.test_mixed_enum_in_call_2.<locals>.Monochromerr<NrrEr7r5rr)�rr7rc��eZdZdZdZdS)�5TestSpecial.test_mixed_enum_in_call_2.<locals>.Genderrr<NrrEr7r5rr+�rr7r)rrrTrr�rs   r5�test_mixed_enum_in_call_2z%TestSpecial.test_mixed_enum_in_call_2�s���	�	�	�	�	��	�	�	�	�	�	�	�	�W�	�	�	�	
�
�
�j�j���-�-�z�/?�@�@�@�@�@r7c��Gd�dt��}Gd�d|��}|�t|j��d��dS)Nc��eZdZd�ZdS)�-TestSpecial.test_flufl_enum.<locals>.Fluflnumc�*�t|j��Sr�)rZr/r�s r5�__int__z5TestSpecial.test_flufl_enum.<locals>.Fluflnum.__int__�s���4�:���&r7N)r?r@rAr1rEr7r5�Fluflnumr/��#������
'�
'�
'�
'�
'r7r2c��eZdZdZdZdZdS)�3TestSpecial.test_flufl_enum.<locals>.MailManOptionsr<r%r=N)r?r@rA�option1�option2�option3rEr7r5�MailManOptionsr5�s�������G��G��G�G�Gr7r9r<)rr-rZr6)r�r2r9s   r5�test_flufl_enumzTestSpecial.test_flufl_enum�s��	'�	'�	'�	'�	'�t�	'�	'�	'�	�	�	�	�	�X�	�	�	�	
����^�3�4�4�a�8�8�8�8�8r7c�"�Gd�dt��}|�|jjt��|�|jt��Gd�dt
t��}|�|jjt
��|�|jt
��Gd�dt��}|�|jjt��|�|jt��dS)Nc��eZdZdZdZdS)�.TestSpecial.test_introspection.<locals>.Number�d��N�r?r@rArerfrEr7r5�Numberr=�s�������C��C�C�Cr7rAc��eZdZdZdZdZdS)�.TestSpecial.test_introspection.<locals>.String�soft�rough�hardN)r?r@rA�yarn�rope�wirerEr7r5�StringrC�s�������D��D��D�D�Dr7rJc��eZdZdZdZdS)�-TestSpecial.test_introspection.<locals>.Plainrr<N)r?r@rA�vanillarerEr7r5�PlainrL�s�������G��C�C�Cr7rN)
rrTrer'rZr(rrGrMr�)r�rArJrNs    r5�test_introspectionzTestSpecial.test_introspection�s��	�	�	�	�	�W�	�	�	�	
�
�
�f�j�.��4�4�4��
�
�f�*�C�0�0�0�	�	�	�	�	�S�$�	�	�	�	
�
�
�f�k�/��5�5�5��
�
�f�*�C�0�0�0�	�	�	�	�	�D�	�	�	�	
�
�
�e�m�1�6�:�:�:��
�
�e�)�6�2�2�2�2�2r7c��Gd�dt��}|�t��5|d��ddd��n#1swxYwY|�t��5|dddd��dS#1swxYwYdS)Nc��eZdZdZdZdZdS)�3TestSpecial.test_no_such_enum_member.<locals>.Colorr<r%r=Nr�rEr7r5r�rR�r�r7r�rM�
chartreuse)rr@r��KeyErrorr�s  r5�test_no_such_enum_memberz$TestSpecial.test_no_such_enum_member�s'��	�	�	�	�	�D�	�	�	��
�
�z�
*�
*�	�	��E�!�H�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�x�
(�
(�	 �	 ��,���	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s#�A�A
�
A
�+	B�B�Bc����G�fd�dtt�����Gd�dt����}Gd�dt����}Gd�d	|��}Gd
�d|��}dS)Nc�"���eZdZ��fd�Z�xZS)�6TestSpecial.test_multiple_mixin_mro.<locals>.auto_enumc�R��t|����}||_t|j��}d}|jD]"}||}|tur|}n|}|dz
}|||<�#|���D]\}}||vr|||<�t
�
|���||||��S�Nrr<)r��	_cls_namerv�
_member_names�Ellipsis�items�superr�)�metaclsr8�bases�	classdict�tempr%r��k�vr��	auto_enums         ��r5r�z>TestSpecial.test_multiple_mixin_mro.<locals>.auto_enum.__new__�s����&�t�I���(�(��!$����I�3�4�4����"�0� � �A�!�!��A��H�}���������F�A��D��G�G�%�O�O�-�-�$�$�D�A�q���~�$�"#��Q����Y��0�0�8�8���e�T�3�3�3r7�r?r@rAr��
__classcell__)r�rfs@�r5rfrX�s>��������
3�
3�
3�
3�
3�
3�
3�
3�
3�
3r7rfc��eZdZdS)�=TestSpecial.test_multiple_mixin_mro.<locals>.AutoNumberedEnumNr�rEr7r5�AutoNumberedEnumrjr�r7rk)�	metaclassc��eZdZdS)�8TestSpecial.test_multiple_mixin_mro.<locals>.AutoIntEnumNr�rEr7r5�AutoIntEnumrnr�r7roc��eZdZdZdZdZdS)�;TestSpecial.test_multiple_mixin_mro.<locals>.TestAutoNumber.r=N�r?r@rAr�r��crEr7r5�TestAutoNumberrq��������A��A��A�A�Ar7rtc��eZdZdZdZdZdS)�8TestSpecial.test_multiple_mixin_mro.<locals>.TestAutoInt.r=NrrrEr7r5�TestAutoIntrwrur7rx)r�rr)r�rkrortrxrfs     @r5�test_multiple_mixin_mroz#TestSpecial.test_multiple_mixin_mro�s����	3�	3�	3�	3�	3�	3�	3��T�
�
�	3�	3�	3�(	�	�	�	�	�t�y�	�	�	�	�	�	�	�	�	�'�Y�	�	�	�	�	�	�	�	�	�-�	�	�	�
	�	�	�	�	�+�	�	�	�	�	r7c�V��G�fd�dt���Gd�d�t��}|�|jtj��|�t|j|jz��d���t��d<|t��d<�dd��}|�|d��t|j|d��|�|jj
d��t|j|j��t|j|��dS)	Nc�V��eZdZdZd�Zd�Zejd���Zd�Zd�Z�fd�Z	dS)	�=TestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt�NamedIntc��|}|^}}t|��dkrtd���tj|g|�R�}||_||_|S�Nrz name and value must be specified�r�rjrZr��_intname�_args�r8�argsr�r�r�s     r5r�zETestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__new__%�\����"���t��t�9�9��>�H�#�$F�G�G�G��{�3�.��.�.�.�� $��
�"��
��r7c��|jSr��r�r�s r5�__getnewargs__zLTestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__getnewargs__.s
���z�!r7c��|jSr��r�r�s r5r?zFTestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__name__0�
���}�$r7c��d�t|��j|jt�|����S�Nz{}({!r}, {})�r.r�r?rZr�r�s r5r�zFTestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__repr__3�:��%�,�,��T�
�
�+��
����T�*�*���r7c�z�t}|j}|jtur|�|��S||��Sr��rZr��__objclass__r�r��r��base�base_strs   r5r�zETestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__str__:�>�����<���(�F�2�/��=�=��.�.�.��x��~�~�%r7c����t|��t|��z}t|���r:t|���r*�d�|j|j��|��S|S�Nz({0} + {1})�rZr�r.r?�r��otherrcr}s   �r5�__add__zETestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__add__C�q����4�y�y�3��;�;�.���d�H�-�-� �*�U�H�2M�2M� �#�8�%�,�,�T�]�E�N�K�K�����
 �Kr7N)
r?r@rAr�r��bltnsr�r�r�r��r}s�r5r}r|#s��������%�L�
�
�
�
"�
"�
"�
�^�
%�
%��^�
%�
�
�
�
&�
&�
&�
 �
 �
 �
 �
 �
 �
 r7r}c��eZdZdZdZdZdS)�8TestSpecial.test_subclasses_with_getnewargs.<locals>.NEI�NEI�zthe-xr<�zthe-yr%N�r?r@rA�x�yrEr7r5r�r�M������� �L��A��A�A�Ar7r��NamedInt('(the-x + the-y)', 3)�testr!r%�rZrrTr�r-rQr�r�rcror/�r�r��NI5r}s   @r5�test_subclasses_with_getnewargsz+TestSpecial.test_subclasses_with_getnewargs"�C���(	 �(	 �(	 �(	 �(	 �(	 �(	 �s�(	 �(	 �(	 �T	�	�	�	�	�(�D�	�	�	�	
�
�
�c�k�4�<�0�0�0�����c�e�c�e�m�,�,�.N�O�O�O� (��	�	�*����	�	�%���h�v�q�!�!������a� � � ��d�.��Q�7�7�7�������a�(�(�(��d�m�S�U�3�3�3��d�m�S�1�1�1�1�1r7c�V��G�fd�dt���Gd�d�t��}|�|jtj��|�t|j|jz��d���t��d<|t��d<�dd��}|�|d��t|j|d��|�|jj
d��t|j|j��t|j|��dS)	Nc�V��eZdZdZd�Zd�Zejd���Zd�Zd�Z�fd�Z	dS)	�@TestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedIntr}c��|}|^}}t|��dkrtd���tj|g|�R�}||_||_|Srr�r�s     r5r�zHTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__new__ar�r7c��|jifSr�r�r�s r5�__getnewargs_ex__zRTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__getnewargs_ex__js���z�2�~�%r7c��|jSr�r�r�s r5r?zITestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__name__lr�r7c��d�t|��j|jt�|����Sr�r�r�s r5r�zITestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__repr__or�r7c�z�t}|j}|jtur|�|��S||��Sr�r�r�s   r5r�zHTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__str__vr�r7c����t|��t|��z}t|���r:t|���r*�d�|j|j��|��S|Sr�r�r�s   �r5r�zHTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__add__r�r7N)
r?r@rAr�r�r�r�r�r�r�r�s�r5r}r�_s��������%�L�
�
�
�
&�
&�
&�
�^�
%�
%��^�
%�
�
�
�
&�
&�
&�
 �
 �
 �
 �
 �
 �
 r7r}c��eZdZdZdZdZdS)�;TestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NEIr�r�r�Nr�rEr7r5r�r��r�r7r�r�r�r!r%r�r�s   @r5�"test_subclasses_with_getnewargs_exz.TestSpecial.test_subclasses_with_getnewargs_ex^r�r7c�V��G�fd�dt���Gd�d�t��}|�|jtj��|�t|j|jz��d���t��d<|t��d<�dd��}|�|d��t|j|d��|�|jj
d��t|j|j��t|j|��dS)	Nc�V��eZdZdZd�Zd�Zejd���Zd�Zd�Z�fd�Z	dS)	�9TestSpecial.test_subclasses_with_reduce.<locals>.NamedIntr}c��|}|^}}t|��dkrtd���tj|g|�R�}||_||_|Srr�r�s     r5r�zATestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__new__�r�r7c��|j|jfSr��r�r�r�s r5�
__reduce__zDTestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__reduce__�����~�t�z�1�1r7c��|jSr�r�r�s r5r?zBTestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__name__�r�r7c��d�t|��j|jt�|����Sr�r�r�s r5r�zBTestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__repr__�r�r7c�z�t}|j}|jtur|�|��S||��Sr�r�r�s   r5r�zATestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__str__�r�r7c����t|��t|��z}t|���r:t|���r*�d�|j|j��|��S|Sr�r�r�s   �r5r�zATestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__add__�r�r7N)
r?r@rAr�r�r�r�r�r�r�r�s�r5r}r����������%�L�
�
�
�
2�
2�
2�
�^�
%�
%��^�
%�
�
�
�
&�
&�
&�
 �
 �
 �
 �
 �
 �
 r7r}c��eZdZdZdZdZdS)�4TestSpecial.test_subclasses_with_reduce.<locals>.NEIr�r�r�Nr�rEr7r5r�r��r�r7r�r�r�r!r%r�r�s   @r5�test_subclasses_with_reducez'TestSpecial.test_subclasses_with_reduce�r�r7c�V��G�fd�dt���Gd�d�t��}|�|jtj��|�t|j|jz��d���t��d<|t��d<�dd��}|�|d��t|j|d��|�|jj
d��t|j|j��t|j|��dS)	Nc�V��eZdZdZd�Zd�Zejd���Zd�Zd�Z�fd�Z	dS)	�<TestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedIntr}c��|}|^}}t|��dkrtd���tj|g|�R�}||_||_|Srr�r�s     r5r�zDTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__new__�r�r7c��|j|jfSr�r��r�r�s  r5r�zJTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__reduce_ex__�r�r7c��|jSr�r�r�s r5r?zETestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__name__�r�r7c��d�t|��j|jt�|����Sr�r�r�s r5r�zETestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__repr__�r�r7c�z�t}|j}|jtur|�|��S||��Sr�r�r�s   r5r�zDTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__str__�r�r7c����t|��t|��z}t|���r:t|���r*�d�|j|j��|��S|Sr�r�r�s   �r5r�zDTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__add__�r�r7N)
r?r@rAr�r�r�r�r�r�r�r�s�r5r}r��r�r7r}c��eZdZdZdZdZdS)�7TestSpecial.test_subclasses_with_reduce_ex.<locals>.NEIr�r�r�Nr�rEr7r5r�r�r�r7r�r�r�r!r%r�r�s   @r5�test_subclasses_with_reduce_exz*TestSpecial.test_subclasses_with_reduce_ex�sC���(	 �(	 �(	 �(	 �(	 �(	 �(	 �s�(	 �(	 �(	 �T	�	�	�	�	�(�D�	�	�	�
	
�
�
�c�k�4�<�0�0�0�����c�e�c�e�m�,�,�.N�O�O�O� (��	�	�*����	�	�%���h�v�q�!�!������a� � � ��d�.��Q�7�7�7�������a�(�(�(��d�m�S�U�3�3�3��d�m�S�1�1�1�1�1r7c�*��G�fd�dt���Gd�d�t��}|�|jtj��|�t|j|jz��d���t��d<|t��d<�dd��}|�|d��|�|jj	d��t|j|j��t|j|��dS)	Nc�P��eZdZdZd�Zejd���Zd�Zd�Z�fd�ZdS)�KTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedIntr}c��|}|^}}t|��dkrtd���tj|g|�R�}||_||_|Srr�r�s     r5r�zSTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__new__r�r7c��|jSr�r�r�s r5r?zTTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__name__r�r7c��d�t|��j|jt�|����Sr�r�r�s r5r�zTTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__repr__ r�r7c�z�t}|j}|jtur|�|��S||��Sr�r�r�s   r5r�zSTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__str__'r�r7c����t|��t|��z}t|���r:t|���r*�d�|j|j��|��S|Sr�r�r�s   �r5r�zSTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__add__0sq����4�y�y�3��;�;�.���d�H�-�-� �*�U�H�2M�2M� �#�8�%�,�,�T�]�E�N�K�K����� �Kr7N�	r?r@rAr�r�r�r�r�r�r�s�r5r}r�s}�������%�L�
�
�
��^�
%�
%��^�
%�
�
�
�
&�
&�
&�
 �
 �
 �
 �
 �
 �
 r7r}c��eZdZdZdZdZdS)�FTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NEIr�r�r�Nr�rEr7r5r�r�9r�r7r�r�r�r!r%�rZrrTr�r-rQr�r�rcr/ror�s   @r5�-test_subclasses_without_direct_pickle_supportz9TestSpecial.test_subclasses_without_direct_pickle_supports.���%	 �%	 �%	 �%	 �%	 �%	 �%	 �s�%	 �%	 �%	 �N	�	�	�	�	�(�D�	�	�	�
	
�
�
�c�k�4�<�0�0�0�����c�e�c�e�m�,�,�.N�O�O�O� (��	�	�*����	�	�%���h�v�q�!�!������a� � � �������a�(�(�(��d�m�S�U�3�3�3��d�m�S�1�1�1�1�1r7c�*��G�fd�dt���Gd�d�t��}|�|jtj��|�t|j|jz��d���t��d<|t��d<�dd��}|�|d��|�|jj	d��t|j|j��t|j|��dS)	Nc�P��eZdZdZd�Zejd���Zd�Zd�Z�fd�ZdS)�HTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedIntr}c��|}|^}}t|��dkrtd���tj|g|�R�}||_||_|Srr�r�s     r5r�zPTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__new__Kr�r7c��|jSr�r�r�s r5r?zQTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__name__Tr�r7c��d�t|��j|jt�|����Sr�r�r�s r5r�zQTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__repr__Wr�r7c�z�t}|j}|jtur|�|��S||��Sr�r�r�s   r5r�zPTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__str__^r�r7c����t|��t|��z}t|���r:t|���r*�d�|j|j��|��S|Sr�r�r�s   �r5r�zPTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__add__gr�r7Nr�r�s�r5r}r�Is}�������%�L�
�
�
��^�
%�
%��^�
%�
�
�
�
&�
&�
&�
 �
 �
 �
 �
 �
 �
 r7r}c� �eZdZdZdZdZd�ZdS)�CTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NEIr�r�r�c�,�t|j|jffSr�)r*r�r�r�s  r5r�zQTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NEI.__reduce_ex__us������� =�=�=r7N)r?r@rAr�r�r�rEr7r5r�r�qs2������ �L��A��A�
>�
>�
>�
>�
>r7r�r�r�r!r%r�r�s   @r5�*test_subclasses_with_direct_pickle_supportz6TestSpecial.test_subclasses_with_direct_pickle_supportHs.���&	 �&	 �&	 �&	 �&	 �&	 �&	 �s�&	 �&	 �&	 �P	>�	>�	>�	>�	>�(�D�	>�	>�	>�	
�
�
�c�k�4�<�0�0�0�����c�e�c�e�m�,�,�.N�O�O�O� (��	�	�*����	�	�%���h�v�q�!�!������a� � � �������a�(�(�(��d�m�S�U�3�3�3��d�m�S�1�1�1�1�1r7c�T�Gd�dtt��}|�t|j��|��|�|jt��|�|jd��|t��d<t|j|j��dS)Nc��eZdZdZdZdZdZdS)�2TestSpecial.test_tuple_subclass.<locals>.SomeTuple�	SomeTuple)r<z
for the money)r%zfor the show�r=z
for the musicN)r?r@rAr�r�r�rEr7r5r�r��s"������&�L�(�E�(�F�(�E�E�Er7r�r�)r�rrTr�r��assertIsInstancer�r-r�rcro)r�r�s  r5�test_tuple_subclasszTestSpecial.test_tuple_subclass�s���	)�	)�	)�	)�	)��t�	)�	)�	)�
	
�
�
�d�9�?�+�+�Y�7�7�7����i�.��6�6�6������*>�?�?�?�!*��	�	�+���d�m�Y�_�=�=�=�=�=r7c�n�Gd�dt��}|�t|��|j|j|jg��|�t
|j��d��|�|jjd��|�|d��|j��dS)Nc�&�eZdZdZdZdZd�Zd�ZdS)�LTestSpecial.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumberrEc�v�t|j��dz}t�|��}||_|S�Nr<�r��__members__r�r�r��r8r/rrs   r5r�zTTestSpecial.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__new__��3���C�O�,�,�q�0���n�n�S�)�)��#����
r7c�*�t|j��Sr��rZr�r�s r5r1zTTestSpecial.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__int__�����4�<�(�(�(r7N)r?r@rAr�r�r�r�r1rEr7r5�
AutoNumberr��sA�������E��F��E�
�
�
�

)�
)�
)�
)�
)r7rr%r=r<)	rr-rRr�r�r�rZr/rT)r�rs  r5�,test_duplicate_values_give_unique_enum_itemsz8TestSpecial.test_duplicate_values_give_unique_enum_items�s���
	)�
	)�
	)�
	)�
	)��
	)�
	)�
	)�	
����Z� � ��!�:�#4�j�6F�G�	�	�	�	
����Z�.�/�/��3�3�3�����)�/��3�3�3��
�
�j�j��m�m�Z�%5�6�6�6�6�6r7c�"�Gd�dt��}Gd�d|��}|�t|��|j|j|jg��|�tt
t|����gd���dS)Nc��eZdZd�Zd�ZdS)�ETestSpecial.test_inherited_new_from_enhanced_enum.<locals>.AutoNumberc�v�t|j��dz}t�|��}||_|Sr�r�rs   r5r�zMTestSpecial.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__new__�rr7c�*�t|j��Sr�rr�s r5r1zMTestSpecial.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__int__�rr7N)r?r@rAr�r1rEr7r5rr
�s2������
�
�
�

)�
)�
)�
)�
)r7rc��eZdZdZdZdZdS)�@TestSpecial.test_inherited_new_from_enhanced_enum.<locals>.ColorrENr�rEr7r5r�r���������C��E��D�D�Dr7r�r")rr-rRr�r�r��maprZ�r�rr�s   r5�%test_inherited_new_from_enhanced_enumz1TestSpecial.test_inherited_new_from_enhanced_enum�s���	)�	)�	)�	)�	)��	)�	)�	)�	�	�	�	�	�J�	�	�	�	
����e���u�y�%�+�u�z�&J�K�K�K�����c�#�u�o�o�.�.�	�	�	�:�:�:�:�:r7c�"�Gd�dt��}Gd�d|��}|�t|��|j|j|jg��|�tt
t|����gd���dS)Nc��eZdZd�ZdS)�BTestSpecial.test_inherited_new_from_mixed_enum.<locals>.AutoNumberc�x�t|j��dz}t�||��}||_|Sr�)r�rrZr�r�rs   r5r�zJTestSpecial.test_inherited_new_from_mixed_enum.<locals>.AutoNumber.__new__�s5���C�O�,�,�q�0���k�k�#�u�-�-��#����
r7Nr�rEr7r5rr��#������
�
�
�
�
r7rc��eZdZdZdZdZdS)�=TestSpecial.test_inherited_new_from_mixed_enum.<locals>.ColorrENr�rEr7r5r�r�rr7r�r")rr-rRr�r�r�rrZrs   r5�"test_inherited_new_from_mixed_enumz.TestSpecial.test_inherited_new_from_mixed_enum�s���	�	�	�	�	��	�	�	�	�	�	�	�	�J�	�	�	�	
����e���u�y�%�+�u�z�&J�K�K�K�����c�#�u�o�o�.�.�	�	�	�:�:�:�:�:r7c��Gd�dt��}|�t|j��|�|jt��dS)Nc��eZdZdZdS)�/TestSpecial.test_equality.<locals>.OrdinaryEnumr<N)r?r@rAr�rEr7r5�OrdinaryEnumr�s�������A�A�Ar7r)rr-r!r�)r�rs  r5�
test_equalityzTestSpecial.test_equality�sb��	�	�	�	�	�4�	�	�	�����L�N�3�3�3�������3�3�3�3�3r7c���Gd�dt��}Gd�d|��}|�|j|j��|�|j|j��|�|j|j��|�	|j|j��|�
|j|j��|�|j|j��dS)Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�3TestSpecial.test_ordered_mixin.<locals>.OrderedEnumc�L�|j|jur|j|jkStSr��r�r��NotImplemented�r�r�s  r5�__ge__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__ge__��(���>�U�_�4�9��<�5�=�8�8�%�%r7c�L�|j|jur|j|jkStSr�r$r&s  r5�__gt__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__gt__��(���>�U�_�4�8��<�%�-�7�7�%�%r7c�L�|j|jur|j|jkStSr�r$r&s  r5�__le__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__le__�r(r7c�L�|j|jur|j|jkStSr�r$r&s  r5�__lt__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__lt__�r+r7N)r?r@rAr'r*r-r/rEr7r5�OrderedEnumr"�sP������
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&r7r0c�"�eZdZdZdZdZdZdZdS)�-TestSpecial.test_ordered_mixin.<locals>.Grader!rMr=r%r<Nr�rEr7r5�Grader2�r�r7r3)r�
assertGreaterr�r��assertLessEqualr�r��
assertLessr��assertGreaterEqualr-r�)r�r0r3s   r5�test_ordered_mixinzTestSpecial.test_ordered_mixin�s���	&�	&�	&�	&�	&�$�	&�	&�	&�"	�	�	�	�	�K�	�	�	�	
���5�7�E�G�,�,�,����U�W�e�g�.�.�.��������)�)�)��������1�1�1������%�'�*�*�*����E�G�U�W�-�-�-�-�-r7c���Gd�dt��}Gd�d|��}|�t��5Gd�d|��}ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�*TestSpecial.test_extending2.<locals>.Shadec�.�t|j��dSr�)�printr�r�s r5�shadez0TestSpecial.test_extending2.<locals>.Shade.shade�s���d�i� � � � � r7N�r?r@rAr>rEr7r5�Shader;�r�r7r@c��eZdZdZdZdZdS)�*TestSpecial.test_extending2.<locals>.Colorr<r%r=Nr�rEr7r5r�rB�r�r7r�c��eZdZdZdZdZdS)�.TestSpecial.test_extending2.<locals>.MoreColorrMr!rVNr�rEr7r5r�rD�r�r7r�)rr@rj�r�r@r�r�s    r5�test_extending2zTestSpecial.test_extending2�s���	!�	!�	!�	!�	!�D�	!�	!�	!�	�	�	�	�	�E�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�E�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A�A�Ac��Gd�dt��}Gd�d|��}Gd�d|��}|�|j���d��dS)Nc��eZdZd�ZdS)�*TestSpecial.test_extending3.<locals>.Shadec��|jSr�r�r�s r5r>z0TestSpecial.test_extending3.<locals>.Shade.shade�s
���y� r7Nr?rEr7r5r@rJ�r�r7r@c��eZdZd�ZdS)�*TestSpecial.test_extending3.<locals>.Colorc��d|jzS)Nz
%s hexlified!rLr�s r5rLz.TestSpecial.test_extending3.<locals>.Color.hex�s��&���3�3r7N)r?r@rArLrEr7r5r�rM�rr7r�c��eZdZdZdZdZdS)�.TestSpecial.test_extending3.<locals>.MoreColorrMr!rVNr�rEr7r5r�rP�s�������D��G��F�F�Fr7r�z5 hexlified!)rr-r�rLrEs    r5�test_extending3zTestSpecial.test_extending3�s���	!�	!�	!�	!�	!�D�	!�	!�	!�	4�	4�	4�	4�	4�E�	4�	4�	4�	�	�	�	�	��	�	�	�	
����*�.�.�0�0�.�A�A�A�A�Ar7c��Gd�dt��}Gd�d|��}|�t|j��|��dS)Nc��eZdZd�ZdS)�6TestSpecial.test_subclass_duplicate_name.<locals>.Basec��dSr�rEr�s r5r�z;TestSpecial.test_subclass_duplicate_name.<locals>.Base.testr:r7N�r?r@rAr�rEr7r5�BaserT�#������
�
�
�
�
r7rWc��eZdZdZdS)�6TestSpecial.test_subclass_duplicate_name.<locals>.Testr<NrVrEr7r5r�rZ��������D�D�Dr7r�)rrTr�r�)r�rWr�s   r5�test_subclass_duplicate_namez(TestSpecial.test_subclass_duplicate_namesx��	�	�	�	�	�4�	�	�	�	�	�	�	�	�4�	�	�	��
�
�d�4�9�o�o�t�,�,�,�,�,r7c���ddlm�G�fd�dt��}Gd�d|��}|�|jjd��|�|jjd��Gd	�d
t��}Gd�d|��}|�|jjd��|�|jjd��dS)
Nr��DynamicClassAttributec�&��eZdZ�d���ZdS)�>TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Basec��dS)N�dynamicrEr�s r5r�zCTestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Base.tests�� �yr7NrVr^s�r5rWra
s/�������
"�
!�
!�#�
"�
!�
!�
!r7rWc��eZdZdZdS��>TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Testr<NrVrEr7r5r�rfr[r7r�rcr<c�.�eZdZejd���ZdS)�?TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Base2c��dS)N�flashy dynamicrEr�s r5�flashzETestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Base2.flashs��'�'r7N)r?r@rAr+r�rkrEr7r5�Base2rhs/������
�]�
(�
(��]�
(�
(�
(r7rlc��eZdZdZdSre)r?r@rArkrEr7r5r�z>TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Tests�������E�E�Er7rj)�typesr_rr-r�r/rk)r�rWr�rlr_s    @r5�$test_subclass_duplicate_name_dynamicz0TestSpecial.test_subclass_duplicate_name_dynamics8���/�/�/�/�/�/�	!�	!�	!�	!�	!�	!�	!�4�	!�	!�	!�	�	�	�	�	�4�	�	�	��������3�3�3�������!�,�,�,�	(�	(�	(�	(�	(�D�	(�	(�	(�	�	�	�	�	�5�	�	�	������)�+;�<�<�<������)�1�-�-�-�-�-r7c���Gd�dt��}Gd�d|��}|�t��5Gd�d|��}ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�2TestSpecial.test_no_duplicates.<locals>.UniqueEnumc����j}t�fd�|D����r1�j}|�j��j}t	d|�d|�����dS)Nc3�8�K�|]}�j|jkV��dSr�rL)rHr�r�s  �r5�	<genexpr>zNTestSpecial.test_no_duplicates.<locals>.UniqueEnum.__init__.<locals>.<genexpr>s,�����:�:��t�z�Q�W�,�:�:�:�:�:�:r7z$aliases not allowed in UniqueEnum:  z --> )r��anyr�r/r�)r�r�r8r�r�s`    r5r�z;TestSpecial.test_no_duplicates.<locals>.UniqueEnum.__init__sv����n���:�:�:�:�c�:�:�:�:�:���	�A���D�J���,�A�$�*� �q�q�!�!�%�����r7N�r?r@rAr�rEr7r5�
UniqueEnumrrs#������
�
�
�
�
r7rxc��eZdZdZdZdZdS��-TestSpecial.test_no_duplicates.<locals>.Colorr<r%r=Nr�rEr7r5r�r{&r�r7r�c��eZdZdZdZdZdZdSrz)r?r@rAr�r�r��grenerEr7r5r�z-TestSpecial.test_no_duplicates.<locals>.Color+s"���������������r7)rr@r�)r�rxr�s   r5�test_no_duplicateszTestSpecial.test_no_duplicatess���		�		�		�		�		��		�		�		�	�	�	�	�	�J�	�	�	��
�
�z�
*�
*�	�	�
�
�
�
�
�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rGc���Gd�dt��}|�t|jjd��d��|�|jjd��dS)Nc�T�eZdZdZdZdZdZdZdZdZ	dZ
d	�Zej
d
���ZdS)�%TestSpecial.test_init.<locals>.Planet)gI�Tf|�Dg
�BA)g�QX4Eg�WA�g�o��Eg�TXA)g���	��Dg(�IA)g�c�����Eg���A)g�[�\h}Eg,A)g#'?�T�QEg��_xA)g�J��-UEg��wAc�"�||_||_dSr���mass�radius)r�r�r�s   r5r�z.TestSpecial.test_init.<locals>.Planet.__init__;s�� ��	�$����r7c�:�d}||jz|j|jzzS)Ng
yдW�=r�)r�r`s  r5�surface_gravityz5TestSpecial.test_init.<locals>.Planet.surface_gravity>s#�� ���4�9�}���d�k�(A�B�Br7N)r?r@rA�MERCURY�VENUS�EARTH�MARS�JUPITER�SATURN�URANUS�NEPTUNEr�r+r�r�rEr7r5�Planetr�2sm������+�G�+�E�,�E�+�D�+�G�+�F�+�F�+�G�
%�
%�
%��]�
C�
C��]�
C�
C�
Cr7r�r%g������#@r�)rr-�roundr�r�r/)r�r�s  r5�	test_initzTestSpecial.test_init1s}��	C�	C�	C�	C�	C�T�	C�	C�	C�"	
����v�|�;�Q�?�?��F�F�F������+�-C�D�D�D�D�Dr7c���Gd�dtt��}|�t|d����|�t|d����|�t|d����|�t|jt����|�|j|ju��|�|j	|j
u��dS)Nc���eZdZdZd�ZdZe��Zed��D]Z	e	dzdfede	z<�ed��D]Z	e	d	zd
fede	z<�ed��D]Z	e	d
fede	z<�
e
ZeZ
eZdS)�'TestSpecial.test_ignore.<locals>.Periodz3
            different lengths of time
            c�L�tj||��}||_||_|Sr�)r$r�r��period)r8r/r�rrs    r5r�z/TestSpecial.test_ignore.<locals>.Period.__new__Ks'���'��U�3�3��#���#��
��
r7zPeriod ir
rsr�zmonth_%d�5r^�weekzweek_%d� �dayzday_%dN)r?r@rAr�r��_ignore_�varsr�rkr��day_1�OneDay�week_1�OneWeek�month_1�OneMonthrEr7r5r�r�Gs�������
�
�
�
�
�
"�H��T�V�V�F��U�2�Y�Y�
7�
7��)*�2��w���z�A�~�&�&��U�2�Y�Y�
4�
4��()�!��V���y�1�}�%�%��U�2�Y�Y�
0�
0��'(�%�x��x�!�|�$�$��F��G��H�H�Hr7r�r�r�)r$rr�r?r�r�r�r��day_30�week_4�day_28r�s  r5�test_ignorezTestSpecial.test_ignoreFs���	�	�	�	�	�Y��	�	�	�(	
������4�4�5�5�5�������2�2�3�3�3�������-�-�.�.�.����
�6�<��;�;�<�<�<������&�-�7�8�8�8�����
���6�7�7�7�7�7r7c�z�Gd�dt��}Gd�d|��}|�t|��|j|j|jg��t
|td����D]F\}}|dz
}|�|j|g��|�	||g��|���GdS)Nc��eZdZd�ZdS)�9TestSpecial.test_nonhash_value.<locals>.AutoNumberInAListc�x�t|j��dzg}t�|��}||_|Sr�r�rs   r5r�zATestSpecial.test_nonhash_value.<locals>.AutoNumberInAList.__new__ds6���S�_�-�-��1�2���n�n�S�)�)��#����
r7Nr�rEr7r5�AutoNumberInAListr�crr7r�c��eZdZdZdZdZdS)�4TestSpecial.test_nonhash_value.<locals>.ColorInAListrENr�rEr7r5�ColorInAListr�irr7r�r=r<)
rr-rRr�r�r�rSrkr/rT)r�r�r�r+r/s     r5�test_nonhash_valuezTestSpecial.test_nonhash_valuebs���	�	�	�	�	��	�	�	�	�	�	�	�	�,�	�	�	�	
����l�+�+�l�.>��@R�T`�Te�-f�g�g�g��|�U�1�X�X�6�6�	7�	7�K�D�%��Q�J�E����T�Z�%��1�1�1��M�M�,�,��w�/�/��6�6�6�6�	7�	7r7c�0�Gd�dtt��}Gd�d|��}|�t|��|j|jg��|�|jd��|�|d��|j��dS)Nc��eZdZd�ZdS)�KTestSpecial.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnumc�b�|\}}t�||��}||_||_|Sr�)rZr��labelr�)r8r�r/r�rrs     r5r�zSTestSpecial.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnum.__new__us1��#���u��k�k�#�u�-�-��!��	�#����
r7Nr�rEr7r5�LabelledIntEnumr�ts#������
�
�
�
�
r7r�c��eZdZdZdZdS)�HTestSpecial.test_conflicting_types_resolved_in_new.<locals>.LabelledList)r<�Unprocessed)r%zPayment CompleteN)r?r@rA�unprocessed�payment_completerEr7r5�LabelledListr�|s������,�K�6���r7r�r<)rZrr-rRr�r�)r�r�r�s   r5�&test_conflicting_types_resolved_in_newz2TestSpecial.test_conflicting_types_resolved_in_newss���	�	�	�	�	�c�4�	�	�	�	7�	7�	7�	7�	7�?�	7�	7�	7�	
����l�+�+�l�.F��He�-f�g�g�g�����1�1�5�5�5������a���,�*B�C�C�C�C�Cr7c���Gd�dt��}	|d��td���#t$r'}|�|jdu��Yd}~dSd}~wwxYw)Nc��eZdZdZdZdZdS)�DTestSpecial.test_default_missing_no_chained_exception.<locals>.Colorr<r%r=N)r?r@rArD�GREEN�BLUErEr7r5r�r��r�r7r�r^�Exception not raised.)rr�r�r�rF�r�r��excs   r5�)test_default_missing_no_chained_exceptionz5TestSpecial.test_default_missing_no_chained_exception�s���	�	�	�	�	�D�	�	�	�	5��E�!�H�H�H��3�4�4�4���	5�	5�	5��O�O�C�O�t�3�4�4�4�4�4�4�4�4�4�����	5���s�/�
A �A�A c��Gd�dt��}|�|d��|j��	|d��td���#t$r&}|�|jdu��Yd}~nd}~wwxYw	|d��td���#t$r7}|�t|jt����Yd}~nd}~wwxYw	|d��td���#t$r8}|�t|jt����Yd}~dSd}~wwxYw)Nc�0�eZdZdZdZdZed���ZdS)�0TestSpecial.test_missing_override.<locals>.Colorr<r%r=c�J�|dkr|jS|dkrdS|dkrt�dS)Nr�
bad returnr!�	error out)r��ZeroDivisionError)r8r�s  r5�	_missing_z:TestSpecial.test_missing_override.<locals>.Color._missing_�sA���7�?�	 ��8�O��\�)� ��1��[�(� �+�+� �4r7N)r?r@rAr�r�r��classmethodr�rEr7r5r�r��s<�������C��E��D�
�

 �

 ��[�

 �

 �

 r7r�rr^r�r�r�)
rrTr�r�r�r�rFrjr�r�r�s   r5�test_missing_overridez!TestSpecial.test_missing_override�s���	 �	 �	 �	 �	 �D�	 �	 �	 � 	
�
�
�e�e�G�n�n�e�j�1�1�1�	5��E�!�H�H�H��3�4�4�4���	5�	5�	5��O�O�C�O�t�3�4�4�4�4�4�4�4�4�����	5����	5��E�,�����3�4�4�4���	E�	E�	E��O�O�J�s��
�C�C�D�D�D�D�D�D�D�D�����	E����	5��E�+�����3�4�4�4��!�	E�	E�	E��O�O�J�s��
�C�C�D�D�D�D�D�D�D�D�D�����	E���sG�A�
B�A>�>B�B!�!
C"�+-C�C"�&D�
E�
-D=�=Ec���ddl}ddl}Gd�dtj���Gd�d��}G�fd�d��}|�|����}|�|����}|���|�|��d��|�|��d��dS)Nrc��eZdZdZdZdS)�;TestSpecial.test_missing_exceptions_reset.<locals>.TestEnum�val1�val2N)r?r@rA�VAL1�VAL2rEr7r5�TestEnumr��s�������D��D�D�Dr7r�c��eZdZd�ZdS)�9TestSpecial.test_missing_exceptions_reset.<locals>.Class1c�B�	t���#t$rYdSwxYwr��r�r�s r5r�zBTestSpecial.test_missing_exceptions_reset.<locals>.Class1.__init__�s3���$�,�,�&��!�����D�D����s��
�NrwrEr7r5�Class1r��s#������
�
�
�
�
r7r�c���eZdZ�fd�ZdS)�9TestSpecial.test_missing_exceptions_reset.<locals>.Class2c�B��	�d��dS#t$rYdSwxYw)N�
invalid_valuer�)r�r�s �r5r�zBTestSpecial.test_missing_exceptions_reset.<locals>.Class2.__init__�s@�����H�_�-�-�-�-�-��!�����D�D����s��
�Nrw)r�s�r5�Class2r��s.�������
�
�
�
�
�
�
r7r�)�gc�weakrefr+r�ref�collectrT)r�r�r�r�r��class_1_ref�class_2_refr�s       @r5�test_missing_exceptions_resetz)TestSpecial.test_missing_exceptions_reset�s����	�	�	�����	�	�	�	�	�t�y�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��k�k�&�&�(�(�+�+���k�k�&�&�(�(�+�+��
	�
�
�����
�
�k�k�m�m�T�*�*�*��
�
�k�k�m�m�T�*�*�*�*�*r7c�|�
�Gd�d��}Gd�d���
Gd�dt��}Gd�dt��}Gd	�d
|t��}|�|jjd��|�|jjd��|�|jjd
��|�|jd
��|�t|j��d��G�
fd�d
|�
t��}|�|jjd��|�|jjd��|�|jjd
��|�|jd
��|�t|j��d��G�
fd�d
�
|t��}|�|jjd��|�|jjd��|�|jjd
��|�|jd
��|�t|j��d��G�
fd�d�
|t��}|�|jjd��|�|jjd��|�|jjd
��|�t|j��d��|�|j���d��G�
fd�d�
|t��}|�|jjd��|�|jjd��|�|jjd
��|�t|j��d��|�|j���d��|�|j�	��d��G�
fd�d�
||��}|�|jjd��|�|jjd��|�|jjd
��|�t|j��d��|�|j���d��|�|j�	��d��G�
fd�d�
||��}|�|jjd��|�|jjd��|�|jjd
��|�t|j��d��|�|j���d��|�|j�	��d��G�
fd�d�
t||��}	|�|	jjd��|�|	jjd��|�|	jjd
��|�t|	j��d��|�|	j���d��|�|j�	��d��|�t|	t����dS)Nc�$�eZdZed���ZdS)�1TestSpecial.test_multiple_mixin.<locals>.MaxMixinc�2�t|��}||_|Sr�)r��MAX)r8�maxs  r5r�z5TestSpecial.test_multiple_mixin.<locals>.MaxMixin.MAX�s���#�h�h������
r7N)r?r@rAr�r�rEr7r5�MaxMixinr��s-������
�
�
��]�
�
�
r7r�c��eZdZd�ZdS)�1TestSpecial.test_multiple_mixin.<locals>.StrMixinc�4�|j���Sr��r��lowerr�s r5r�z9TestSpecial.test_multiple_mixin.<locals>.StrMixin.__str__�����{�(�(�*�*�*r7N�r?r@rAr�rEr7r5�StrMixinr���#������
+�
+�
+�
+�
+r7r�c��eZdZd�ZdS)�1TestSpecial.test_multiple_mixin.<locals>.SomeEnumc��dS)N�booyahrEr�s r5�behaviorz:TestSpecial.test_multiple_mixin.<locals>.SomeEnum.behavior�����xr7N)r?r@rAr�rEr7r5�SomeEnumr��s#������
 �
 �
 �
 �
 r7rc��eZdZd�Zd�ZdS)�4TestSpecial.test_multiple_mixin.<locals>.AnotherEnumc��dS)N�nuhuh!rEr�s r5r�z=TestSpecial.test_multiple_mixin.<locals>.AnotherEnum.behavior�rr7c��dS)N�
what's up?rEr�s r5�socialz;TestSpecial.test_multiple_mixin.<locals>.AnotherEnum.social�s��#�|r7N)r?r@rAr�rrEr7r5�AnotherEnumr�s2������
 �
 �
 �
$�
$�
$�
$�
$r7r	c�J�eZdZe��Ze��Ze��ZdS��.TestSpecial.test_multiple_mixin.<locals>.ColorN�r?r@rAr
rDr�r�rEr7r5r�r��/�������$�&�&�C��D�F�F�E��4�6�6�D�D�Dr7r�r<r%r=�
Color.BLUEc�Z��eZdZe��Ze��Ze��Z�jZdSr�r?r@rAr
rDr�r�r��r�s�r5r�z.TestSpecial.test_multiple_mixin.<locals>.Color��8��������$�&�&�C��D�F�F�E��4�6�6�D��&�G�G�Gr7r�c�Z��eZdZe��Ze��Ze��Z�jZdSrrrs�r5r�z.TestSpecial.test_multiple_mixin.<locals>.Color�rr7c�Z��eZdZe��Ze��Ze��Z�jZdS)�2TestSpecial.test_multiple_mixin.<locals>.CoolColorNrrs�r5�	CoolColorr	rr7rr�c�Z��eZdZe��Ze��Ze��Z�jZdS)�4TestSpecial.test_multiple_mixin.<locals>.CoolerColorNrrs�r5�CoolerColorr	rr7rrrc�Z��eZdZe��Ze��Ze��Z�jZdS)�5TestSpecial.test_multiple_mixin.<locals>.CoolestColorNrrs�r5�CoolestColorr	rr7rc�Z��eZdZe��Ze��Ze��Z�jZdS)�6TestSpecial.test_multiple_mixin.<locals>.ConfusedColorNrrs�r5�
ConfusedColorr&	rr7r c�Z��eZdZe��Ze��Ze��Z�jZdS)�6TestSpecial.test_multiple_mixin.<locals>.ReformedColorNrrs�r5�
ReformedColorr"1	rr7r#)rr-rDr/r�r�r�r(r�rrr�r�rZ)r�r�rr	r�rrrr r#r�s          @r5�test_multiple_mixinzTestSpecial.test_multiple_mixin�s����	�	�	�	�	�	�	�	�	+�	+�	+�	+�	+�	+�	+�	+�	 �	 �	 �	 �	 �t�	 �	 �	 �	$�	$�	$�	$�	$�$�	$�	$�	$�
	�	�	�	�	�H�d�	�	�	�	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-������A�&�&�&�����U�Z���,�7�7�7�	'�	'�	'�	'�	'�	'�	'�H�h��	'�	'�	'�
	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-������A�&�&�&�����U�Z���&�1�1�1�	'�	'�	'�	'�	'�	'�	'�H�h��	'�	'�	'�
	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-������A�&�&�&�����U�Z���&�1�1�1�	'�	'�	'�	'�	'�	'�	'��(�D�	'�	'�	'�
	
�����,�a�0�0�0������.��2�2�2������-�q�1�1�1�����Y�^�,�,�f�5�5�5������/�/�1�1�8�<�<�<�	'�	'�	'�	'�	'�	'�	'�(�K��	'�	'�	'�
	
�����.��2�2�2�����*�0�!�4�4�4�����)�/��3�3�3�����[�-�.�.��7�7�7������1�1�3�3�X�>�>�>������/�/�1�1�<�@�@�@�	'�	'�	'�	'�	'�	'�	'�8�X�{�	'�	'�	'�
	
����)�/��3�3�3�����+�1�1�5�5�5�����*�0�!�4�4�4�����\�.�/�/��8�8�8�����)�2�2�4�4�h�?�?�?�����)�0�0�2�2�L�A�A�A�	'�	'�	'�	'�	'�	'�	'�H�k�8�	'�	'�	'�
	
����*�0�!�4�4�4�����,�2�A�6�6�6�����+�1�1�5�5�5�����]�/�0�0�&�9�9�9�����*�3�3�5�5�x�@�@�@�����*�1�1�3�3�\�B�B�B�	'�	'�	'�	'�	'�	'�	'�H�g�x��	'�	'�	'�
	
����*�0�!�4�4�4�����,�2�A�6�6�6�����+�1�1�5�5�5�����]�/�0�0�&�9�9�9�����*�3�3�5�5�x�@�@�@�����*�1�1�3�3�\�B�B�B����
�=�#�6�6�7�7�7�7�7r7c��tGd�dt����}Gd�dt��}tGd�d|����}dS)Nc��eZdZdZdZdZdS)�<TestSpecial.test_multiple_inherited_mixin.<locals>.Decision1�REVERT�
REVERT_ALL�RETRYN�r?r@rAr(r)r*rEr7r5�	Decision1r'?	��������F�%�J��E�E�Er7r,c��eZdZdS)�9TestSpecial.test_multiple_inherited_mixin.<locals>.MyEnumNr�rEr7r5r�r/D	r�r7r�c��eZdZdZdZdZdS)�<TestSpecial.test_multiple_inherited_mixin.<locals>.Decision2r(r)r*Nr+rEr7r5�	Decision2r1F	r-r7r2)rr)r�r,r�r2s    r5�test_multiple_inherited_mixinz)TestSpecial.test_multiple_inherited_mixin>	s���	�	�	�	�	�	��	�	�
��	�	�	�	�	�	�W�	�	�	�	�	�	�	�	�	��	�	�
��	�	�	r7c����Gd�dt��}Gd�d���G�fd�d�|tj��}Gd�d|��}|�t	|j|����|�|j|��|�t|j��d	��Gd
�d|��}|�|jd��dS)
Nc���eZdZ�fd�Z�xZS)�8TestSpecial.test_multiple_mixin_inherited.<locals>.MyIntc�H��t���||��Sr�)r_r�)r8r/r�s  �r5r�z@TestSpecial.test_multiple_mixin_inherited.<locals>.MyInt.__new__N	s����w�w���s�E�2�2�2r7rg�r�s@r5r�r6M	s8�������
3�
3�
3�
3�
3�
3�
3�
3�
3r7r�c��eZdZd�ZdS)�;TestSpecial.test_multiple_mixin_inherited.<locals>.HexMixinc� �t|��Sr�rKr�s r5r�zDTestSpecial.test_multiple_mixin_inherited.<locals>.HexMixin.__repr__R	rMr7Nr�rEr7r5�HexMixinr:Q	r�r7r<c���eZdZ�jZdS)�<TestSpecial.test_multiple_mixin_inherited.<locals>.MyIntEnumNr�)r<s�r5�	MyIntEnumr>U	s��������(�H�H�Hr7r?c��eZdZdZdS)�6TestSpecial.test_multiple_mixin_inherited.<locals>.Foor<N)r?r@rA�TESTrEr7r5r�rAX	r[r7r��0x1c��eZdZdZd�ZdS)�6TestSpecial.test_multiple_mixin_inherited.<locals>.Feer<c�T�|dz
}t�||��}||_|Sr�)rZr�r�)r8r/rs   r5r�z>TestSpecial.test_multiple_mixin_inherited.<locals>.Fee.__new__`	s*����
�����S�%�0�0��!&����
r7N)r?r@rArBr�rEr7r5�FeerE^	s(�������D�
�
�
�
�
r7rGr%)	rZr+rr�r�rBr-r'rQ)r�r�r?r�rGr<s     @r5�test_multiple_mixin_inheritedz)TestSpecial.test_multiple_mixin_inheritedL	sX���	3�	3�	3�	3�	3�C�	3�	3�	3�	!�	!�	!�	!�	!�	!�	!�	!�	)�	)�	)�	)�	)�	)�	)��%���	)�	)�	)�	�	�	�	�	�)�	�	�	����
�3�8�U�3�3�4�4�4�����*�E�2�2�2�����c�h����/�/�/�	�	�	�	�	�)�	�	�	�	
�����1�%�%�%�%�%r7c���Gd�dtt��}Gd�dtt��}Gd�d||��}|}|�t|��|j|j|jg��|�|jd��|�|jjd��|�|d��|j��|�	|jj
��|d	��}|�t|��|j|j|jg��|�|jd��|�|jjd��|�|d��|j��|�	|jj
��|�	t||����|�|j
��dS)
Nc�.��eZdZe�fd���Z�xZS)�UTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.CaseInsensitiveStrEnumc����|j���D]5}|j���|���kr|cS�6t	���|��Sr�)�_member_map_r&r�r�r_r�)r8r/rr�s   �r5r�z_TestSpecial.test_multiple_mixin_with_common_data_type.<locals>.CaseInsensitiveStrEnum._missing_i	sj���!�.�5�5�7�7�&�&�F��~�+�+�-�-������>�&�%�
�
�
�&��w�w�(�(��/�/�/r7)r?r@rAr�r�rhr8s@r5�CaseInsensitiveStrEnumrKh	sB�������
�
0�
0�
0�
0��[�
0�
0�
0�
0�
0r7rNc�J�eZdZd�Zed���Zejd���ZdS)�MTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnumc��d|_dS)NT��_valid)r�r�s  r5r�zVTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnum.__init__q	s
��"����r7c��|j�||��}d|_|���|_||_||j|<|S)NF)r'r�rSr�r�r�rM)r8r/�unknowns   r5r�zWTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnum._missing_s	sI���+�3�3�C��?�?��!&���!&�������"'���*1�� ��'��r7c��|jSr�rRr�s r5�validzSTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnum.valid{	s
���{�"r7N)	r?r@rAr�r�r�r+r�rWrEr7r5�LenientStrEnumrPp	sY������
#�
#�
#�
�
�
��[�
��]�
#�
#��]�
#�
#�
#r7rXc��eZdZdZdZdZdS)�HTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.JobStatus�active�pending�
terminatedN)r?r@rA�ACTIVE�PENDING�
TERMINATEDrEr7r5�	JobStatusrZ	s�������F��G�%�J�J�Jr7rar[�Active�missing)
r(rr-rRr^r_r`r/rTr�rWr�r�)r�rNrXra�JSrcs      r5�)test_multiple_mixin_with_common_data_typez5TestSpecial.test_multiple_mixin_with_common_data_typeg	s���	0�	0�	0�	0�	0�S�$�	0�	0�	0�
	#�
	#�
	#�
	#�
	#�S�$�
	#�
	#�
	#�	&�	&�	&�	&�	&�.��	&�	&�	&�
������i���2�9�b�j�"�-�*P�Q�Q�Q������H�-�-�-�������(�3�3�3��
�
�b�b��l�l�B�I�.�.�.�����	��(�(�(��"�Y�-�-������i���2�9�b�j�"�-�*P�Q�Q�Q������H�-�-�-�������(�3�3�3��
�
�b�b��l�l�B�I�.�.�.�����	��(�(�(����
�7�B�/�/�0�0�0������'�'�'�'�'r7c�V�d}t|dd��}i}i}t|||��dS)Nz8from enum import Enum; Enum('Animal', 'ANT BEE CAT DOG')z<string>�exec)�compilerg)r��code�	global_ns�local_lss    r5�test_empty_globalszTestSpecial.test_empty_globals�	s=��J���t�Z��0�0���	����T�9�h�'�'�'�'�'r7c�v�
�Gd�dt��}|�|jd��|�t|j��d��|�d�|j��d��|�|jt|j����|�|jd�|j����|�t|j��d��Gd�d���
G�
fd�d	�
t��}|�|jd
��|�t|j��d��Gd�d
t��}Gd�d|t��}|�|jd��|�|jt|j����Gd�d��}Gd�d||t��}|�|j	d��|�|j	t|j	����|�
td��5Gd�dt��}ddd��n#1swxYwY|�
td��5Gd�dt��}ddd��n#1swxYwY|�
td��5Gd�dt��}	ddd��n#1swxYwY|�
tdtj
����5Gd�dt��}	ddd��n#1swxYwY|�
td ��5Gd!�dt��}	ddd��dS#1swxYwYdS)"Nc��eZdZdZdZdZdZdS)�-TestSpecial.test_strenum.<locals>.GoodStrEnumrr��3�ascii��4�latin1rPN�r?r@rArerfr�fourrEr7r5�GoodStrEnumro�	�"�������C��C�!�E�+�D�D�Dr7rxrr#z<GoodStrEnum.one: '1'>c��eZdZd�ZdS)�+TestSpecial.test_strenum.<locals>.DumbMixinc��dS�N�
don't do thisrEr�s r5r�z3TestSpecial.test_strenum.<locals>.DumbMixin.__str__�	���&�r7Nr�rEr7r5�	DumbMixinr{�	r3r7r�c�*��eZdZdZdZdZ�jZdS)�-TestSpecial.test_strenum.<locals>.DumbStrEnumr6�6�7N�r?r@rA�five�six�sevenr��r�s�r5�DumbStrEnumr��	�&��������D��C��E��'�G�G�Gr7r�r�r~c��eZdZd�ZdS)�+TestSpecial.test_strenum.<locals>.EnumMixinc�*�td|����dS�Nzhello from �r=r�s r5r�z1TestSpecial.test_strenum.<locals>.EnumMixin.hello�	�������0�1�1�1�1�1r7Nr�rEr7r5�	EnumMixinr��	�#������
2�
2�
2�
2�
2r7r�c��eZdZdZdS)�+TestSpecial.test_strenum.<locals>.HelloEnum�8N�r?r@rA�eightrEr7r5�	HelloEnumr��	��������E�E�Er7r�r�c��eZdZd�ZdS)�.TestSpecial.test_strenum.<locals>.GoodbyeMixinc�$�td��dS�Nz%s wishes you a fond farewellr�r�s r5�goodbyez6TestSpecial.test_strenum.<locals>.GoodbyeMixin.goodbye�	����5�6�6�6�6�6r7N�r?r@rAr�rEr7r5�GoodbyeMixinr��	�#������
7�
7�
7�
7�
7r7r�c��eZdZdZdS)�-TestSpecial.test_strenum.<locals>.GoodbyeEnum�9N�r?r@rA�ninerEr7r5�GoodbyeEnumr��	��������D�D�Dr7r�r�z1 is not a stringc��eZdZdZdZdS)�4TestSpecial.test_strenum.<locals>.FirstFailedStrEnumr<rNr@rEr7r5�FirstFailedStrEnumr��	s�����������r7r�z2 is not a stringc��eZdZdZdZdZdS)�5TestSpecial.test_strenum.<locals>.SecondFailedStrEnumr�r%r Nr�rEr7r5�SecondFailedStrEnumr��	s�������������r7r�c��eZdZdZdZdS)�4TestSpecial.test_strenum.<locals>.ThirdFailedStrEnumrr%Nr@rEr7r5�ThirdFailedStrEnumr��	s�����������r7r�zencoding must be a string, not c�$�eZdZdZdejfZdS)r�r�2N�r?r@rAre�sys�getdefaultencodingrfrEr7r5r�z4TestSpecial.test_strenum.<locals>.ThirdFailedStrEnum�	� ���������C�2�2���r7zerrors must be a string, not 9c��eZdZdZdZdS)r�r�r�rrr�Nr@rEr7r5r�z4TestSpecial.test_strenum.<locals>.ThirdFailedStrEnum�	���������&���r7)rr-rer(r.rQr�rr�r�rErjr�r�)r�rxr�r�r�r�r�r�r�r�r�s          @r5�test_strenumzTestSpecial.test_strenum�	s����	,�	,�	,�	,�	,�'�	,�	,�	,�
	
�����#�.�.�.�����[�_�-�-�s�3�3�3�������[�_�5�5�s�;�;�;������#�k�o�*>�*>�?�?�?������$�+�+�k�o�*F�*F�G�G�G�����k�o�.�.�0H�I�I�I�	'�	'�	'�	'�	'�	'�	'�	'�	(�	(�	(�	(�	(�	(�	(�)�W�	(�	(�	(�
	
����*�C�0�0�0�����[�.�/�/��A�A�A�	2�	2�	2�	2�	2��	2�	2�	2�	�	�	�	�	�	�7�	�	�	������#�.�.�.������#�i�o�*>�*>�?�?�?�	7�	7�	7�	7�	7�	7�	7�	7�	�	�	�	�	�,�	�7�	�	�	�����)�3�/�/�/�����)�3�{�/?�+@�+@�A�A�A�
�
#�
#�I�/B�
C�
C�	�	�
�
�
�
�
�W�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�/B�
C�
C�	�	�
�
�
�
�
�g�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/B�
C�
C�	�	�
�
�
�
�
�W�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�I�VY�Vl�Vl�/o�
p�
p�	3�	3�
3�
3�
3�
3�
3�W�
3�
3�
3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��
#�
#�I�/O�
P�
P�	'�	'�
'�
'�
'�
'�
'�W�
'�
'�
'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	'sZ�(J�J�J�.K�K�K�4L�L�L�M'�'M+�.M+�
N.�.N2�5N2c�.��Gd�dtt��}Gd�d|��}|�|jd��|�t|j��d��|�d�|j��d��|�t|j��d��Gd	�d
���G�fd�d�|��}|�|jd
��|�t|j��d��Gd�dt��}Gd�d||��}|�|jd��|�t|j��d��Gd�d��}Gd�d|||��}|�|jd��|�t|j��d��Gd�d|��}Gd�d|��}	Gd�d |��}
|�	td!��5Gd"�d |��}
ddd��n#1swxYwY|�	td#��5Gd$�d |��}
ddd��dS#1swxYwYdS)%Nc��eZdZdS)�6TestSpecial.test_custom_strenum.<locals>.CustomStrEnumNr�rEr7r5�
CustomStrEnumr��	r�r7r�c��eZdZdZdZdZdZdS)�1TestSpecial.test_custom_strenum.<locals>.OkayEnumrrrprsNrvrEr7r5�OkayEnumr��	ryr7r�rzOkayEnum.oner#z<OkayEnum.one: '1'>c��eZdZd�ZdS)�2TestSpecial.test_custom_strenum.<locals>.DumbMixinc��dSr}rEr�s r5r�z:TestSpecial.test_custom_strenum.<locals>.DumbMixin.__str__�	rr7Nr�rEr7r5r�r��	r3r7r�c�*��eZdZdZdZdZ�jZdS)�4TestSpecial.test_custom_strenum.<locals>.DumbStrEnumr6r�r�Nr�r�s�r5r�r��	r�r7r�r�r~c��eZdZd�ZdS)�2TestSpecial.test_custom_strenum.<locals>.EnumMixinc�*�td|����dSr�r�r�s r5r�z8TestSpecial.test_custom_strenum.<locals>.EnumMixin.hello�	r�r7Nr�rEr7r5r�r��	r�r7r�c��eZdZdZdS)�2TestSpecial.test_custom_strenum.<locals>.HelloEnumr�Nr�rEr7r5r�r��	r�r7r�r�zHelloEnum.eightc��eZdZd�ZdS)�5TestSpecial.test_custom_strenum.<locals>.GoodbyeMixinc�$�td��dSr�r�r�s r5r�z=TestSpecial.test_custom_strenum.<locals>.GoodbyeMixin.goodbye�	r�r7Nr�rEr7r5r�r��	r�r7r�c��eZdZdZdS)�4TestSpecial.test_custom_strenum.<locals>.GoodbyeEnumr�Nr�rEr7r5r�r��	r�r7r�r�zGoodbyeEnum.ninec��eZdZdZdZdS)�;TestSpecial.test_custom_strenum.<locals>.FirstFailedStrEnumr<rNr@rEr7r5r�r�
s�������C��C�C�Cr7r�c��eZdZdZdZdZdS)�<TestSpecial.test_custom_strenum.<locals>.SecondFailedStrEnumrr�r Nr�rEr7r5r�r�
s�������C��C��E�E�Er7r�c��eZdZdZdZdS)�;TestSpecial.test_custom_strenum.<locals>.ThirdFailedStrEnumrr%Nr@rEr7r5r�r�	
s�������C��C�C�Cr7r�z.encoding. must be str, not c�$�eZdZdZdejfZdS)r�rr�Nr�rEr7r5r�z;TestSpecial.test_custom_strenum.<locals>.ThirdFailedStrEnum
r�r7z.errors. must be str, not c��eZdZdZdZdS)r�rr�Nr@rEr7r5r�z;TestSpecial.test_custom_strenum.<locals>.ThirdFailedStrEnum
r�r7)r(rr-rer.rQr�r�r�rErj)r�r�r�r�r�r�r�r�r�r�r�r�s           @r5�test_custom_strenumzTestSpecial.test_custom_strenum�	sO���	�	�	�	�	�C��	�	�	�	,�	,�	,�	,�	,�}�	,�	,�	,�
	
�����s�+�+�+�����X�\�*�*�N�;�;�;�������X�\�2�2�N�C�C�C�����h�l�+�+�-B�C�C�C�	'�	'�	'�	'�	'�	'�	'�	'�	(�	(�	(�	(�	(�	(�	(�)�]�	(�	(�	(�
	
����*�C�0�0�0�����[�.�/�/��A�A�A�	2�	2�	2�	2�	2��	2�	2�	2�	�	�	�	�	�	�=�	�	�	������#�.�.�.�����Y�_�-�-�/@�A�A�A�	7�	7�	7�	7�	7�	7�	7�	7�	�	�	�	�	�,�	�=�	�	�	�����)�3�/�/�/�����[�-�.�.�0B�C�C�C�	�	�	�	�	��	�	�	�	�	�	�	�	�-�	�	�	�	�	�	�	�	��	�	�	��
#�
#�I�/M�
N�
N�	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��
#�
#�I�/K�
L�
L�	'�	'�
'�
'�
'�
'�
'�]�
'�
'�
'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's$�-I�I�I�.J
�
J�Jc��|�td��5Gd�dtt��}ddd��dS#1swxYwYdS)Nz_value_ not set in __new__c�*�eZdZd�Zd�ZdZdZdZdZdS)�6TestSpecial.test_missing_value_error.<locals>.Combinedc���t�||��}d|vr/|�dd��\}}|�d��}n|}d}||_||_||_|S)N�(r<z ))r(r�r��strip�fis_name�segment�sequence)r8r/r�r+r�r�s      r5r�z>TestSpecial.test_missing_value_error.<locals>.Combined.__new__
sp���;�;�s�E�2�2�D��e�|�'�,1�K�K��Q�,?�,?�)��'�")�-�-��"5�"5���#(��"&��$,�D�M�#*�D�L�$,�D�M��Kr7c�2�d|jj�d|j�d�S)N�<r8r�)r�r?r�r�s r5r�z?TestSpecial.test_missing_value_error.<locals>.Combined.__repr__&
s ���(,��(?�(?�(?�����M�Mr7)zAn$(1,2)r)zAn$(3,2)r<)zAn$(5,1)r%)zBn$r=N)	r?r@rAr�r��key_type�
company_idrir�rEr7r5�Combinedr�
sE������ � � �N�N�N�!.�� -�
� -�� -���r7r�)rErjr(r)r�r�s  r5�test_missing_value_errorz$TestSpecial.test_missing_value_error
s���
�
#�
#�I�/K�
L�
L�	.�	.�
.�
.�
.�
.�
.�3��
.�
.�
.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�A�A�
Ac��Gd�dt��}|�|jd��|�|jd��dS)Nc��eZdZdZdZdS)�FTestSpecial.test_private_variable_is_normal_attribute.<locals>.Private�Radar�HoolihanN)r?r@rA�_Private__corporal�_Private__major_rEr7r5�Privater�0
s������ �J�!�H�H�Hr7r�r�r�)rr-r�r�)r�r�s  r5�)test_private_variable_is_normal_attributez5TestSpecial.test_private_variable_is_normal_attribute/
sf��	"�	"�	"�	"�	"�d�	"�	"�	"�	
����3�W�=�=�=�����1�:�>�>�>�>�>r7zCAccessing all values retained for performance reasons, see GH-93910c��|�td��5Gd�dt��}|jj}ddd��dS#1swxYwYdS)Nz(<enum .Di.> member has no attribute .NO.c��eZdZdZdZdS)�DTestSpecial.test_exception_for_member_from_member_access.<locals>.Dir<rN)r?r@rA�YES�NOrEr7r5�Dir�9
s�����������r7r�)rErArr�r�)r�r��nopes   r5�,test_exception_for_member_from_member_accessz8TestSpecial.test_exception_for_member_from_member_access6
s���
�
#�
#�N�4^�
_�
_�	�	�
�
�
�
�
�T�
�
�
��6�9�D�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s� A	�	A
�A
c����dddd��G�fd�dt��}|�t|��|j|jg��|�|jjd��|�|j���d��|�td��5G�fd	�d
t��}ddd��dS#1swxYwYdS)N�aloof�friendlyr)�FOO_CAT�BAR_DOG�	FOO_HORSEc���eZdZe���d�����D����d�ZdS)�ATestSpecial.test_dynamic_members_with_static_methods.<locals>.Fooc�D�i|]\}}|�d���||��S��FOO_��
startswith�rHrdres   r5�
<dictcomp>zLTestSpecial.test_dynamic_members_with_static_methods.<locals>.Foo.<dictcomp>C
s@�������1��|�|�F�+�+���q���r7c�4�|j���Sr��r/r�r�s r5r�zGTestSpecial.test_dynamic_members_with_static_methods.<locals>.Foo.upperH
s���z�'�'�)�)�)r7N�r?r@rAr��updater^r���foo_definess�r5r�rB
sh��������D�F�F�M�M��� +� 1� 1� 3� 3����
�
�
�

*�
*�
*�
*�
*r7r��BIGz$'FOO_CAT' already defined as 'aloof'c�~��eZdZe��jd�����D��fiddi��d�ZdS)�DTestSpecial.test_dynamic_members_with_static_methods.<locals>.FooBarc�D�i|]\}}|�d���||��Srr	rs   r5rzOTestSpecial.test_dynamic_members_with_static_methods.<locals>.FooBar.<dictcomp>P
s@����� �A�q��<�<��/�/���1���r7r�smallc�4�|j���Sr�rr�s r5r�zJTestSpecial.test_dynamic_members_with_static_methods.<locals>.FooBar.upperW
s���:�+�+�-�-�-r7Nrrs�r5�FooBarrO
s|������������
���$/�$5�$5�$7�$7������
%�g�.����.�.�.�.�.r7r)	rr-rRrrr/r�rErj)r�r�rrs   @r5�(test_dynamic_members_with_static_methodsz4TestSpecial.test_dynamic_members_with_static_methods?
s[���")�j�u�U�U��	*�	*�	*�	*�	*�	*�	*�$�	*�	*�	*�	
����c���S�[�#�-�$@�A�A�A������*�G�4�4�4������,�,�.�.��6�6�6�
�
#�
#�I�/U�
V�
V�
	.�
	.�	
.�	
.�	
.�	
.�	
.�	
.�	
.��	
.�	
.�	
.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.�
	.����
	.�
	.�
	.�
	.�
	.�
	.s�4C�C�Cc��ddlm}|Gd�d����}Gd�d|t��}|�t	|j|����|�|j|u|j��|�|jj|d��k|jj��|�t|j��d��d	S)
z)ensure dataclass-mixin has correct repr()r)�	dataclassc��eZdZUdZeed<dS)�1TestSpecial.test_repr_with_dataclass.<locals>.Foor�r�N)r?r@rArZ�__annotations__rEr7r5r�r]
s������� �L��F�F�F�F�Fr7r�c��eZdZdZdS)�5TestSpecial.test_repr_with_dataclass.<locals>.Entriesr<N�r?r@rA�ENTRY1rEr7r5�Entriesr!a
��������F�F�Fr7r$r<�<Entries.ENTRY1: Foo(a=1)>N)
�dataclassesrrr�r�r#r'r/r-rQ)r�rr�r$s    r5�test_repr_with_dataclassz$TestSpecial.test_repr_with_dataclassZ
s��)�)�)�)�)�)�	�	�	�	�	�	�	�	�
��	�	�	�	�	�	�c�4�	�	�	����
�7�>�3�7�7�8�8�8�����-��4�g�6K�L�L�L������,���A���6���8L�M�M�M�����g�n�-�-�/K�L�L�L�L�Lr7c��Gd�d��}Gd�d|t��}|�t|j��d��dS)Nc��eZdZd�Zd�ZdS)�<TestSpecial.test_repr_with_init_data_type_mixin.<locals>.Fooc��||_dSr��r�)r�r�s  r5r�zETestSpecial.test_repr_with_init_data_type_mixin.<locals>.Foo.__init__k
s
������r7c��d|j�d�S)NzFoo(a=�)r-r�s r5r�zETestSpecial.test_repr_with_init_data_type_mixin.<locals>.Foo.__repr__m
s��+���+�+�+�+r7N)r?r@rAr�r�rEr7r5r�r+j
s2������
�
�
�
,�
,�
,�
,�
,r7r�c��eZdZdZdS)�@TestSpecial.test_repr_with_init_data_type_mixin.<locals>.Entriesr<Nr"rEr7r5r$r1o
r%r7r$r&)rr-rQr#�r�r�r$s   r5�#test_repr_with_init_data_type_mixinz/TestSpecial.test_repr_with_init_data_type_mixinh
s��	,�	,�	,�	,�	,�	,�	,�	,�
	�	�	�	�	�c�4�	�	�	�	
����g�n�-�-�/K�L�L�L�L�Lr7c���Gd�d��}Gd�d|t��}|�t|j��d��|�t	|j��d��dS)Nc��eZdZd�Zd�ZdS)�CTestSpecial.test_repr_and_str_with_non_data_type_mixin.<locals>.Fooc��dS)Nr�rEr�s r5r�zLTestSpecial.test_repr_and_str_with_non_data_type_mixin.<locals>.Foo.__repr__w
����ur7c��dS)N�ooFrEr�s r5r�zKTestSpecial.test_repr_and_str_with_non_data_type_mixin.<locals>.Foo.__str__y
r8r7N)r?r@rAr�r�rEr7r5r�r6v
s2������
�
�
�
�
�
�
�
r7r�c��eZdZdZdS)�GTestSpecial.test_repr_and_str_with_non_data_type_mixin.<locals>.Entriesr<Nr"rEr7r5r$r<{
r%r7r$r:)rr-rQr#r(r2s   r5�*test_repr_and_str_with_non_data_type_mixinz6TestSpecial.test_repr_and_str_with_non_data_type_mixint
s���	�	�	�	�	�	�	�	�
	�	�	�	�	�c�4�	�	�	�	
����g�n�-�-�u�5�5�5�����W�^�,�,�e�4�4�4�4�4r7c��Gd�dt��}|�|jjd��|�|jjd��dS)Nc��eZdZd�ZdZdZdS)�2TestSpecial.test_value_backup_assign.<locals>.Somec�6�t�|��Sr�)r�r�)r8ros  r5r�z:TestSpecial.test_value_backup_assign.<locals>.Some.__new__�
s���~�~�c�*�*�*r7r<r%N)r?r@rAr�r�r�rEr7r5�Somer@�
s'������
+�
+�
+��A��A�A�Ar7rBr<r%)rr-r�r/r�)r�rBs  r5�test_value_backup_assignz$TestSpecial.test_value_backup_assign�
sh��	�	�	�	�	�4�	�	�	�
	
������q�)�)�)�������q�)�)�)�)�)r7c�
�Gd�dtt��}|�t|j|jz|��|j|jz��|�t|jdz|����dS)Nc��eZdZdZdZdZdS)�7TestSpecial.test_custom_flag_bitwise.<locals>.MyIntFlagr<r%rMN�r?r@rAr�r��FOURrEr7r5�	MyIntFlagrF�
r	r7rIr%)rZr
r�r�r�r�)r�rIs  r5�test_custom_flag_bitwisez$TestSpecial.test_custom_flag_bitwise�
s���	�	�	�	�	��T�	�	�	�	
���
�9�=�9�=�#@�)�L�L�i�m�^g�^k�Nk�l�l�l����
�9�=�1�#4�i�@�@�A�A�A�A�Ar7c���Gd�dt��}|j|jz}tj|��}tj|��}|�||��|�||��|j|jzdz}tj|��}tj|��}|�||��|�||��|�|jd��dS)Nc��eZdZdZdZdZdS)�2TestSpecial.test_int_flags_copy.<locals>.MyIntFlagr<r%rMNrGrEr7r5rIrM�
r	r7rIr_r�)rr�r�r<r=r-r/)r�rI�flagsr>r?s     r5�test_int_flags_copyzTestSpecial.test_int_flags_copy�
s��	�	�	�	�	��	�	�	�
�
�	�
�-����5�!�!���}�U�#�#�������'�'�'�����u�%�%�%��
�	�
�-��1����5�!�!���}�U�#�#�������'�'�'�����u�%�%�%������y�1�1�1�1�1r7N)cr?r@rAr�r+r�r�r	�skipr�r�r�rrr
rrr$r+r:r@rErdrhrmrqrtrwrzr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rr r&r,r:rOrUryr�r�r�r�r�r�r�rrrrr8rFrQr\ror~r�r�r�r�r�r�r�r$r3rHrerlr�r�r�r�r�rr(r3r=rCrJrOrEr7r5r�r�Ns5�����������:)�)�)�,&�&�&�$�X�]�<� � �+�+�!� �+�0���2E�E�E�
@�@�@�08�8�8��X�_��g�%�+�����	���.�X�_��W�$�-�����	���(���(:�:�:�0���*,�,�,�-=�-=�-=�^$�$�$�.�.�.� .�.�.�".�.�.� .�.�.�".�.�.� .�.�.� 6�6�6�
���
�
�
� 6�6�6�9�9�9�;�;�;�5�5�5�7�7�7�D�D�D�O�O�O�K�K�K�A�A�A�9�9�9�3�3�3�	�	�	�8�8�8�,�,�,�&A�A�A�4�4�4�
4�4�4�?�?�?�?�?�?�C�C�C�A�A�A�9�9�9�3�3�3�$ � � �#�#�#�J:2�:2�:2�x:2�:2�:2�x:2�:2�:2�x92�92�92�v52�52�52�n82�82�82�t
>�
>�
>�7�7�7�(;�;�;� ;�;�;�4�4�4�.�.�.�>���B�B�B�-�-�-�.�.�.�&���,E�E�E�*8�8�8�87�7�7�"D�D�D�"
5�
5�
5�#5�#5�#5�J +� +� +�De8�e8�e8�N���&�&�&�6*(�*(�*(�X(�(�(�<'�<'�<'�|9'�9'�9'�v.�.�.�4?�?�?��X�]�X�Y�Y���Z�Y��.�.�.�6M�M�M�
M�
M�
M�5�5�5�*�*�*�B�B�B�2�2�2�2�2r7r�c�<�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�	TestOrderz%test usage of the `_order_` attributec�,�Gd�dt��}dS)Nc��eZdZdZdZdZdZdS)�*TestOrder.test_same_members.<locals>.Color�red green bluer<r%r=N�r?r@rA�_order_r�r�r�rEr7r5r�rU�
s"������&�G��C��E��D�D�Dr7r��rr�s  r5�test_same_memberszTestOrder.test_same_members�
s6��	�	�	�	�	�D�	�	�	�	�	r7c�,�Gd�dt��}dS)Nc�"�eZdZdZdZdZdZeZdS)�7TestOrder.test_same_members_with_aliases.<locals>.ColorrVr<r%r=N�r?r@rArXr�r�r��verderEr7r5r�r]�
s'������&�G��C��E��D��E�E�Er7r�rYr�s  r5�test_same_members_with_aliasesz(TestOrder.test_same_members_with_aliases�
s6��	�	�	�	�	�D�	�	�	�	�	r7c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)N�#member order does not match _order_c��eZdZdZdZdZdZdS)�6TestOrder.test_same_members_wrong_order.<locals>.ColorrVr<r=r%N)r?r@rArXr�r�r�rEr7r5r�rd�
s"������*���������r7r��rErjrr�s  r5�test_same_members_wrong_orderz'TestOrder.test_same_members_wrong_order�
s���
�
#�
#�I�/T�
U�
U�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)Nrbc��eZdZdZdZdZdZdS)�5TestOrder.test_order_has_extra_members.<locals>.Color�red green blue purpler<r%r=NrWrEr7r5r�ri�
s"������1���������r7r�rer�s  r5�test_order_has_extra_membersz&TestOrder.test_order_has_extra_members�
s���
�
#�
#�I�/T�
U�
U�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)Nrbc�"�eZdZdZdZdZdZeZdS)�BTestOrder.test_order_has_extra_members_with_aliases.<locals>.Colorrjr<r%r=Nr^rEr7r5r�rn�
s'������1�����������r7r�rer�s  r5�)test_order_has_extra_members_with_aliasesz3TestOrder.test_order_has_extra_members_with_aliases�
s���
�
#�
#�I�/T�
U�
U�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)Nrbc�"�eZdZdZdZdZdZdZdS)�4TestOrder.test_enum_has_extra_members.<locals>.ColorrVr<r%r=rMN)r?r@rArXr�r�r��purplerEr7r5r�rr�
s'������*�����������r7r�rer�s  r5�test_enum_has_extra_membersz%TestOrder.test_enum_has_extra_members�
s���
�
#�
#�I�/T�
U�
U�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)Nrbc�&�eZdZdZdZdZdZdZeZdS)�ATestOrder.test_enum_has_extra_members_with_aliases.<locals>.ColorrVr<r%r=rMN)	r?r@rArXr�r�r�rsr_rEr7r5r�rw�
s,������*�������������r7r�rer�s  r5�(test_enum_has_extra_members_with_aliasesz2TestOrder.test_enum_has_extra_members_with_aliases�
s���
�
#�
#�I�/T�
U�
U�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�N)r?r@rAr�rZr`rfrkrortrxrEr7r5rRrR�
s�������+�+�����������������������r7rRc��eZdZdZGd�de��ZGd�de��ZGd�de��Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zejedkd��d���Zejedkd��d���Zd�Zd�Zd�Zd�Zd�Zd�Zd �Z d!�Z!d"�Z"e#j$e#j%��d#�����Z&d$�Z'd%S)&�OldTestFlagzTests of the Flags.c��eZdZd\ZZZdS)�OldTestFlag.Perm)rMr%r<N�r?r@rA�R�W�XrEr7r5�Permr|�
s���������1�a�a�ar7r�c�"�eZdZdZdZdZdZdZdS)�OldTestFlag.Openrr<r%r=�N�r?r@rA�RO�WO�RW�AC�CErEr7r5�Openr��
�'������
��
��
��
��
���r7r�c�L�eZdZdZdZdZdZdZeezZeezezZ	eezezZ
dS)�OldTestFlag.Colorrr<r%rMN�r?r@rA�BLACKrD�ROJOr�r��PURPLE�WHITE�BLANCOrEr7r5r�r��
�J�����������������T����E�	�$����U��4����r7r�c	���|j}|D]�}|D]�}|�||z||j|jz����|�||zj|j|jz��|�t	||z��|������|D]}|�||z|���|j}|�|j|jz|j��dSr��r�r-r/rTr�r�r�r��r�r�r��jr�s     r5�test_orzOldTestFlag.test_or�
s����y���	1�	1�A��
1�
1��� � �!�a�%�$�$�q�w���/@�*A�*A�B�B�B�� � �!�a�%����!�'�0A�B�B�B��
�
�d�1�q�5�k�k�4�0�0�0�0�
1��	$�	$�A��M�M�!�a�%��#�#�#�#��y���
�
�d�g���'���1�1�1�1�1r7c��|j}|j|jz}|j|jz}|j|jz}|j|jz|jz}t	|��|||||d��gz}|D]X}|D]S}|�||zj|j|jz��|�t||z��|���T�Y|D]M}|�||z|��|�||z|��|�||z|���N|j	}	|�|	j
|	jz|	j
��dS�Nr)r�r~rr�rRr-r/rTr�r�r�r��
r�r�r��RX�WX�RWXr&r�r�r�s
          r5�test_andzOldTestFlag.test_and	sX���y��
�V�d�f�_��
�V�d�f�_��
�V�d�f�_���f�t�v�o���&���d���r�2�r�3���Q���8�8���	1�	1�A��
1�
1��� � �!�a�%����!�'�0A�B�B�B��
�
�d�1�q�5�k�k�4�0�0�0�0�
1��	&�	&�A��M�M�!�a�%��#�#�#��M�M�!�c�'�1�%�%�%��M�M�#��'�1�%�%�%�%��y���
�
�d�g���'���1�1�1�1�1r7c�
�|j}|D]X}|D]S}|�||zj|j|jz��|�t	||z��|���T�Y|D]F}|�||d��z|��|�|d��|z|���G|j}|�|j|jz|j��|�|j|jz|j��dSr�r�r�s     r5�test_xorzOldTestFlag.test_xors���y���	1�	1�A��
1�
1��� � �!�a�%����!�'�0A�B�B�B��
�
�d�1�q�5�k�k�4�0�0�0�0�
1��	*�	*�A��M�M�!�d�d�1�g�g�+�q�)�)�)��M�M�$�$�q�'�'�A�+�q�)�)�)�)��y���
�
�d�g���'���1�1�1��
�
�d�g���'���1�1�1�1�1r7c�Z�|j}|j|jz}|j|jz}|j|jz}|j|jz|jz}t	|��|||||d��gz}|D]>}|�t
|��|��|�||���?|D]}|�||���|j}|�|j	|j	z|j
��|�|j	|jz|j	z|j��dSr�)r�r~rr�rRrTr�r-r�r�r�r��	r�r�r�r�r�r�r&r�r�s	         r5�test_invertzOldTestFlag.test_invert(s.���y��
�V�d�f�_��
�V�d�f�_��
�V�d�f�_���f�t�v�o���&���d���r�2�r�3���Q���8�8���	%�	%�A��M�M�$��r�(�(�D�)�)�)����q�b�S�!�$�$�$�$��	"�	"�A��M�M�A�2�#�q�!�!�!�!��y���
�
�d�g����(�$�'�2�2�2��
�
�t�w�t�w��4�7�(�2�D�G�<�<�<�<�<r7c���|j}|D]}|�|���|j}|D]7}|�t	|j��t	|�����8dSr��r�r�r�r-r�r/�r�r�r�r�s    r5r�zOldTestFlag.test_bool8�t���y���	�	�A��O�O�A������y���	5�	5�A����T�!�'�]�]�D��G�G�4�4�4�4�	5�	5r7c�H�|�tjjt��Gd�dtt
���}|�|jt
��Gd�dtt���}|�|jt��Gd�dtt���}|�|jt��Gd�d	tt���}|�td
|d��|�|d��|j
|jz��|�|d��|j��|�|d��d��|�
t|d����tu��|�t!|��|jg��|�|d
��|j��|�|d��|j��dS)Nc��eZdZdZdZdZdS)�'OldTestFlag.test_boundary.<locals>.Ironr<r%r_N�r?r@rAr�r��EIGHTrEr7r5�Ironr�Brr7r�r�c��eZdZdZdZdZdS)�(OldTestFlag.test_boundary.<locals>.Waterr<r%r_Nr�rEr7r5�Waterr�Hrr7r�c��eZdZdZdZdZdS)�(OldTestFlag.test_boundary.<locals>.Spacer<r%r_Nr�rEr7r5�Spacer�Nrr7r�c��eZdZdZdZdZdS)�*OldTestFlag.test_boundary.<locals>.Bizarrer=rMrVN�r?r@rAr�rs�drEr7r5�Bizarrer�T��������A��A��A�A�Ar7r�zinvalid value 7r^���r=rV)rTr+r
�
_boundary_rrrrrEr�r�r�r-r�r�rZrRrsr�r�)r�r�r�r�r�s     r5�
test_boundaryzOldTestFlag.test_boundary@s.���
�
�d�i�*�G�4�4�4�	�	�	�	�	�4�&�	�	�	�	�	
�
�
�d�o�v�.�.�.�	�	�	�	�	�D�7�	�	�	�	�	
�
�
�e�&��0�0�0�	�	�	�	�	�D�5�	�	�	�	�	
�
�
�e�&��.�.�.�	�	�	�	�	�d�T�	�	�	�	�
	
���z�+<�d�A�F�F�F��
�
�e�e�A�h�h��	�%�)� 3�4�4�4��
�
�e�e�B�i�i���+�+�+������q���1�%�%�%�����U�U�1�X�X���#�-�.�.�.�����g������4�4�4��
�
�g�g�a�j�j�'�)�,�,�,��
�
�g�g�a�j�j�'�)�,�,�,�,�,r7c��|j}|j}|�t|��|j|j|jg��|�t|��|j|j|j	g��dSr��
r�r�r-rRrDr�r�r�r�r��r�r�r�s   r5�	test_iterzOldTestFlag.test_itere�h���
���y������e���u�y�%�+�u�z�&J�K�K�K�����d���d�g�t�w���%@�A�A�A�A�Ar7c���tdd��}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}d|z}||��}|�|j	|��|�t|j	��t��|�|j|��|�
||��|�t|��|����dS�Nr��R W Xr=r<�r
rRr-r�r~rr�rkr�r/r�rZr�rirT�r�r�r�r��nrer�s       r5� test_programatic_function_stringz,OldTestFlag.test_programatic_function_stringksA���F�G�$�$���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��1��A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c���tddd���}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}d|z}||��}|�|j	|��|�t|j	��t��|�|j|��|�
||��|�t|��|����dS�Nr�r�r_ror=r�r�s       r5�+test_programatic_function_string_with_startz7OldTestFlag.test_programatic_function_string_with_startzsF���F�G�1�-�-�-���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��1��A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c���tdgd���}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}d|z}||��}|�|j	|��|�t|j	��t��|�|j|��|�
||��|�t|��|����dS�Nr�)r~rr�r=r�r<r�r�s       r5�%test_programatic_function_string_listz1OldTestFlag.test_programatic_function_string_list�sE���F�O�O�O�,�,���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��1��A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c���tdd��}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}dd|zdzz}||��}|�|j	|��|�t|j	��t��|�|j|��|�
||��|�t|��|����dS�Nr�))r~r%)rr_)r�r�r=r�r<r%r�r�s       r5�"test_programatic_function_iterablez.OldTestFlag.test_programatic_function_iterable�sJ���F�;�<�<���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��A�a�C��E�
�A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c��tdtd����}t|��}|�t	|��t	|����|�t	|��d|��|�||j|j|jg��td�	����D]�\}}dd|zdzz}||��}|�|j
|��|�t|j
��t��|�|j
|��|�||��|�t|��|����dSr�)r
rrRr-r�r~rr�rkr�r/r�rZr�rirTr�s       r5�#test_programatic_function_from_dictz/OldTestFlag.test_programatic_function_from_dict�sR���F�K�(G�H�H�I�I���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��A�a�C��E�
�A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c���ttt��rt�t|jtj��t|jtjtjz��t|jtjtjz��t|jt��t|jtj��t|jtjtjz��t|jtj	��t|jtj��t|jtjtjz��t|jtjtjzdz��t|jtd����t|jtd����t|jt��t|jtj��t|jtjtjz��t|jtj	��dS)N�0r)r�rLr�rorTrCr-rDrOrQrTrVr�s r5�test_picklezOldTestFlag.test_pickle�s����k�9�-�-�	����d�m�[�->�?�?�?��d�.�#�)�+�/�9�	;�	;�	;��d�.�#�)�;�+<�*<�<�	>�	>�	>��d�m�[�9�9�9��d�m�-@�-F�G�G�G��d�.�+�1�2E�2I�I�	K�	K�	K��d�m�-@�-G�H�H�H��d�m�^�-A�B�B�B��d�.�&�,�^�-?�?�	A�	A�	A��d�.�&�,�^�-?�?��D�	F�	F�	F��d�.��q�0A�0A�B�B�B��d�.��t�0D�0D�E�E�E��d�m�^�<�<�<��d�m�-C�-I�J�J�J��d�.�.�4�5K�5O�O�	Q�	Q�	Q��d�m�-C�-J�K�K�K�K�Kr7r^r`c���|j}|j}|�|j|v��|�|j|v��|�t��5|�t��5d|vddd��n#1swxYwYddd��n#1swxYwY|�t��5|�t��5d|vddd��n#1swxYwYddd��n#1swxYwY|�t��5|�t��5d|vddd��n#1swxYwYddd��n#1swxYwY|�t��5|�t��5d|vddd��n#1swxYwYddd��dS#1swxYwYdS�Nr�r�r<)	r�r�r�r�r�r@rjrkrl�r�r�r�s   r5rpzOldTestFlag.test_contains_er�s���
�y���
��������,�-�-�-������E�)�*�*�*�
�
�
�y�
)�
)�	!�	!��!�!�"4�5�5�
!�
!��5� � �
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��
�
�y�
)�
)�	�	��!�!�"4�5�5�
�
�����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	��!�!�"4�5�5�
�
��U�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	��!�!�"4�5�5�
�
��T�	�	�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��!B$�<B
�B$�
B	�B$�B	�B$�$B(�+B(�	D�$C5�)D�5C9	�9D�<C9	�=D�D�D�1E4�E�E4�E!	�!E4�$E!	�%E4�4E8�;E8�G�4G�9G�G		�	G�G		�
G�G!�$G!�6__contains__ only works with enum memmbers before 3.12c�J�|j}|j}|�|j|v��|�|j|v��|�d|v��|�d|v��|�d|v��|�d|v��dSr�)r�r�r�r�r�r�r�s   r5rtzOldTestFlag.test_contains_tf�s���
�y���
��������,�-�-�-������E�)�*�*�*�����E�)�*�*�*�������&�&�&�����U�
�#�#�#�����T�	�"�"�"�"�"r7c�v�|j}|\}}}||z}||z}||z}||z|z}|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��dSr�)r�r�r��	r�r�r~rr�r�r�r�r�s	         r5�test_member_containsz OldTestFlag.test_member_contains�sP���y�����1�a�
��U��
��U��
��U���!�e�a�i������R�� � � �����R�� � � �����S��!�!�!�����R�� � � �����R�� � � �����S��!�!�!�����R�� � � �����R�� � � �����S��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�!�!r7c�l�|j}|�t|j��g��|�t|j��|j|jg��|�t|j��|jg��|�t|j��|jg��|�t|j��|j|j|jg��|�t|j��|j|j|jg��dSr��	r�r-rRr�r�rDr�r�r�r�s  r5�test_member_iterzOldTestFlag.test_member_iters����
������e�k�*�*�B�/�/�/�����e�l�+�+�e�i���-D�E�E�E�����e�j�)�)�E�J�<�8�8�8�����e�k�*�*�U�[�M�:�:�:�����e�k�*�*�U�Y���U�Z�,P�Q�Q�Q�����e�k�*�*�U�Y���U�Z�,P�Q�Q�Q�Q�Qr7c���|�|j�|jj��d��|�|j�|jj��d��|�|j�|jj��d��|�|j�|jj��d��dS�Nrr<r%r=�r-r��__len__r�r�r�r�r�s r5�test_member_lengthzOldTestFlag.test_member_length��������+�+�D�J�,<�=�=�q�A�A�A������+�+�D�J�,<�=�=�q�A�A�A������+�+�D�J�,=�>�>��B�B�B������+�+�D�J�,=�>�>��B�B�B�B�Br7c��Gd�dt��}|�t|��|j|j|j|j|jg��|�|j|j	��|�|j	j
d��|�|jj
d��|�|jj
d��dS)Nc�z�eZdZdZe��Ze��Ze��ZdZe��Z	e��Z
dS)�AOldTestFlag.test_number_reset_and_order_cleanup.<locals>.ConfusedzONE TWO FOUR DOS EIGHT SIXTEENr%N)r?r@rArXr
r�r�rH�DOSr��SIXTEENrEr7r5�Confusedr�sO������6�G��$�&�&�C��$�&�&�C��4�6�6�D��C��D�F�F�E��d�f�f�G�G�Gr7r�r%r_�)r
r-rRr�r�rHr�r�rTr�r�)r�r�s  r5�#test_number_reset_and_order_cleanupz/OldTestFlag.test_number_reset_and_order_cleanups���	�	�	�	�	�t�	�	�	�	
����X�����x�|�X�]�H�N�H�L\�]�	_�	_�	_�	
�
�
�h�l�H�L�1�1�1������-�q�1�1�1������/��3�3�3�����)�1�2�6�6�6�6�6r7c��|j}|�|d��jd��|�|djd��|�|d��jd��|�|djd��|�|j|j��|j}|�|d|j��dS�Nr<rDr�r^r�r�r��r�r-r�rTr�r�r�r�r�s   r5�test_aliaseszOldTestFlag.test_aliases+�����
�������q�����.�.�.�����v��+�U�3�3�3������q�����0�0�0�����x��-�w�7�7�7��
�
�e�l�E�K�0�0�0��y���
�
�d�4�j�$�'�*�*�*�*�*r7c�V�Gd�dt��}|�t|��|j|j|jg��|�|jjd��|�|jjd��|�|jjd��dS)Nc�J�eZdZe��Ze��Ze��ZdS)�+OldTestFlag.test_auto_number.<locals>.ColorN�r?r@rAr
r�r�r�rEr7r5r�r�6�/�������$�&�&�C��4�6�6�D��D�F�F�E�E�Er7r�r<r%rM)r
r-rRr�r�r�r/r�s  r5�test_auto_numberzOldTestFlag.test_auto_number5���	�	�	�	�	�D�	�	�	�
	
����e���u�y�%�*�e�k�&J�K�K�K�������!�,�,�,������)�1�-�-�-������*�A�.�.�.�.�.r7c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)Nzinvalid flag value .not an int.c�&�eZdZdZe��ZdS)�3OldTestFlag.test_auto_number_garbage.<locals>.Colorz
not an intN�r?r@rAr�r
r�rEr7r5r�rBs������"���t�v�v���r7r�)rErjr
r�s  r5�test_auto_number_garbagez$OldTestFlag.test_auto_number_garbage@s���
�
#�
#�I�/P�
Q�
Q�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��Gd�dt��}|�|j|j|jgt|����dS)Nc�N�eZdZe��xZZe��Ze��ZdS)�.OldTestFlag.test_duplicate_auto.<locals>.DupesN�r?r@rAr
r��primeror�r�rEr7r5�DupesrG�4������"�d�f�f�$�E�G��T�V�V�F��D�F�F�E�E�Er7r	�rr-r�r�r�rR�r�r	s  r5�test_duplicate_autozOldTestFlag.test_duplicate_autoF�]��	�	�	�	�	�D�	�	�	�	
���%�+�u�|�U�[�A�4��;�;�O�O�O�O�Or7c���Gd�d��}Gd�d���Gd�d|t��}|�|jjd��|�|jjd��|�|jjd	��|�|jjd
��|�t|j��d��G�fd�d|�t��}|�|jjd��|�|jjd��|�|jjd	��|�|jjd
��|�t|j��d
��G�fd�d�|t��}|�|jjd��|�|jjd��|�|jjd	��|�|jjd
��|�t|j��d
��dS)Nc�$�eZdZed���ZdS)�1OldTestFlag.test_multiple_mixin.<locals>.AllMixinc�n�t|��}d}|r|d}|dd�D]}||z}�||_|SrZ�rR�ALL�r8�members�	all_valuers    r5rz5OldTestFlag.test_multiple_mixin.<locals>.AllMixin.ALLO�S���s�)�)�� �	��,� '��
�I�")�!�"�"�+�,�,��!�V�+�	�	�#��� � r7N�r?r@rAr�rrEr7r5�AllMixinrN�-������
�
!�
!��]�
!�
!�
!r7rc��eZdZd�ZdS)�1OldTestFlag.test_multiple_mixin.<locals>.StrMixinc�4�|j���Sr�r�r�s r5r�z9OldTestFlag.test_multiple_mixin.<locals>.StrMixin.__str__Zr�r7Nr�rEr7r5r�rYr�r7r�c�J�eZdZe��Ze��Ze��ZdS��.OldTestFlag.test_multiple_mixin.<locals>.ColorNr
rEr7r5r�r!\rr7r�r<r%rMr^rc�Z��eZdZe��Ze��Ze��Z�jZdSr rrs�r5r�z.OldTestFlag.test_multiple_mixin.<locals>.Colorerr7r�c�Z��eZdZe��Ze��Ze��Z�jZdSr rrs�r5r�z.OldTestFlag.test_multiple_mixin.<locals>.Colororr7)r
r-rDr/r�r�rr(�r�rr�r�s   @r5r$zOldTestFlag.test_multiple_mixinMs����
	!�
	!�
	!�
	!�
	!�
	!�
	!�
	!�	+�	+�	+�	+�	+�	+�	+�	+�	�	�	�	�	�H�d�	�	�	�	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-�������!�,�,�,�����U�Z���,�7�7�7�	'�	'�	'�	'�	'�	'�	'�H�h��	'�	'�	'�
	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-�������!�,�,�,�����U�Z���&�1�1�1�	'�	'�	'�	'�	'�	'�	'�H�h��	'�	'�	'�
	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-�������!�,�,�,�����U�Z���&�1�1�1�1�1r7c�f�����Gd�dt���t���d����fd���fd�td��D��}tj|��5	ddd��n#1swxYwY|��d��|�dt���d	��dS)
Nc��eZdZe��Ze��Ze��Ze��Ze��Ze��Z	e��Z
e��Zd�Zd�Z
dS)�3OldTestFlag.test_unique_composite.<locals>.TestFlagc�
�||uSr�rEr&s  r5r�z:OldTestFlag.test_unique_composite.<locals>.TestFlag.__eq__�����u�}�$r7c�*�t|j��Sr���hashr�r�s r5�__hash__z<OldTestFlag.test_unique_composite.<locals>.TestFlag.__hash__�r�r7N�r?r@rAr
rerfrrwr�r�r�r�r�r-rEr7r5�TestFlagr'~��������$�&�&�C��$�&�&�C��D�F�F�E��4�6�6�D��4�6�6�D��$�&�&�C��D�F�F�E��D�F�F�E�
%�
%�
%�
*�
*�
*�
*�
*r7r/Fc���	td��D] }���|�����!dS#t$rd�YdSwxYw�N�T�rk�addr��r�r/�failed�seens ���r5�
cycle_enumz5OldTestFlag.test_unique_composite.<locals>.cycle_enum��j���
��s���*�*�A��H�H�X�X�a�[�[�)�)�)�)�*�*���
�
�
������
�����05�A�Ac�:��g|]}tj������S�)rn��	threading�Thread�rHr�r9s  �r5rJz5OldTestFlag.test_unique_composite.<locals>.<listcomp>��7�������� �
�3�3�3���r7r_�;at least one thread failed while creating composite membersr3�"too many composite members created)r
rvrkr"�
start_threadsr�r-r��r��threadsr/r9r7r8s  @@@@r5�test_unique_compositez!OldTestFlag.test_unique_compositezsF������	*�	*�	*�	*�	*�t�	*�	*�	*��u�u����	�	�	�	�	�	�	������q��������
+�G�
4�
4�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����M�	O�	O�	O�	
����c�$�i�i�)M�N�N�N�N�N��A,�,A0�3A0c����G�fd�dt��}G�fd�d|���Gd�d���}Gd�d|��}���jd	d����|jd	d����|jd
d����|j�d	d������|j�d
d����Gd�d
|��}Gd�d|��}Gd�d|��}��|jd	d����|j�d	d������|jd
d
����|j�d	d������|j�d
d����dS)Nc�"���eZdZ��fd�Z�xZS)�.OldTestFlag.test_init_subclass.<locals>.MyEnumc���t��jdi|����|j�dd����d|_dS)N�_testFr�rE)r_�__init_subclass__r��__dict__�get�_test1)r8r�r�r�s  ��r5rOz@OldTestFlag.test_init_subclass.<locals>.MyEnum.__init_subclass__�sQ���)����)�1�1�D�1�1�1�� � ���!1�!1�'�5�!A�!A�B�B�B�%��
�
�
r7�r?r@rArOrh)r�r�s@�r5r�rL�s>��������
&�
&�
&�
&�
&�
&�
&�
&�
&�
&r7r�c�"���eZdZ��fd�Z�xZS)�1OldTestFlag.test_init_subclass.<locals>.TheirEnumc�L��t�|��jdi|��d|_dS)N�	TheirEnumrE)r_rO�_test2)r8r�rWr�s  ��r5rOzCOldTestFlag.test_init_subclass.<locals>.TheirEnum.__init_subclass__�s1���7��i��%�%�7�?�?�$�?�?�?�(��
�
�
r7rS)r�rWs@�r5rWrU�s>��������
)�
)�
)�
)�
)�
)�
)�
)�
)�
)r7rWc��eZdZd�ZdS)�1OldTestFlag.test_init_subclass.<locals>.WhoseEnumc��dSr�rE�r8r�s  r5rOzCOldTestFlag.test_init_subclass.<locals>.WhoseEnum.__init_subclass__�r:r7N�r?r@rArOrEr7r5�	WhoseEnumrZ�rXr7r^c��eZdZdZdS)�.OldTestFlag.test_init_subclass.<locals>.NoEnumr<N�r?r@rAr�rEr7r5�NoEnumr`���������C�C�Cr7rbrRrXFc��eZdZd�ZdS)�/OldTestFlag.test_init_subclass.<locals>.OurEnumc��d|_dS)N�OurEnum)rXr\s  r5rOzAOldTestFlag.test_init_subclass.<locals>.OurEnum.__init_subclass__�s
��&��
�
�
r7Nr]rEr7r5rgre�r3r7rgc��eZdZd�ZdS)�1OldTestFlag.test_init_subclass.<locals>.WhereEnumc��dSr�rEr\s  r5rOzCOldTestFlag.test_init_subclass.<locals>.WhereEnum.__init_subclass__�r:r7Nr]rEr7r5�	WhereEnumri�rXr7rkc��eZdZdZdS)�1OldTestFlag.test_init_subclass.<locals>.NeverEnumr<NrarEr7r5�	NeverEnumrm�rcr7rn)r
r-rPr�rQ)r�r�r^rbrgrkrnrWs`      @r5�test_init_subclasszOldTestFlag.test_init_subclass�s�����	&�	&�	&�	&�	&�	&�	&�T�	&�	&�	&�	)�	)�	)�	)�	)�	)�	)��	)�	)�	)�	�	�	�	�	�	�	�	�	�	�	�	�	�	�Y�	�	�	�����+�H�5�x�@�@�@�����+�H�5�x�@�@�@�����+�H�5�{�C�C�C������,�,�X�u�=�=�>�>�>������,�,�X�u�=�=�>�>�>�	'�	'�	'�	'�	'�f�	'�	'�	'�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�	�����)�(�3�X�>�>�>�����+�/�/��%�@�@�A�A�A�����+�H�5�y�A�A�A�����+�/�/��%�@�@�A�A�A�����+�/�/��%�@�@�A�A�A�A�Ar7N)(r?r@rAr�r
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r
rrprtr�r�r�r�r�r�rr
r$r"�reap_threads�requires_working_threadingrHrorEr7r5rzrz�
s��������������t���������t���� � � � � �� � � �
2�
2�
2�2�2�2�$2�2�2�=�=�=� 5�5�5�#-�#-�#-�JB�B�B�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�L�L�L�:�X�_��g�%�@�����	���$�X�_��W�$�D���#�#�	��#�"�"�"�(R�R�R�C�C�C�7�7�7�"+�+�+�	/�	/�	/����P�P�P�+2�+2�+2�Z�"�0��0�2�2�#O�#O�3�2�#�"�#O�J"B�"B�"B�"B�"Br7rzc���eZdZdZGd�de��ZGd�de��ZGd�de��ZGd�d	e��Zd
�Z	d�Z
d�Zd
�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zejedkd��d���Zejedkd��d ���Zd!�Z d"�Z!d#�Z"d$�Z#d%�Z$d&�Z%e&j'e&j(��d'�����Z)d(S))�OldTestIntFlagzTests of the IntFlags.c��eZdZdZdZdZdS)�OldTestIntFlag.PermrMr%r<Nr}rEr7r5r�ru�s�������������r7r�c�"�eZdZdZdZdZdZdZdS)�OldTestIntFlag.Openrr<r%r=r�Nr�rEr7r5r�rw�r�r7r�c�L�eZdZdZdZdZdZdZeezZeezezZ	eezezZ
dS)�OldTestIntFlag.Colorrr<r%rMNr�rEr7r5r�ry�r�r7r�c��eZdZdZdZdZdS)�OldTestIntFlag.Skipr<r%r_N)r?r@rAr�SECOND�EIGHTHrEr7r5�Skipr{�s�������������r7r~c��|j}|�|jtu��|j}|D]@}|�t||����|�||j���A|�t|j|j	z|����|�|j|j	zd��|D]@}|�t||����|�||j���A|�t|j
|jz|����|�|j
|jzd��dS)Nr=)r�r�r'rZr�r�r-r/rr�r�r�)r�r�r�r�s    r5�	test_typezOldTestIntFlag.test_type�sB���y������*�c�1�2�2�2��y���	)�	)�A��O�O�J�q�$�/�/�0�0�0����Q���(�(�(�(����
�4�6�D�F�?�D�9�9�:�:�:������$�&��!�,�,�,��	)�	)�A��O�O�J�q�$�/�/�0�0�0����Q���(�(�(�(����
�4�7�T�W�#4�d�;�;�<�<�<������4�7�*�A�.�.�.�.�.r7c�^�|�ttd����dtz��|�ttd����ddtiz��|�ttd����ddtiz��dS)Nrz%s.OFF_Kr
z%(m)s.LOW_BEAM_K|%(m)s.FOG_K|8rIr_z%(m)s.HeadlightsK(8))r-rQr��SHORT_MODULEr�s r5�test_global_repr_keepz$OldTestIntFlag.test_global_repr_keep�s�������[��^�^�$�$��\�)�	�	�	�	
����[�!3�4�4�5�5�0�C��3F�F�	�	�	�	
����[��&�&�'�'�&�#�|�)<�<�	�	�	�	�	r7c�^�|�ttd����dtz��|�ttd����ddtiz��|�ttd����ddtiz��dS)Nrz%s.OFF_Cr
z%(m)s.LOW_BEAM_C|%(m)s.FOG_CrIr_z%(m)s.OFF_C)r-rQr�r�r�s r5�test_global_repr_conform1z(OldTestIntFlag.test_global_repr_conform1
s�������[��^�^�$�$��\�)�	�	�	�	
����[�!3�4�4�5�5�.�#�|�1D�D�	�	�	�	
����[��&�&�'�'���l� 3�3�	�	�	�	�	r7c���|�ttjtjz��d��|�ttd����d��dS)Nz	NoName(0)r)r-r(r�r�r�r�s r5�test_global_enum_strz#OldTestIntFlag.test_global_enum_str
sQ������V�Z�&�*�4�5�5�{�C�C�C�����V�A�Y�Y����5�5�5�5�5r7c��|j}|�t|jd��d��|�t|j|jzd��d��Gd�dt
��}|�t|jd��d��|�t|j|jzd��d��dS)Nr�4r6c� �eZdZdZdZdZd�ZdS)�+OldTestIntFlag.test_format.<locals>.NewPermrMr%r<c��|jSr�r�r�s r5r�z3OldTestIntFlag.test_format.<locals>.NewPerm.__str__
s
���{�"r7N)r?r@rAr~rr�r�rEr7r5�NewPermr�
s2�������A��A��A�
#�
#�
#�
#�
#r7r�r~zR|X)r�r-r.r~r�r)r�r�r�s   r5rzOldTestIntFlag.test_format
s����y���������+�+�S�1�1�1�����������4�4�c�:�:�:�	#�	#�	#�	#�	#�g�	#�	#�	#�	
�����	�2�.�.��4�4�4������	�D�F� 2�B�7�7��?�?�?�?�?r7c���|j}|D�]k}|D]y}|�||z|j|jz��|�||zj|j|jz��|�t	||z��|���ztd��D]�}|�||z|j|z��|�||zj|j|z��|�t	||z��|��|�||z||jz��|�||zj||jz��|�t	||z��|���ݐ�m|D]M}|�||z|��|�|dz|��|�d|z|���N|j}|�|j|jz|j��dS�Nr_r�	r�r-r/rTr�rkr�r�r�r�s     r5r�zOldTestIntFlag.test_or!
s����y���	1�	1�A��
1�
1��� � ��Q����!�'�(9�:�:�:�� � �!�a�%����!�'�0A�B�B�B��
�
�d�1�q�5�k�k�4�0�0�0�0��1�X�X�
1�
1��� � ��Q����!��4�4�4�� � �!�a�%����!��<�<�<��
�
�d�1�q�5�k�k�4�0�0�0�� � ��Q���A�G��4�4�4�� � �!�a�%���A�G��<�<�<��
�
�d�1�q�5�k�k�4�0�0�0�0�

1��	$�	$�A��M�M�!�a�%��#�#�#��M�M�!�a�%��#�#�#��M�M�!�a�%��#�#�#�#��y���
�
�d�g���'���1�1�1�1�1r7c
���|j}|j|jz}|j|jz}|j|jz}|j|jz|jz}t	|��|||||d��gz}|D�]�}|D]�}|�||z|j|jzd|�d|����|�||zj|j|jzd|�d|����|�t||z��|d|�d|������td��D]�}|�||z|j|z��|�||zj|j|z��|�t||z��|��|�||z||jz��|�||zj||jz��|�t||z��|���ݐ��|D]M}|�||z|��|�|dz|��|�d|z|���N|j
}	|�|	j|	jz|	j��dS)Nrzi is z, j is r_r^)
r�r~rr�rRr-r/rTr�rkr�r�r�r�s
          r5r�zOldTestIntFlag.test_and6
s����y��
�V�d�f�_��
�V�d�f�_��
�V�d�f�_���f�t�v�o���&���d���r�2�r�3���Q���8�8���	1�	1�A��
N�
N��� � ��Q����!�'�(9�(9�QR�QR�QR�TU�TU�;V�W�W�W�� � �!�a�%����!�'�0A�0A�YZ�YZ�YZ�\]�\]�C^�_�_�_��
�
�d�1�q�5�k�k�4�4�q�q�q�!�!�1L�M�M�M�M��1�X�X�
1�
1��� � ��Q����!��4�4�4�� � �!�a�%����!��<�<�<��
�
�d�1�q�5�k�k�4�0�0�0�� � ��Q���A�G��4�4�4�� � �!�a�%���A�G��<�<�<��
�
�d�1�q�5�k�k�4�0�0�0�0�

1��	$�	$�A��M�M�!�a�%��#�#�#��M�M�!�a�%��#�#�#��M�M�!�a�%��#�#�#�#��y���
�
�d�g���'���1�1�1�1�1r7c��|j}|D�]k}|D]y}|�||z|j|jz��|�||zj|j|jz��|�t	||z��|���ztd��D]�}|�||z|j|z��|�||zj|j|z��|�t	||z��|��|�||z||jz��|�||zj||jz��|�t	||z��|���ݐ�m|D]4}|�|dz|��|�d|z|���5|j}|�|j|jz|j��|�|j|jz|j��dSr�r�r�s     r5r�zOldTestIntFlag.test_xorP
s����y���	1�	1�A��
1�
1��� � ��Q����!�'�(9�:�:�:�� � �!�a�%����!�'�0A�B�B�B��
�
�d�1�q�5�k�k�4�0�0�0�0��1�X�X�
1�
1��� � ��Q����!��4�4�4�� � �!�a�%����!��<�<�<��
�
�d�1�q�5�k�k�4�0�0�0�� � ��Q���A�G��4�4�4�� � �!�a�%���A�G��<�<�<��
�
�d�1�q�5�k�k�4�0�0�0�0�

1��	$�	$�A��M�M�!�a�%��#�#�#��M�M�!�a�%��#�#�#�#��y���
�
�d�g���'���1�1�1��
�
�d�g���'���1�1�1�1�1r7c��|j}|j|jz}|j|jz}|j|jz}|j|jz|jz}t	|��|||||d��gz}|D][}|�||j��|�t|��|��|�||���\|D]}|�||���|j	}|�|j
|j
z|j��|�|j
|jz|j
z|j��dSr�)
r�r~rr�rRr-r/rTr�r�r�r�r�r�s	         r5r�zOldTestIntFlag.test_inverte
sJ���y��
�V�d�f�_��
�V�d�f�_��
�V�d�f�_���f�t�v�o���&���d���r�2�r�3���Q���8�8���	%�	%�A����a�R�1�"��,�,�,��M�M�$��r�(�(�D�)�)�)����q�b�S�!�$�$�$�$��	"�	"�A��M�M�A�2�#�q�!�!�!�!��y���
�
�d�g����(�$�'�2�2�2��
�
�t�w�t�w��4�7�(�2�D�G�<�<�<�<�<r7c�~�|�tjjt��Gd�dtt���}Gd�dtt
���}|�|jt
��Gd�dtt���}|�|jt��Gd�d	tt���}|�|jt��Gd
�dtt���}|�td|d
��|�|d��|j
|jz��|�|d��|j��|�|d��d��|�
t|d����tu��|�t!|��|jg��|�|d��|j��|�|d��|j��|j|jz}|�|d��|�||��|�t-|��d��|�t/|��d��dS)Nc��eZdZdZdS)�,OldTestIntFlag.test_boundary.<locals>.Simpler<N)r?r@rA�SINGLErEr7r5�Simpler�x
r%r7r�r�c��eZdZdZdZdZdS)�*OldTestIntFlag.test_boundary.<locals>.Ironr<r%r_Nr�rEr7r5r�r�{
rr7r�c��eZdZdZdZdZdS)�+OldTestIntFlag.test_boundary.<locals>.Waterr<r%r_Nr�rEr7r5r�r��
rr7r�c��eZdZdZdZdZdS)�+OldTestIntFlag.test_boundary.<locals>.Spacer<r%r_Nr�rEr7r5r�r��
rr7r�c��eZdZdZdZdZdS)�-OldTestIntFlag.test_boundary.<locals>.Bizarrer=rMrVNr�rEr7r5r�r��
r�r7r�zinvalid value 5r!r^r�r=rVz <Simple.SINGLE|<Iron.TWO: 2>: 3>r )rTr+rr�rrrrrEr�r�r�r-r�r�rZrRrsr�r�r�r�rQr()r�r�r�r�r�r��simples       r5r�zOldTestIntFlag.test_boundaryv
s����
�
�d�l�-�t�4�4�4�	�	�	�	�	�W�t�	�	�	�	�	�	�	�	�	�7�V�	�	�	�	�	
�
�
�d�o�v�.�.�.�	�	�	�	�	�G�g�	�	�	�	�	
�
�
�e�&��0�0�0�	�	�	�	�	�G�e�	�	�	�	�	
�
�
�e�&��.�.�.�	�	�	�	�	�g��	�	�	�	�
	
���z�+<�d�A�F�F�F��
�
�e�e�A�h�h��	�%�)� 3�4�4�4��
�
�e�e�B�i�i���+�+�+������q���1�%�%�%�����U�U�1�X�X���#�-�.�.�.�����g������4�4�4��
�
�g�g�a�j�j�'�)�,�,�,��
�
�g�g�a�j�j�'�)�,�,�,�����)�������#�#�#����f�f�-�-�-�����f���'I�J�J�J�����V���c�*�*�*�*�*r7c��|j}|j}|�t|��|j|j|jg��|�t|��|j|j|j	g��dSr�r�r�s   r5r�zOldTestIntFlag.test_iter�
r�r7c��tdd��}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}d|z}||��}|�|j	|��|�t|j	��t��|�||��|�|j|��|�
||��|�t|��|����dSr��rrRr-r�r~rr�rkr�r/r�rZr�rirTr�s       r5r�z/OldTestIntFlag.test_programatic_function_string�
sW���v�w�'�'���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��1��A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q��"�"�"����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c��tddd���}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}d|z}||��}|�|j	|��|�t|j	��t��|�||��|�|j|��|�
||��|�t|��|����dSr�r�r�s       r5r�z:OldTestIntFlag.test_programatic_function_string_with_start�
s\���v�w�a�0�0�0���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��1��A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q��"�"�"����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c��tdgd���}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}d|z}||��}|�|j	|��|�t|j	��t��|�||��|�|j|��|�
||��|�t|��|����dSr�r�r�s       r5r�z4OldTestIntFlag.test_programatic_function_string_list�
s[���v����/�/���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��1��A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q��"�"�"����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c��tdd��}t|��}|�t|��t|����|�t|��d|��|�||j|j|jg��td�����D]�\}}dd|zdzz}||��}|�|j	|��|�t|j	��t��|�||��|�|j|��|�
||��|�t|��|����dSr�r�r�s       r5r�z1OldTestIntFlag.test_programatic_function_iterable�
s`���v�>�?�?���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��A�a�C��E�
�A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q��"�"�"����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c�4�tdtd����}t|��}|�t	|��t	|����|�t	|��d|��|�||j|j|jg��td�	����D]�\}}dd|zdzz}||��}|�|j
|��|�t|j
��t��|�||��|�|j
|��|�||��|�t|��|����dSr�)rrrRr-r�r~rr�rkr�r/r�rZr�rirTr�s       r5r�z2OldTestIntFlag.test_programatic_function_from_dict�
sh���v�{�+J�K�K�L�L���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,�����t�v�t�v�t�v�6�7�7�7��g�m�m�o�o�.�.�	)�	)�D�A�q��A�a�C��E�
�A���Q���A����Q�W�a�(�(�(����T�!�'�]�]�C�0�0�0����Q��"�"�"����Q�V�Q�'�'�'��M�M�!�T�"�"�"��M�M�$�q�'�'�4�(�(�(�(�	)�	)r7c���tjdg��}t|��}|�t	|��t	|����|�t	|��d|��tjdg��}t|��}|�t	|��t	|����|�t	|��d|��dS)Nr�r�Thing�r+rrRr-r�r�r�r�r�r�s    r5�)test_programatic_function_from_empty_listz8OldTestIntFlag.test_programatic_function_from_empty_list�
s����|�F�B�'�'���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,��	�'�2�&�&���5�k�k������S���3�u�:�:�.�.�.�����U���Q��.�.�.�.�.r7c���tjdd��}t|��}|�t	|��t	|����|�t	|��d|��tjdd��}|�t	|��t	|����|�t	|��d|��dS)Nr�rErr�r�r�s    r5�*test_programatic_function_from_empty_tuplez9OldTestIntFlag.test_programatic_function_from_empty_tuples����|�F�B�'�'���4�j�j������S���3�t�9�9�-�-�-�����T���A�t�,�,�,��	�'�2�&�&������S���3�u�:�:�.�.�.�����U���Q��.�.�.�.�.r7r^r`c�D�|j}|j}|�|j|v��|�|j|v��|�|j|v��|�|j|v��|�t��5|�t��5d|vddd��n#1swxYwYddd��n#1swxYwY|�t��5|�t��5d|vddd��n#1swxYwYddd��n#1swxYwY|�t��5|�t��5d|vddd��n#1swxYwYddd��n#1swxYwY|�t��5|�t��5d|vddd��n#1swxYwYddd��dS#1swxYwYdS�Nr�r�r%)
r�r�r�r�r�r�r@rjrkrlr�s   r5rpzOldTestIntFlag.test_contains_ers��
�y���
�������u�,�-�-�-������4��(�(�(�������,�-�-�-������E�)�*�*�*�
�
�
�y�
)�
)�	!�	!��!�!�"4�5�5�
!�
!��5� � �
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��
�
�y�
)�
)�	�	��!�!�"4�5�5�
�
�����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	��!�!�"4�5�5�
�
��U�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	��!�!�"4�5�5�
�
��T�	�	�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��C�4C�9C�C		�	C�C		�
C�C �#C �E�D-�!E�-D1	�1E�4D1	�5E�E�E�)F,�F�	F,�F	�F,�F	�F,�,F0�3F0�H�,G=�1H�=H	�H�H	�H�H�Hr�c��|j}|j}|�|j|v��|�|j|v��|�|j|v��|�|j|v��|�d|v��|�d|v��|�d|v��|�d|v��dSr�)r�r�r�r�r�r�r�s   r5rtzOldTestIntFlag.test_contains_tf's���
�y���
�������u�,�-�-�-������4��(�(�(������t�+�,�,�,������5�(�)�)�)�����E�)�*�*�*�������&�&�&�����U�
�#�#�#�����T�	�"�"�"�"�"r7c�
�|j}|\}}}||z}||z}||z}||z|z}|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�||v��|�t��5|�d|v��ddd��dS#1swxYwYdS)Nr�)r�r�r�r@rjr�s	         r5r�z#OldTestIntFlag.test_member_contains7s����y�����1�a�
��U��
��U��
��U���!�e�a�i������R�� � � �����R�� � � �����S��!�!�!�����R�� � � �����R�� � � �����S��!�!�!�����R�� � � �����R�� � � �����S��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�
�
�
�y�
)�
)�	+�	+����V�r�\�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�E8�8E<�?E<c��|j}|�t|j��g��|�t|j��|j|jg��|�t|j��|jg��|�t|j��|jg��|�t|j��|j|j|jg��dSr�r�r�s  r5r�zOldTestIntFlag.test_member_iterMs����
������e�k�*�*�B�/�/�/�����e�l�+�+�e�i���-D�E�E�E�����e�j�)�)�E�J�<�8�8�8�����e�k�*�*�U�[�M�:�:�:�����e�k�*�*�U�Y���U�Z�,P�Q�Q�Q�Q�Qr7c���|�|j�|jj��d��|�|j�|jj��d��|�|j�|jj��d��|�|j�|jj��d��dSr�r�r�s r5r�z!OldTestIntFlag.test_member_lengthUr�r7c��|j}|�|d��jd��|�|djd��|�|d��jd��|�|djd��|�|j|j��|j}|�|d|j��dSr�r�r�s   r5r�zOldTestIntFlag.test_aliases[r�r7c���|j}|D]}|�|���|j}|D]7}|�t	|j��t	|�����8dSr�r�r�s    r5r�zOldTestIntFlag.test_booler�r7c���Gd�d��}Gd�d���Gd�d|t��}|�|jjd��|�|jjd��|�|jjd	��|�|jjd
��|�t|j��d��G�fd�d|�t��}|�|jjd��|�|jjd��|�|jjd	��|�|jjd
��|�t|j��d
��G�fd�d�|t��}|�|jjd��|�|jjd��|�|jjd	��|�|jjd
��|�t|j��d
��dS)Nc�$�eZdZed���ZdS)�4OldTestIntFlag.test_multiple_mixin.<locals>.AllMixinc�n�t|��}d}|r|d}|dd�D]}||z}�||_|SrZrrs    r5rz8OldTestIntFlag.test_multiple_mixin.<locals>.AllMixin.ALLprr7NrrEr7r5rr�orr7rc��eZdZd�ZdS)�4OldTestIntFlag.test_multiple_mixin.<locals>.StrMixinc�4�|j���Sr�r�r�s r5r�z<OldTestIntFlag.test_multiple_mixin.<locals>.StrMixin.__str__{r�r7Nr�rEr7r5r�r�zr�r7r�c�J�eZdZe��Ze��Ze��ZdS��1OldTestIntFlag.test_multiple_mixin.<locals>.ColorNr
rEr7r5r�r�}rr7r�r<r%rMr^r�c�Z��eZdZe��Ze��Ze��Z�jZdSr�rrs�r5r�z1OldTestIntFlag.test_multiple_mixin.<locals>.Color�rr7r�c�Z��eZdZe��Ze��Ze��Z�jZdSr�rrs�r5r�z1OldTestIntFlag.test_multiple_mixin.<locals>.Color�rr7)rr-rDr/r�r�rr(r$s   @r5r$z"OldTestIntFlag.test_multiple_mixinns����
	!�
	!�
	!�
	!�
	!�
	!�
	!�
	!�	+�	+�	+�	+�	+�	+�	+�	+�	�	�	�	�	�H�g�	�	�	�	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-�������!�,�,�,�����U�Z���#�.�.�.�	'�	'�	'�	'�	'�	'�	'�H�h��	'�	'�	'�
	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-�������!�,�,�,�����U�Z���&�1�1�1�	'�	'�	'�	'�	'�	'�	'�H�h��	'�	'�	'�
	
������!�,�,�,������*�A�.�.�.������)�1�-�-�-�������!�,�,�,�����U�Z���&�1�1�1�1�1r7c�f�����Gd�dt���t���d����fd���fd�td��D��}tj|��5	ddd��n#1swxYwY|��d��|�dt���d	��dS)
Nc��eZdZe��Ze��Ze��Ze��Ze��Ze��Z	e��Z
e��Zd�Zd�Z
dS)�6OldTestIntFlag.test_unique_composite.<locals>.TestFlagc�
�||uSr�rEr&s  r5r�z=OldTestIntFlag.test_unique_composite.<locals>.TestFlag.__eq__�r)r7c�*�t|j��Sr�r+r�s r5r-z?OldTestIntFlag.test_unique_composite.<locals>.TestFlag.__hash__�r�r7Nr.rEr7r5r/r��r0r7r/Fc���	td��D] }���|�����!dS#t$rd�YdSwxYwr2r4r6s ���r5r9z8OldTestIntFlag.test_unique_composite.<locals>.cycle_enum�r:r;c�:��g|]}tj������Sr=r>rAs  �r5rJz8OldTestIntFlag.test_unique_composite.<locals>.<listcomp>�rBr7r_rCr3rD)rrvrkr"rEr�r-r�rFs  @@@@r5rHz$OldTestIntFlag.test_unique_composite�sF������	*�	*�	*�	*�	*�w�	*�	*�	*��u�u����	�	�	�	�	�	�	������q��������
+�G�
4�
4�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����M�	O�	O�	O�	
����c�$�i�i�)M�N�N�N�N�NrIN)*r?r@rAr�rr�r�r�r~r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r	r
rrprtr�r�r�r�r�r$r"rprqrHrEr7r5rsrs�s������� � ������w����
�����w���� � � � � �� � � ������w����

/�
/�
/�������6�6�6�@�@�@�2�2�2�*2�2�2�42�2�2�*=�=�=�",+�,+�,+�\B�B�B�)�)�)� )�)�)� )�)�)� )�)�)� )�)�)�"/�/�/�/�/�/��X�_��g�%�@�����	���(�X�_��W�$�D���
#�
#�	��
#�+�+�+�,R�R�R�C�C�C�+�+�+�5�5�5�+2�+2�+2�Z�"�0��0�2�2�#O�#O�3�2�#�"�#O�#O�#Or7rsc� �eZdZd�Zd�Zd�ZdS)�TestEmptyAndNonLatinStringsc��|�t��5tdd��}ddd��dS#1swxYwYdS)N�	empty_abc)rr�r�)r@r�r)r�r�s  r5�test_empty_stringz-TestEmptyAndNonLatinStrings.test_empty_string�s���
�
�
�z�
*�
*�	:�	:��[�.�9�9�I�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s
�9�=�=c�|�tdd��}t|d��}|�|jd��dS)N�	greek_abc)�αr�r�r�r<�rr*r-r/)r�r�r�s   r5�test_non_latin_character_stringz;TestEmptyAndNonLatinStrings.test_non_latin_character_string�s?����&:�;�;�	��y�(�+�+�������Q�'�'�'�'�'r7c�|�tdd��}t|d��}|�|jd��dS)N�
hebrew_123)�אrr r�r<r�)r�r�r�s   r5�test_non_latin_number_stringz8TestEmptyAndNonLatinStrings.test_non_latin_number_string�s?���,�(<�=�=�
��z�8�,�,�������Q�'�'�'�'�'r7N)r?r@rAr�r�r�rEr7r5r�r��sA������:�:�:�(�(�(�
(�(�(�(�(r7r�c� �eZdZd�Zd�Zd�ZdS)�
TestUniquec��tGd�dt����}tGd�dt����}dS)Nc��eZdZdZdZdZdS)�+TestUnique.test_unique_clean.<locals>.Cleanr<r�@N�r?r@rArerfrrEr7r5�Cleanr����������C��C��D�D�Dr7r�c��eZdZdZdZdZdS)�-TestUnique.test_unique_clean.<locals>.Cleanerr<r%r=N�r?r@rA�single�double�triplerEr7r5�Cleanerr����������F��F��F�F�Fr7r�)rrr�r�r�r�s   r5�test_unique_cleanzTestUnique.test_unique_clean�sv��	�	�	�	�	�	�D�	�	�
��	�

�	�	�	�	�	�g�	�	�
��	�	�	r7c�T�|�td��5tGd�dt����}ddd��n#1swxYwY|�td��5tGd�dt����}ddd��dS#1swxYwYdS)N�	tres.*onec��eZdZdZdZdZdS)�+TestUnique.test_unique_dirty.<locals>.Dirtyr<rNr�rEr7r5�Dirtyr����������������r7r��double.*single.*turkey.*triplec��eZdZdZdZdZdZdS)�-TestUnique.test_unique_dirty.<locals>.Dirtierr<r=N�r?r@rAr�r�r��turkeyrEr7r5�Dirtierr���"���������������r7r�)rEr�rrr�r�r�r�s   r5�test_unique_dirtyzTestUnique.test_unique_dirty�sY��
�
#�
#�J��
<�
<�	�	�
�
�
�
�
�
��
�
��V�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#��0���		�		��
�
�
�
�
�'�
�
��V�
�		�		�		�		�		�		�		�		�		�		�		�		����		�		�		�		�		�		s#�!A	�	A
�A
�/!B�B!�$B!c��tt��Gd�dt����}tt��Gd�dt����}dS)Nc��eZdZdZdZdZdS)�/TestUnique.test_unique_with_name.<locals>.Sillyr<rr=N�r?r@rArerfr�rEr7r5�Sillyr����������C��C��D�D�Dr7r�c��eZdZdZdZdZdZdS)�1TestUnique.test_unique_with_name.<locals>.Sillierr<r%r=rMN�r?r@rAr�r�r�r/rEr7r5�Sillierr	��"�������F��D��F��E�E�Er7r	�rrrr�r�r�r	s   r5�test_unique_with_namez TestUnique.test_unique_with_name����	����	�	�	�	�	�D�	�	�
��	�

����	�	�	�	�	�g�	�	�
��	�	�	r7N)r?r@rAr�r�r	rEr7r5r�r��sA������������$����r7r�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
TestVerifyc��tt��Gd�dt����}tt��Gd�dt����}|�td��5tt��Gd�dt����}ddd��n#1swxYwY|�td��5tt��Gd	�d
t
����}ddd��n#1swxYwY|�td��5tt��Gd�d
t
����}ddd��dS#1swxYwYdS)Nc�^�eZdZe��Ze��Ze��Ze��ZdS)�(TestVerify.test_continuous.<locals>.AutoN)r?r@rAr
rr|�THIRD�FORTHrEr7r5�Autor	s:�������D�F�F�E��T�V�V�F��D�F�F�E��D�F�F�E�E�Er7r	c��eZdZdZdZdZdZdS)�*TestVerify.test_continuous.<locals>.Manualr=rMr!rVN�r?r@rArr|r	r	rEr7r5�Manualr	
s"�������E��F��E��E�E�Er7r	z<invalid enum .Missing.: missing values 5, 6, 7, 8, 9, 10, 12c��eZdZdZdZdZdZdS)�+TestVerify.test_continuous.<locals>.Missingr=rMr�r
Nr	rEr7r5�Missingr	�"���������������r7r	z,invalid flag .Incomplete.: missing values 32c��eZdZdZdZdZdZdS)�.TestVerify.test_continuous.<locals>.IncompleterMr_r��@Nr	rEr7r5�
Incompleter	r	r7r	z1invalid flag .StillIncomplete.: missing values 16c��eZdZdZdZdZdZdS)�3TestVerify.test_continuous.<locals>.StillIncompleterMr_r�r�Nr	rEr7r5�StillIncompleter	%r	r7r 	)rrrrEr�r
)r�r	r	r	r	r 	s      r5�test_continuouszTestVerify.test_continuouss���	�
�	�	�	�	�	�	�	�4�	�	�
�	�	�
�
�	�	�	�	�	�	�	�T�	�	�
�	�	��
#�
#�J�0n�
o�
o�	�	�
�J�
�
�
�
�
�
�
�$�
�
� �
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�J�0^�
_�
_�	�	�
�J�
�
�
�
�
�
�
�T�
�
� �
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�J�0c�
d�
d�	�	�
�J�
�
�
�
�
�
�
�$�
�
� �
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�6.B0�0B4�7B4�.D�D�D�6.E1�1E5�8E5c��Gd�dt��}|�t|��|jg��|�|jjd��|�|jjd��|�|jjd��|�td��5tt��Gd�dt����}ddd��n#1swxYwY|�tjd��dd	g��Gd
�dt��}|�t|��|jg��|�|jjd��|�|jjd��|�|jjd��|�td��5tt��Gd�dt����}ddd��n#1swxYwY|�tjd	��d	g��dS)
Nc��eZdZdZdZdZdS��*TestVerify.test_composite.<locals>.Bizarrer=rMrVNr�rEr7r5r�r%	.r�r7r�r=rMrVzyinvalid Flag 'Bizarre': aliases b and d are missing combined values of 0x3 .use enum.show_flag_values.value. for details.c��eZdZdZdZdZdSr$	r�rEr7r5r�z*TestVerify.test_composite.<locals>.Bizarre:s�������������r7r<r%c��eZdZdZdZdZdSr$	r�rEr7r5r�z*TestVerify.test_composite.<locals>.BizarreAr�r7zcinvalid Flag 'Bizarre': alias d is missing value 0x2 .use enum.show_flag_values.value. for details.c��eZdZdZdZdS)r%	rMrVN)r?r@rArsr�rEr7r5r�z*TestVerify.test_composite.<locals>.BizarreMs�����������r7)r
r-rRrsr�r/r�rEr�rrr+�show_flag_valuesr)r�r�s  r5�test_compositezTestVerify.test_composite-s���	�	�	�	�	�d�	�	�	�	
����g������4�4�4�������!�,�,�,�������!�,�,�,�������!�,�,�,�
�
#�
#��L���	�	��K�
 �
 �
�
�
�
�
�$�
�
�!�
 �
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����.�q�1�1�A�q�6�:�:�:�	�	�	�	�	�g�	�	�	�	
����g������4�4�4�������!�,�,�,�������!�,�,�,�������!�,�,�,�
�
#�
#��u���	�	��K�
 �
 �
�
�
�
�
�'�
�
�!�
 �
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����.�q�1�1�A�3�7�7�7�7�7s$�8.C2�2C6�9C6�.H�H�Hc��tt��Gd�dt����}tt��Gd�dt����}dS)Nc��eZdZdZdZdZdS)�+TestVerify.test_unique_clean.<locals>.Cleanr<rr�Nr�rEr7r5r�r-	Tr�r7r�c��eZdZdZdZdZdS)�-TestVerify.test_unique_clean.<locals>.Cleanerr<r%r=Nr�rEr7r5r�r/	Zr�r7r�r	r�s   r5r�zTestVerify.test_unique_cleanSs���	����	�	�	�	�	�D�	�	�
��	�

����	�	�	�	�	�g�	�	�
��	�	�	r7c��|�td��5tt��Gd�dt����}ddd��n#1swxYwY|�td��5tt��Gd�dt
����}ddd��dS#1swxYwYdS)Nr�c��eZdZdZdZdZdS)�+TestVerify.test_unique_dirty.<locals>.Dirtyr<rNr�rEr7r5r�r2	br�r7r�r�c��eZdZdZdZdZdZdS)�-TestVerify.test_unique_dirty.<locals>.Dirtierr<r=Nr�rEr7r5r�r4	kr�r7r�)rEr�rrrrr�s   r5r�zTestVerify.test_unique_dirty`se��
�
#�
#�J��
<�
<�	�	�
�F�^�^�
�
�
�
�
��
�
��^�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#��0���		�		��F�^�^�
�
�
�
�
�'�
�
��^�
�		�		�		�		�		�		�		�		�		�		�		�		����		�		�		�		�		�		s#�.A�A�A�<.B7�7B;�>B;c��tt��Gd�dt����}tt��Gd�dt����}dS)Nc��eZdZdZdZdZdS)�/TestVerify.test_unique_with_name.<locals>.Sillyr<rr=Nr�rEr7r5r�r7	sr	r7r�c��eZdZdZdZdZdZdS)�1TestVerify.test_unique_with_name.<locals>.Sillierr<r%r=rMNr	rEr7r5r	r9	yr	r7r	r	r	s   r5r	z TestVerify.test_unique_with_namerr		r7N)r?r@rAr!	r*	r�r�r	rEr7r5r	r	sa������%�%�%�P$8�$8�$8�L������$����r7r	c��eZdZdZdZdZdZdZd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ejedkd
��d���Zejedkd
��d���Zejedkd��d���Zejedkd��d���Zd�Zd�Zejedkd��d���Zd�ZdS)�
TestInternalsrvrzr~r�r�c�
�|j|jzD]-}|�tj|��d|z���.|j|jz|jzD]-}|�tj|��d|z���.dS)Nr�r�r�r�s  r5r�zTestInternals.test_sunder�s����%��(E�E�	V�	V�D��O�O�D�O�D�1�1�3M�PT�3T�U�U�U�U��%��(:�:�T�=N�N�	S�	S�D����T�_�T�2�2�4J�T�4Q�R�R�R�R�	S�	Sr7c�
�|jD]-}|�tj|��d|z���.|j|jz|jz|jzD]-}|�tj|��d|z���.dS)Nr�r�r�r�s  r5r�zTestInternals.test_dunder�s����%�	V�	V�D��O�O�D�O�D�1�1�3M�PT�3T�U�U�U�U��%��(:�:�T�=Z�Z�]a�]n�n�	S�	S�D����T�_�T�2�2�4J�T�4Q�R�R�R�R�	S�	Sr7c��|j|jzD]+}|�tjd|��d���,|j|jz|jzD]+}|�tjd|��d���,dSr�r�r�s  r5r�zTestInternals.test_is_private�r�r7c�V�Gd�dt��}|�t|��|j|j|jg��|�|jjd��|�|jjd��|�|jjd��dS)Nc�J�eZdZe��Ze��Ze��ZdS)�-TestInternals.test_auto_number.<locals>.ColorNr�rEr7r5r�rA	�r�r7r�r<r%r=�rr-rRr�r�r�r/r�s  r5r�zTestInternals.test_auto_number�r�r7c�V�Gd�dt��}|�t|��|j|j|jg��|�|jjd��|�|jjd��|�|jjd��dS)Nc�P�eZdZd�Ze��Ze��Ze��ZdS)�+TestInternals.test_auto_name.<locals>.Colorc��|Sr�rE�r�rqrr�lasts    r5rtzATestInternals.test_auto_name.<locals>.Color._generate_next_value_�����r7N)r?r@rArtr
r�r�r�rEr7r5r�rE	�s>������
�
�
��$�&�&�C��4�6�6�D��D�F�F�E�E�Er7r�r�r�r�rB	r�s  r5�test_auto_namezTestInternals.test_auto_name�s���	�	�	�	�	�D�	�	�	�	
����e���u�y�%�*�e�k�&J�K�K�K�������%�0�0�0������)�6�2�2�2������*�G�4�4�4�4�4r7c�r�Gd�dt��}Gd�d|��}|�t|��|j|j|jg��|�|jjd��|�|jjd��|�|jjd��dS)Nc��eZdZd�ZdS)�:TestInternals.test_auto_name_inherit.<locals>.AutoNameEnumc��|Sr�rErG	s    r5rtzPTestInternals.test_auto_name_inherit.<locals>.AutoNameEnum._generate_next_value_�rI	r7NrurEr7r5�AutoNameEnumrM	�s#������
�
�
�
�
r7rO	c�J�eZdZe��Ze��Ze��ZdS)�3TestInternals.test_auto_name_inherit.<locals>.ColorNr�rEr7r5r�rQ	�r�r7r�r�r�r�rB	)r�rO	r�s   r5�test_auto_name_inheritz$TestInternals.test_auto_name_inherit�s���	�	�	�	�	�4�	�	�	�	�	�	�	�	�L�	�	�	�
	
����e���u�y�%�*�e�k�&J�K�K�K�������%�0�0�0������)�6�2�2�2������*�G�4�4�4�4�4r7rz+mixed types with auto() no longer supportedc���|�td��5Gd�dt��}ddd��n#1swxYwY|�|jjd��dS)N�&will require all values to be sortablec�&�eZdZdZe��ZdS)�1TestInternals.test_auto_garbage_ok.<locals>.Colorr�NrrEr7r5r�rV	�����������t�v�v���r7r�r<)rrlrr-r�r/r�s  r5�test_auto_garbage_okz"TestInternals.test_auto_garbage_ok�s���
�
"�
"�#5�7_�
`�
`�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
�����)�1�-�-�-�-�-rc��|�td��5Gd�dt��}ddd��n#1swxYwY|�t	|��|j|j|jg��|�|jjd��|�|jjd��|�|jjd��dS)NrT	c�*�eZdZdZdZe��ZdS)�;TestInternals.test_auto_garbage_corrected_ok.<locals>.Colorr�r%N�r?r@rAr�r�r
r�rEr7r5r�r[	��#����������������r7r�r�r%r=)	rrlrr-rRr�r�r�r/r�s  r5�test_auto_garbage_corrected_okz,TestInternals.test_auto_garbage_corrected_ok�s��
�
"�
"�#5�7_�
`�
`�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����e���u�y�%�*�e�k�&J�K�K�K�������%�0�0�0������)�1�-�-�-������*�A�.�.�.�.�.rz*mixed types with auto() will raise in 3.13c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)NrT	c�&�eZdZdZe��ZdS)�3TestInternals.test_auto_garbage_fail.<locals>.Colorr�NrrEr7r5r�ra	�rW	r7r�rer�s  r5�test_auto_garbage_failz$TestInternals.test_auto_garbage_fail�s���
�
#�
#�I�/W�
X�
X�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)NrT	c�*�eZdZdZdZe��ZdS)�=TestInternals.test_auto_garbage_corrected_fail.<locals>.Colorr�r%Nr\	rEr7r5r�re	�r]	r7r�rer�s  r5� test_auto_garbage_corrected_failz.TestInternals.test_auto_garbage_corrected_fail�s���
�
#�
#�I�/W�
X�
X�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc�P�eZdZe��Ze��Ze��Zd�ZdS)�,TestInternals.test_auto_order.<locals>.Colorc��|Sr�rErG	s    r5rtzBTestInternals.test_auto_order.<locals>.Color._generate_next_value_�s���Kr7N)r?r@rAr
r�r�r�rtrEr7r5r�ri	�sD�������d�f�f��������t�v�v�� � � � � r7r�r�r�s  r5�test_auto_orderzTestInternals.test_auto_order�s���
�
�
�y�
)�
)�	 �	 �
 �
 �
 �
 �
 ��
 �
 �
 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�<�A�Ac�:��t���d�_G�fd�dt��}|�t	|��|j|jg��|�|jjd��|�|jjd��dS)Nzpathological casec�.��eZdZ�Zd�Ze��ZdS)�2TestInternals.test_auto_order_wierd.<locals>.Colorc��|Sr�rErG	s    r5rtzHTestInternals.test_auto_order_wierd.<locals>.Color._generate_next_value_�rI	r7N)r?r@rAr�rtr
r�)�
weird_autos�r5r�rn	�s.��������C�
�
�
��4�6�6�D�D�Dr7r�r�)r
r/rr-rRr�r�)r�r�rp	s  @r5�test_auto_order_wierdz#TestInternals.test_auto_order_wierd�s�����V�V�
�.�
��	�	�	�	�	�	�	�D�	�	�	�
	
����e���u�y�%�*�&=�>�>�>�������*=�>�>�>������)�6�2�2�2�2�2r7z,auto() will return highest value + 1 in 3.13c�,�Gd�dt��}|�|j|j��|�|j|j��|�|j|j��|�|j|j��dS)Nc�R�eZdZe��Ze��ZeZeZe��ZdS)�3TestInternals.test_auto_with_aliases.<locals>.ColorN)	r?r@rAr
r�r��oxford�crimsonr�rEr7r5r�rt	
s9�������$�&�&�C��4�6�6�D��F��G��D�F�F�E�E�Er7r�)rrTrv	r�ru	r�r�r�r�s  r5�test_auto_with_aliasesz$TestInternals.test_auto_with_aliasess���
	�	�	�	�	�D�	�	�	�	
�
�
�e�m�U�Y�/�/�/��
�
�e�l�E�J�/�/�/������e�i�0�0�0������e�j�1�1�1�1�1r7c��Gd�dt��}|�|j|j|jgt|����dS)Nc�N�eZdZe��xZZe��Ze��ZdS)�0TestInternals.test_duplicate_auto.<locals>.DupesNrrEr7r5r	rz	r
r7r	rrs  r5r
z!TestInternals.test_duplicate_autorr7N)r?r@rAr�r�r�r�r�r�r�r�r�rJ	rR	r	r
rrX	r^	rb	rf	rk	rq	rw	r
rEr7r5r;	r;	�s�������1�L�7�L�@�M�L��C�L�S�S�S�S�S�S�X�X�X�	/�	/�	/�5�5�5�5�5�5��X�_��g�%�9���.�.�	��.��X�_��g�%�9���
/�
/�	��
/��X�_��W�$�8�����	����X�_��W�$�8�����	��� � � �
3�
3�
3��X�_��W�$�:���
2�
2�	��
2�P�P�P�P�Pr7r;	c��eZdZdS)�TestEnumTypeSubclassingNr�rEr7r5r|	r|	s�������Dr7r|	a�Help on class Color in module %s:

class Color(enum.Enum)
 |  Color(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
 |  
 |  Method resolution order:
 |      Color
 |      enum.Enum
 |      builtins.object
 |  
 |  Data and other attributes defined here:
 |  
 |  CYAN = <Color.CYAN: 1>
 |  
 |  MAGENTA = <Color.MAGENTA: 2>
 |  
 |  YELLOW = <Color.YELLOW: 3>
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |  
 |  name
 |      The name of the Enum member.
 |  
 |  value
 |      The value of the Enum member.
 |  
 |  ----------------------------------------------------------------------
 |  Methods inherited from enum.EnumType:
 |  
 |  __contains__(member) from enum.EnumType
 |      Return True if member is a member of this enum
 |      raises TypeError if member is not an enum member
 |      
 |      note: in 3.12 TypeError will no longer be raised, and True will also be
 |      returned if member is the value of a member in this enum
 |  
 |  __getitem__(name) from enum.EnumType
 |      Return the member matching `name`.
 |  
 |  __iter__() from enum.EnumType
 |      Return members in definition order.
 |  
 |  __len__() from enum.EnumType
 |      Return the number of members (no aliases)
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from enum.EnumType:
 |  
 |  __members__
 |      Returns a mapping of member name->value.
 |      
 |      This mapping lists all enum members, including aliases. Note that this
 |      is a read-only view of the internal mapping.a�Help on class Color in module %s:

class Color(enum.Enum)
 |  Color(value, names=None, *, module=None, qualname=None, type=None, start=1)
 |  
 |  Method resolution order:
 |      Color
 |      enum.Enum
 |      builtins.object
 |  
 |  Data and other attributes defined here:
 |  
 |  YELLOW = <Color.YELLOW: 3>
 |  
 |  MAGENTA = <Color.MAGENTA: 2>
 |  
 |  CYAN = <Color.CYAN: 1>
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |  
 |  name
 |  
 |  value
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.EnumType:
 |  
 |  __members__c�F�eZdZdZGd�de��Zd�Zd�Zd�Zd�Z	dS)�
TestStdLibNc��eZdZdZdZdZdS)�TestStdLib.Colorr<r%r=N)r?r@rA�CYAN�MAGENTA�YELLOWrEr7r5r�r�	zs�������������r7r�c�<�tj�ttz}nttz}t��}t
j|���}||j��|�	���
��}|�|||��dS)N)�output)rr��!expected_help_output_without_docsr?�expected_help_output_with_docsr�pydoc�Helperr��getvaluer�r-)r��
expected_textr�	�helper�results     r5�
test_pydoczTestStdLib.test_pydocs����?�	F�=��H�M�M�:�X�E�M�������V�,�,�,����t�z�������"�"�(�(�*�*��������7�7�7�7�7r7c��tdtfdd|jjfdtfd|jjfd|jjfd|jjfdtj	dfd	tj	d	fd
|jj
fd|jjfdd
|jjfddt|jd��fd|jjff��}ttj|j����}|�t%|�����t%|�������d}|���D]X}|dkr�	||||kr=t)��t)dd�d|�d||�d||�dd�d�d���d}�Y|r|�d��dSdS)Nr�)r��...rr@r�	r�	r�	r�r/r��__contains__)r?r��__getitem__)rAr�	rO�__iter__Fr��
�K===========================================================================z
     key: z
  result: z
expected: r��sepT�/result does not equal expected, see print above)�dictr	r�rr?r�	r�	r�	rrPr�r�	r�	r*r�	�inspect�
getmembersr-rv�keysr=�fail)r�r&r�	r7rds     r5�test_inspect_getmembersz"TestStdLib.test_inspect_getmembers�s�����h�'�"���
� 6�7��x�(��4�:�,�-��D�J�.�/�����)����v�.�/��$�-��0�1��D�J�.�/����!8�9�%���
� 6�7�4�$�g�d�j�:M�&N�&N�O��T�Z�0�1�!����$�g�(���4�4�5�5������V�[�[�]�]�+�+�S������-?�-?�@�@�@��������	�	�A��I�~�
���a�y�F�1�I�%�
�������!���1�1�1�f�Q�i�i�i������H�H�H�F�KM�O�O�O�O�����	I��I�I�G�H�H�H�H�H�	I�	Ir7c�t�ddlm}|ddtt���|ddt|jj���|dd|jd	���|d
dt|jj���|ddt|jj���|dd
tt|jd�����|ddt|jj	���|ddttj
���|dd|jt���|dd|jd���|dd|jd���|dd|j|jj���|dd|j|jj
���|dd|j|jj���|ddttjd���|ddttjd���g}|D])}	|j�#t$$rt'|��Y�&wxYw|�d����t+tj|j����}|�d����|�t1|��t1|��d�|D���dd �|D������d!}t3||��D]|\}}|jd"vrHd#D]D}t||��t||��kr t'd$d%�d$|�d$|�d$d%�d$�	d&�'��d(}�E�V||kr t'd$d%�d$|�d$|�d$d%�d$�	d&�'��d(}�}|r|�d)��dSdS)*Nr)�	Attributer��data)r��kind�defining_classr�r�	�methodr�r�	r�	r�	rOzclass methodr�rr�r@r?r�rAr�	r�	r�	r�	r�r/c��|jSr�r��r�s r5�<lambda>z>TestStdLib.test_inspect_classify_class_attrs.<locals>.<lambda>����T�Y�r7)�keyc��|jSr�r�r�	s r5r�	z>TestStdLib.test_inspect_classify_class_attrs.<locals>.<lambda>�r�	r7c��g|]	}|j��
SrEr��rHr�s  r5rJz@TestStdLib.test_inspect_classify_class_attrs.<locals>.<listcomp>�s��6�6�6�!�q�v�6�6�6r7z != c��g|]	}|j��
SrEr�r�	s  r5rJz@TestStdLib.test_inspect_classify_class_attrs.<locals>.<listcomp>�s��8P�8P�8P�A���8P�8P�8Pr7F)rOr�)r�r�	r�	r�	r�	rr�	Tr�	)r�	r�	r�r	r�r�	r�	r�	r*r�rr?r�	r�	r�	rrPr�rAr=�sortrR�classify_class_attrsr-r�rSr�	)r�r�	r&rer�	r7�rr�s        r5�!test_inspect_classify_class_attrsz,TestStdLib.test_inspect_classify_class_attrs�s]��%�%�%�%�%�%��	�{��#)�(�<�<�<��	�~�H�#+�D�J�4K�M�M�M��	�y�v�#'�:�e�=�=�=��	�}�8�#+�D�J�4J�L�L�L��	�z��#+�D�J�4G�I�I�I��	�2��#)�'�$�*�FY�2Z�2Z�\�\�\��	�y�x�#+�D�J�4F�H�H�H��	�}�:�#+�H�4H�J�J�J��	�|�&�#'�:�h�@�@�@��	�z��#'�:�g�?�?�?��	�~�F�#'�:�6H�J�J�J��	�x�f�#'�:�d�j�6G�I�I�I��	�y�v�#'�:�d�j�6H�J�J�J��	�v�F�#'�:�d�j�o�G�G�G��	�v�F�#'��
�f�0E�G�G�G��	�w�V�#'��
�g�0F�H�H�H�?!��D�	�	�A�
������!�
�
�
��a������
�������.�.��/�/�/��g�2�4�:�>�>�?�?�����.�.��/�/�/�����F���S��[�[�6�6�v�6�6�6�6�6�8P�8P��8P�8P�8P�8P�Q�	�	�	������'�'�	�	�D�A�q��v�9�9�

�=�&�&�D��q�$�'�'�7�1�d�+;�+;�;�&���h�h�h����1�1�1�h�h�h�O�UW�X�X�X�X�!%���&��a��
���h�h�h����1�1�1�h�h�h�G�R�P�P�P�P�����	I��I�I�G�H�H�H�H�H�	I�	Is�G�G/�.G/c��tt��Gd�d����}Gd�dt��}|�t||��du��d|j_|�tdt||��Gd�dtt�	��}|}|�
t|��|j|j
|jg��ttt�	��Gd
�d����}|}|�
t|��|j|j
|jg��t||��dS)Nc�:�eZdZdZdZdZejd���ZdS)�5TestStdLib.test_test_simple_enum.<locals>.SimpleColorr<r%r=c��d|jzS�Nz	zeroed %sr�r�s r5�zerothz<TestStdLib.test_test_simple_enum.<locals>.SimpleColor.zeroth����"�T�Y�.�.r7N�	r?r@rAr�	r�	r�	r�r�r�	rEr7r5�SimpleColorr�	�s>�������D��G��F�
�^�
/�
/��^�
/�
/�
/r7r�	c�:�eZdZdZdZdZejd���ZdS)�6TestStdLib.test_test_simple_enum.<locals>.CheckedColorr<r%r=c��d|jzSr�	r�r�s r5r�	z=TestStdLib.test_test_simple_enum.<locals>.CheckedColor.zeroth�r�	r7Nr�	rEr7r5�CheckedColorr�	�s>�������D��G��F�
�^�
/�
/��^�
/�
/�
/r7r�	r�z
enum mismatchc��eZdZdZdZdZdZdS)�8TestStdLib.test_test_simple_enum.<locals>.CheckedMissingr	����N�r?r@rA�
SIXTY_FOUR�ONE_TWENTY_EIGHT�TWENTY_FORTY_EIGHTrrEr7r5�CheckedMissingr�	s$�������J�"��!%��&�C�C�Cr7r�	r�c��eZdZdZdZdZdZdS)�1TestStdLib.test_test_simple_enum.<locals>.Missingr	r�	r�	r�	Nr�	rEr7r5r	r�	s$�������J�"��!%��&�C�C�Cr7r	)rrr�rr�	r�rErjrrr-rRr�	r�	r�	)r�r�	r�	r�	�CMr	�Ms       r5�test_test_simple_enumz TestStdLib.test_test_simple_enum�s���	�d�	�	�	/�	/�	/�	/�	/�	/�	/�
�	�	/�	/�	/�	/�	/�	/�4�	/�	/�	/�	
���)�,��D�D��L�M�M�M�&'���#�����?�!�<��	�	�	�	'�	'�	'�	'�	'�W�t�	'�	'�	'�	'�
������n�-�-��
�r�?R�TV�Ti�/j�k�k�k�	�g��	-�	-�	-�	'�	'�	'�	'�	'�	'�	'�
.�	-�	'�

������n�-�-���a�>P�RS�Rf�/g�h�h�h��.�'�2�2�2�2�2r7)
r?r@rA�maxDiffrr�r�	r�	r�	r�	rEr7r5r~	r~	vs��������G����������

8�
8�
8� I� I� I�D?I�?I�?I�B'3�'3�'3�'3�'3r7r~	c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�MiscTestCasec�B�tj|tddh���dS)N�binr)	)�not_exported)r �check__all__r+r�s r5�test__all__zMiscTestCase.test__all__s&����T�4�u�>P�6Q�R�R�R�R�R�Rr7c�b�Gd�dt��}|�|jd��dS)Nc��eZdZdZdS)�'MiscTestCase.test_doc_1.<locals>.Singler<NrarEr7r5�Singler�	rcr7r�	�rr-r�)r�r�	s  r5�
test_doc_1zMiscTestCase.test_doc_1sJ��	�	�	�	�	�T�	�	�	�������.�.�.�.�.r7c�b�Gd�dt��}|�|jd��dS)Nc��eZdZdZdZdS)�'MiscTestCase.test_doc_2.<locals>.Doubler<r%Nr�rEr7r5�Doubler�	#r�r7r�	r�	)r�r�	s  r5�
test_doc_2zMiscTestCase.test_doc_2"sL��	�	�	�	�	�T�	�	�	�	
������.�.�.�.�.r7c�b�Gd�dt��}|�|jd��dS)Nc��eZdZdZdZdZdS)�'MiscTestCase.test_doc_1.<locals>.Tripler<r%r=N)r?r@rAr�r��THREErEr7r5�Tripler�	*rr7r�	r�	)r�r�	s  r5r�	zMiscTestCase.test_doc_1)sL��	�	�	�	�	�T�	�	�	�	
������.�.�.�.�.r7c�b�Gd�dt��}|�|jd��dS)Nc��eZdZdZdZdZdZdS)�*MiscTestCase.test_doc_1.<locals>.Quadrupler<r%r=rMN)r?r@rAr�r�r�	rHrEr7r5�	Quadrupler�	1s"�������C��C��E��D�D�Dr7r�	r�	)r�r�	s  r5r�	zMiscTestCase.test_doc_10sM��	�	�	�	�	��	�	�	�
	
����*�D�1�1�1�1�1r7N)r?r@rAr�	r�	r�	rEr7r5r�	r�	sb������S�S�S�/�/�/�
/�/�/�/�/�/�2�2�2�2�2r7r�	r!r�r��r�r<r/��?�@�@c��eZdZdZd�ZdS)�_ModuleWrapperz6We use this class as a namespace for swapping modules.c�D�|j�|j��dSr�)rPr)r�r^s  r5r�z_ModuleWrapper.__init__Xs ���
���V�_�-�-�-�-�-r7N)r?r@rAr�r�rEr7r5r�	r�	Vs)������@�@�.�.�.�.�.r7r�	c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestConvertc��t��}dD]}d|d|z<d|d|z<�dD]
\}}||d|z<�dD]
\}}||d|z<�d	D]
\}}||d
|z<�dS)N)r�r�r�r�r
r�r!zCONVERT_TEST_NAME_%szCONVERT_STRING_TEST_NAME_%s))r�r!)r�r�	)r�r/zUNCOMPARABLE_%s))r�r�	)r�r�	)r�r�	z
COMPLEX_%s))rr�)rr�zCONVERT_STR_TEST_%s)rc)r��g�suffixr/s    r5�tearDownzTestConvert.tearDown\s���
�I�I��4�	:�	:�F�12�A�$�v�-�.�89�A�+�f�4�5�5�F�	2�	2�M�F�E�,1�A��&�(�)�)�>�	-�	-�M�F�E�',�A�l�V�#�$�$�?�	6�	6�M�F�E�05�A�#�f�,�-�-�	6�	6r7c��tj�dtd����}|�|d��jd��dS)N�UnittestConvertc�,�|�d��S�N�
CONVERT_TEST_r	�r�s r5r�	z@TestConvert.test_convert_value_lookup_priority.<locals>.<lambda>o������o�!>�!>�r7��filterr!�CONVERT_TEST_NAME_A)r+r�	_convert_�MODULEr-r��r�r�s  r5�"test_convert_value_lookup_priorityz.TestConvert.test_convert_value_lookup_priorityksV���L�*�*�!��>�>�+�@�@�	�	
�����1���*�,A�B�B�B�B�Br7c�P��tj�dtd�����|��j�j��|��jd��|��jd��|��j	d��|��j
d��tt��gd�z}�fd�t���D��}�fd�t���D��}|�||zgd|�d	|���
��dS)Nr�	c�,�|�d��Sr�	r	r�	s r5r�	z.TestConvert.test_convert_int.<locals>.<lambda>yr�	r7r�	r!)
r
�CONVERT_TEST_NAME_B�CONVERT_TEST_NAME_C�CONVERT_TEST_NAME_D�CONVERT_TEST_NAME_E�CONVERT_TEST_NAME_F�CONVERT_TEST_SIGABRT�CONVERT_TEST_SIGIOT�CONVERT_TEST_EIO�CONVERT_TEST_EBUSc�6��g|]}|t���v�|��SrE�rx�rHr�r�s  �r5rJz0TestConvert.test_convert_int.<locals>.<listcomp>��+���T�T�T�$�D���@S�@S�4S�T��T�T�Tr7c�6��g|]}|t���v�|��SrE�rwr
s  �r5rJz0TestConvert.test_convert_int.<locals>.<listcomp>��)���V�V�V�D�4�s�9�~�~�;U�V�4�V�V�Vr7�
extra names: �;  missing names: ��msg)r+rr
r
r-r
r
r
r
r	
r

rwrZrx)r��int_dir�extrarcr�s    @r5�test_convert_intzTestConvert.test_convert_intusY����L�*�*�!��>�>�+�@�@�	�
	
����6�"�6�	8�	8�	8�����6��:�:�:�����6��:�:�:�����6��:�:�:�����6��:�:�:��c�(�(������U�T�T�T�#�i�.�.�T�T�T��V�V�V�V�H�Y�$7�$7�V�V�V����������=B�U�U�G�G�L�	�	�	�	�	�	r7c��tj�dtd����}|�t|��|j|j|jg��dS)N�Uncomparablec�,�|�d��S)N�
UNCOMPARABLE_r	r�	s r5r�	z7TestConvert.test_convert_uncomparable.<locals>.<lambda>�r�	r7r�	)	r+rr
r
r-rR�UNCOMPARABLE_A�UNCOMPARABLE_B�UNCOMPARABLE_C�r��uncomps  r5�test_convert_uncomparablez%TestConvert.test_convert_uncomparable�sl����$�$���>�>�%�@�@��
	
�����L�L�
�
"�F�$9�6�;P�Q�	�	�	�	�	r7c��tj�dtd����}|�t|��|j|j|jg��dS)Nr
c�,�|�d��S)N�COMPLEX_r	r�	s r5r�	z2TestConvert.test_convert_complex.<locals>.<lambda>�s��Q�\�\�*�5�5�r7r�	)	r+rr
r
r-rR�	COMPLEX_A�	COMPLEX_B�	COMPLEX_Cr%
s  r5�test_convert_complexz TestConvert.test_convert_complex�sj����$�$���5�5�%�7�7��
	
�����L�L�
�
�v�/��1A�B�	�	�	�	�	r7c���tj�dtd�d����|��jd��|��jd��tt��ddgz}�fd	�t���D��}�fd
�t���D��}|�||zgd|�d|���
��|�t�j��dtz��|�t�j��d��|�t�j��d��dS)Nr�	c�,�|�d��S)N�CONVERT_STR_r	r�	s r5r�	z.TestConvert.test_convert_str.<locals>.<lambda>�s�����n�!=�!=�r7T�r�	�	as_globalr�r��CONVERT_STR_TEST_1�CONVERT_STR_TEST_2c�6��g|]}|t���v�|��SrEr
r
s  �r5rJz0TestConvert.test_convert_str.<locals>.<listcomp>�r
r7c�6��g|]}|t���v�|��SrEr
r
s  �r5rJz0TestConvert.test_convert_str.<locals>.<listcomp>�r
r7r
r
r
z%s.CONVERT_STR_TEST_1)
r+rr
r
r-r4
r5
rwr(rxrQr�r.)r��str_dirr
rcr�s    @r5�test_convert_strzTestConvert.test_convert_str�sb����L�*�*�!��=�=��	+� � �	�	
����5�w�?�?�?�����5�y�A�A�A��c�(�(�2�4H�I�I��T�T�T�T�#�i�.�.�T�T�T��V�V�V�V�H�Y�$7�$7�V�V�V����������=B�U�U�G�G�L�	�	�	�	�
	
����i�:�;�;�=T�Wc�=c�d�d�d�����Y�9�:�:�I�F�F�F�����	� <�=�=�w�G�G�G�G�Gr7c��|�t��5tj�dt
d����ddd��dS#1swxYwYdS)Nr�	c�,�|�d��Sr�	r	r�	s r5r�	z0TestConvert.test_convert_raise.<locals>.<lambda>�r�	r7r�	)r@rAr+r�_convertr
r�s r5�test_convert_raisezTestConvert.test_convert_raise�s���
�
�
�~�
.�
.�	@�	@��L�!�!�!��>�>�
"�
@�
@�
@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@s�)A�A�Ac�X�tj�dtd�d���}|�t|j��dtz��|�t|j��d��|�t|j��d��dS)Nr�	c�,�|�d��S)N�CONVERT_STRING_TEST_r	r�	s r5r�	z7TestConvert.test_convert_repr_and_str.<locals>.<lambda>�s�����.D�!E�!E�r7Tr2
z%s.CONVERT_STRING_TEST_NAME_Ar6)
r+rr
r
r-rQ�CONVERT_STRING_TEST_NAME_Ar�r(r.r
s  r5�test_convert_repr_and_strz%TestConvert.test_convert_repr_and_str�s����L�*�*�!��E�E��	+� � �	�
	
����i�B�C�C�Ed�gs�Es�t�t�t�����Y�A�B�B�C�H�H�H�����	� D�E�E�s�K�K�K�K�Kr7N)r?r@rAr�	r
r
r'
r.
r9
r=
rB
rEr7r5r�	r�	[s�������
6�
6�
6�C�C�C����8	�	�	�	�	�	�H�H�H�,@�@�@�L�L�L�L�Lr7r�	c�p�tgd�|jz��}|jtjur|�d��|jtjur|�d��|jturt|��Sttt|j����|z��S)N)
r�r�	r�r�	r�	r�rr@r?rAr�rO)
rv�_member_names_�_new_member_r�r�r5rOr'�sortedrw)r8�interestings  r5rxrx�s�������
� �!���K���v�~�-�#����	�"�"�"�
��F�$<�<�-����+�,�,�,�
��F�"�A��k�"�"�"��c�#�c�/�0�0�1�1�K�?�@�@�@r7c��|jjturtgd���}ntt	|����}|j���D]�}|j���D]}\}}|ddkr�t|tj
��r<|j�	||jvr|�
|���R|�|���h|�
|���~��t|��S)N)r�r�r�r-r@r�r/rr�)r�r'r�rvrwr�rPr^r�r+r�r�rMr5�discardrF
)r�allowedr8r�rrs     r5r|r|�s��
��%��/�#��c�c�c�d�d����c�&�k�k�"�"����#�#�%�%�
"�
"����+�+�-�-�		"�		"�I�D�#��A�w�#�~�
���#�t�}�-�-�
"��8�*�4�v�7J�+J�*��K�K��%�%�%�%��O�O�D�)�)�)�)����D�!�!�!�!�		"��'�?�?�r7�__main__r�)�r<r+r)r�	r,r�	r�r	r?r�builtinsr��collectionsrr�rrrrr	r
rrr
rrrrrrrrrrrrr�ior�picklerrrrr�r �test.supportr!r"�textwrapr#r$�version_inforr6r?r
r�r�r;r�r�rZrHr:rJrLrOrTrVrXr\r_r`rdrors�TestCaserur��global_enumr�r�r�r�r
r-r3rBrJrMrOrRrTrVr]rarerxr�r�r�rRrzrsr�r�r	r;	r|	r�	r�	r~	r�	r	
r
r
r
r

r
�CONVERT_STRING_TEST_NAME_D�CONVERT_STRING_TEST_NAME_C�CONVERT_STRING_TEST_NAME_BrA
�CONVERT_STRING_TEST_NAME_E�CONVERT_STRING_TEST_NAME_Fr5
r4
r"
r$
r#
r-
r+
r,
r�	r�	rxr|r�rc�mainrEr7r5�<module>r[
sw
������������������	�	�	�	�����
�
�
�
���������
�
�
�
�����#�#�#�#�#�#�������N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�B�B�B�B�B�B�B�B�B�B�B�B�B�B�"�"�"�"�"�"�"�"�������@�@�@�@�@�@�@�@�@�@�@�@�������"�"�"�"�"�"�)�)�)�)�)�)��������������!�"�1�"�%�����
���|�|�C� � ��$��������$�����������G�G�G�G�G�G���������������S�$�����������J�J�J�J�J�J���������������u�d�����������L�L�L�L�L�L���������������d�����������K�K�K�K�K�K��������������$���������W����
�����W���������7������t�J� 9�(�K�K�K�H�H�������H�H�H�H�H�H����������
�T�(�9�
:�
:�F�F������
�F�F�F�F�F�F����������
�T�(�2�=R�
S�
S�
S�F�F������
�F�F�F�F�F�F���������	�������������	�	�	��D�	����C�C�C�C�*�*�*�
-X�-X�-X�-X�-X�(�#�-X�-X�-X�d%�%�%�%�%�%�%�%��������'�D�I��������������'�D�L��������������T������`�`�`�`�`�`�`�`�D
$4�$4�$4�$4�$4�$4�$4�$4�N#3�#3�#3�#3�#3�#3�#3�#3�L-#�-#�-#�-#�-#�-#�-#�-#�`7�7�7�7�7�7�7�7������J� 1�8�3D���������J� 1�8�3D���������*�1�8�3D���������*�1�8�3D���������*�1�8�3D����%�%�%�%�%�:�0�(�2C�%�%�%�%�%�%�%�%�:�0�(�2C�%�%�%�%�%�%�%�%�z�#4�h�6G�%�%�%�!�!�!�!�!�J� 1�8�3D�!�!�!�!�!�!�!�!�j�"5�x�7H�!�!�!�!�!�!�!�!�Z�!2�H�4E�!�!�!�!�!�!�!�!�z�#6��8I�!�!�!�V2�V2�V2�V2�V2�(�#�V2�V2�V2�r:<�<�<�<�<��!�<�<�<�~]B�]B�]B�]B�]B�(�#�]B�]B�]B�@zO�zO�zO�zO�zO�X�&�zO�zO�zO�z(�(�(�(�(�(�"3�(�(�(�"-�-�-�-�-��"�-�-�-�^{�{�{�{�{��"�{�{�{�zZP�ZP�ZP�ZP�ZP�H�%�ZP�ZP�ZP�x	�	�	�	�	�h�/�	�	�	�6"8��p%�!�>_3�_3�_3�_3�_3��"�_3�_3�_3�D2�2�2�2�2�8�$�2�2�2�F�����������������������������������	��	��	�.�.�.�.�.�.�.�.�
qL�qL�qL�qL�qL�(�#�qL�qL�qL�lA�A�A�$���$�&�(�(���z����H�M�O�O�O�O�O��s��C"�"C3�'C.�.C3�7D�D�D�D�D,�,D=�1D8�8D=�E�E!�E�E!�F,�,F=�1F8�8F=�G�G�G�G�#G2�2H�7G>�>H�H�H�H