Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_enum.cpython-310.pyc
o

�9j���
@s�ddlZddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZddlmZddlmZmZmZmZddlmZmZmZddlmZejdd�Zz
Gd	d
�d
e�ZWneywZ ze ZWYdZ [ ndZ [ wwzGdd�de!e�Z"Wney�Z ze Z"WYdZ [ ndZ [ wwzGd
d�de#e�Z$Wney�Z ze Z$WYdZ [ ndZ [ wwz
Gdd�de�Z%Wney�Z ze Z%WYdZ [ ndZ [ wwzGdd�de&e�Z'Gdd�de'�Z(Wney�Z ze Z(WYdZ [ ndZ [ wwz	edde)d�Z*Wne�yZ ze Z*WYdZ [ ndZ [ wwzedd�Z+Wne�y:Z ze Z+WYdZ [ ndZ [ wwz	edddd�Z,Wne�yYZ ze Z,WYdZ [ ndZ [ wwz
Gdd�de�Z-Wn
e�ynYnwd?d d!�Z.d"d#�Z/Gd$d%�d%ej0�Z1Gd&d'�d'�Z2Gd(d)�d)ej0�Z3Gd*d+�d+ej0�Z4Gd,d-�d-ej0�Z5Gd.d/�d/ej0�Z6Gd0d1�d1ej0�Z7Gd2d3�d3ej0�Z8d4Z9d5Z:Gd6d7�d7ej0�Z;Gd8d9�d9ej0�Z<d:Z=d:Z>d:Z?d:Z@d:ZAd:ZBGd;d<�d<ej0�ZCGd=d%�d%ej0�Z1e)d>k�r�e�D�dSdS)@�N)�OrderedDict)�Enum�IntEnum�EnumMeta�Flag�IntFlag�unique�auto)�StringIO)�dumps�loads�
PicklingError�HIGHEST_PROTOCOL)�	ALWAYS_EQ�check__all__�threading_helper)�	timedelta�c@�eZdZdZdZdZdS)�Stooges�r�N��__name__�
__module__�__qualname__�LARRY�CURLY�MOE�rr�%/usr/lib/python3.10/test/test_enum.pyr�rc@r)�
IntStoogesrrrNrrrrr r"r!r"c@r)�FloatStoogesg=
ףp=�?g�(\��@g�R$_	$	@Nrrrrr r#"r!r#c@r)�FlagStoogesrrrNrrrrr r$*r!r$c@�eZdZdZdS)�StrEnumzaccepts only string valuesN)rrr�__doc__rrrr r&3�r&c@�eZdZdZdZdS)�Name�Guido van RossumzBarry WarsawN)rrr�BDFL�FLUFLrrrr r*5�r*�Questionzwho what when where why��module�Answerzhim this then there because�Theoryzrule law supposition�spanish_inquisition)�qualnamec@r)�FruitrrrN)rrr�TOMATO�BANANA�CHERRYrrrr r6Lr!r6cCs8|dur|}ttd�D]
}|tt||d��|�qdS�Nr)�protocol)�rangerrr)�	assertion�source�targetr;rrr �test_pickle_dump_loadSs
�r@c	CsJttd�D]}||��t||d�Wd�n1swYqdSr:)r<rr)r=�	exception�objr;rrr �test_pickle_exceptionYs
���rCc@�$eZdZdd�Zdd�Zdd�ZdS)�TestHelperscCsNGdd�d�}dD]}|�}|�t�|��t||d�|�t�|��q	dS)Nc@�eZdZdS)z+TestHelpers.test_is_descriptor.<locals>.fooN�rrrrrrr �foob�rH)�__get__�__set__�
__delete__r)�assertFalse�enum�_is_descriptor�setattr�
assertTrue)�selfrH�attrrBrrr �test_is_descriptoras�zTestHelpers.test_is_descriptorcC�8dD]
}|�t�|��qdD]
}|�t�|��qdS)N)�_a_�_aa_)
�a�a_�_a�__a�a__�__a__�_a__�__a_�_�__�___�____�_____)rQrN�
_is_sunderrM�rR�srrr �test_is_sunderjs
�zTestHelpers.test_is_sundercCrU)N)r]�__aa__)
rXrYrZr[r\rVr^r_r`rarbrcrd)rQrN�
_is_dunderrMrfrrr �test_is_dunderrs
�zTestHelpers.test_is_dunderN)rrrrTrhrkrrrr rE^s	rEc@seZdZddd�Zdd�ZdS)�
classpropertyNcCs2||_||_||_|dur|dur|j}||_dS�N)�fget�fset�fdelr')rRrnrorp�docrrr �__init__}s
zclassproperty.__init__cCs
|�|�Srm)rn)rR�instance�
ownerclassrrr rJ��
zclassproperty.__get__)NNNN)rrrrrrJrrrr rl{s
rlc@s2eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Ze�ed#kd$�d%d&��Ze�ed#kd'�d(d)��Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Z d:d;�Z!d<d=�Z"d>d?�Z#d@dA�Z$dBdC�Z%dDdE�Z&dFdG�Z'dHdI�Z(dJdK�Z)dLdM�Z*dNdO�Z+dPdQ�Z,dRdS�Z-dTdU�Z.dVdW�Z/dXdY�Z0dZd[�Z1d\d]�Z2d^d_�Z3d`da�Z4dbdc�Z5ddde�Z6dfdg�Z7dhdi�Z8djdk�Z9dldm�Z:dndo�Z;dpdq�Z<drds�Z=dtdu�Z>dvdw�Z?dxdy�Z@dzd{�ZAd|d}�ZBd~d�ZCd�d��ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d��Z`d�d��Zad�d��Zbd�d��Zcd�d��Zdd�dÄZed�dńZfd�dDŽZgd�dɄZhd�d˄Zid�d̈́Zjd�dτZkd�dфZld�dӄZmd�dՄZnd�dׄZod�dلZpd�dۄZqd�d݄Zrd�d߄Zsd�d�Ztd�d�Zud�d�Zvd�d�Zwd�d�Zxd�d�Zyd�d�Zzd�d�Z{d�d�Z|d�d�Z}d�d��Z~d�d��Zd�d��Z�d�d��Z�d�d��Z�e��ed�kd���d�d��Z��dS(�TestEnumcCs�Gdd�dt�}||_Gdd�dtt�}||_Gdd�dt�}||_Gdd�dtt�}||_d	d
lm	}Gdd�d|t�}||_
dS)
Nc@�eZdZdZdZdZdZdS)zTestEnum.setUp.<locals>.Seasonrrr�N)rrr�SPRING�SUMMER�AUTUMN�WINTERrrrr �Season��
r}c@seZdZdZdZdeZdS)z!TestEnum.setUp.<locals>.KonstantsgB�
�@�J�M�!	@rN)rrr�E�PI�TAUrrrr �	Konstants��r�c@� eZdZdZdZdZdZdZdS)zTestEnum.setUp.<locals>.Grades�rxrrrN�rrr�A�B�C�D�Frrrr �Grades��r�c@rw)z#TestEnum.setUp.<locals>.Directional�east�west�north�southN)rrr�EAST�WEST�NORTH�SOUTHrrrr �Directional�r~r�r)�datec@r))zTestEnum.setUp.<locals>.Holiday)��rr)r�r�N)rrr�NEW_YEAR�
IDES_OF_MARCHrrrr �Holiday�r.r�)rr}�floatr�rr��strr��datetimer�r�)rRr}r�r�r�r�r�rrr �setUp�s
zTestEnum.setUpcCs&|j}|�tt|��tgd���dS)N)�	__class__r'�__members__rryrzr{r|)r}�assertEqual�set�dir�rRr}rrr �test_dir_on_class�s


�zTestEnum.test_dir_on_classcCs(|j}|�tt|j��tgd���dS)N)r�r'r�name�value)r}r�r�r�r|r�rrr �test_dir_on_item�s

�zTestEnum.test_dir_on_itemcCsNGdd�dt�}|�tt|��tgd���|�tt|j��tgd���dS)Nc@�eZdZdZdZdd�ZdS)z3TestEnum.test_dir_with_added_behavior.<locals>.Test�that�thosecS�
d|jS)NzWowser! I'm %s!�r��rRrrr �wowser�ruz:TestEnum.test_dir_with_added_behavior.<locals>.Test.wowserN)rrr�this�theser�rrrr �Test�r�r�)r�r'r�rr�r�)r�r'rr�r�r�)rr�r�r�r�)rRr�rrr �test_dir_with_added_behavior�s

�
�z%TestEnum.test_dir_with_added_behaviorcCsBGdd�dt�}Gdd�d|�}|�tt|j��tgd���dS)Nc@�eZdZdd�ZdS)zBTestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnumcS�dS)Nzdid you see me?rr�rrr �	invisible��zLTestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnum.invisibleN)rrrr�rrrr �	SuperEnum��r�c@r%)z@TestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SubEnumr�N�rrr�samplerrrr �SubEnum�r(r�)r�r'rr�r�r�)rr�r�r�r��rRr�r�rrr �&test_dir_on_sub_with_behavior_on_super�s
�z/TestEnum.test_dir_on_sub_with_behavior_on_supercCs>Gdd�dt�}Gdd�d|�}|�dhtt|j��k�dS)Nc@seZdZddd�ZdS)zZTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SuperEnum�cS�t�||�}||_||_|Srm)�int�__new__�_value_�description)�clsr�r�rBrrr r���zbTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SuperEnum.__new__N)r��rrrr�rrrr r���r�c@r%)zXTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SubEnumr�Nr�rrrr r��r(r�r�)rrQr�r�r�r�rrr �>test_dir_on_sub_with_behavior_including_instance_dict_on_super�szGTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_supercCs|j}|�||j�|j�dSrm)r}�assertIsr|r�rrr �test_enum_in_enum_out�szTestEnum.test_enum_in_enum_outcCs|j}|�|jjd�dS�Nr)r}r�ryr�r�rrr �test_enum_value��zTestEnum.test_enum_valuecCs|�tjjd�dS)Nr)r�r"rr�r�rrr �test_intenum_value��zTestEnum.test_intenum_valuecCs|j}t|�}|�t|�t|��|�t|�d|�|�|j|j|j|jg|�td�	�d�D]O\}}||�}|�|t
||��|�|j|�|�||�|�|j
|�|�||�|�t|�|�|�||�|�t|�d|�|�t|�d�||��q/dS)NrxzSPRING SUMMER AUTUMN WINTERrzSeason.z<Season.{0}: {1}>)r}�listr��lenryrzr{r|�	enumerate�split�getattrr��assertNotEqualr��assertInr��type�assertIsInstancer��repr�format)rRr}�lst�i�season�errr �	test_enum�s,�
��zTestEnum.test_enumcCs�|j}|�|jjd�|�|jjd�|�t��d|j_Wd�n1s'wY|�t��
d|j_Wd�dS1sAwYdS)Nryr�inviernor)r}r�ryr�r��assertRaises�AttributeErrorr�rrr �test_value_names
�
"�zTestEnum.test_value_namecCs<|j}|�t��d|_Wd�dS1swYdS)Nzreally cold)r}r�r�r|r�rrr �test_changing_members"�zTestEnum.test_changing_membercCs�Gdd�dt�}|�t|d��|`|�t|d��|�t��
|`Wd�n1s,wY|�t��
|`Wd�n1sCwY|�t��|j`	Wd�dS1s\wYdS)Nc@s$eZdZdZdZdZdZdd�ZdS)z0TestEnum.test_attribute_deletion.<locals>.SeasonrrrrxcS�dSrmr)r�rrr �spamr�z5TestEnum.test_attribute_deletion.<locals>.Season.spamN)rrrryrzr{r|r�rrrr r}sr}r�)
rrQ�hasattrr�rMr�r�ry�DRYr�r�rrr �test_attribute_deletions	��"�z TestEnum.test_attribute_deletioncCs"Gdd�dt�}|�t|��dS)Nc@rF)z*TestEnum.test_bool_of_class.<locals>.EmptyNrGrrrr �Empty,rIr��rrQ�bool)rRr�rrr �test_bool_of_class+szTestEnum.test_bool_of_classcCs,Gdd�dt�}|D]	}|�t|��q
dS)Nc@r)z+TestEnum.test_bool_of_member.<locals>.CountrrrN)rrr�zero�one�tworrrr �Count1r!r�r�)rRr��memberrrr �test_bool_of_member0s�zTestEnum.test_bool_of_membercCs(|�t��Gdd�dt�}Wd�n1swY|�t��Gdd�dt�}Wd�n1s5wY|�t��Gdd�dt�}Wd�n1sRwY|�t��Gdd�dt�}Wd�n1sowY|�t��Gdd�dt�}Wd�dS1s�wYdS)Nc@r%��*TestEnum.test_invalid_names.<locals>.Wrong�	N)rrr�mrorrrr �Wrong:r(r�c@r%)r��N)rrr�_create_rrrr r�=r(c@r%r�)rrr�_get_mixins_rrrr r�@r(c@r%)r�rN)rrr�
_find_new_rrrr r�Cr(c@r%r�)rrr�
_any_name_rrrr r�Fr(�r��
ValueErrorr�rRr�rrr �test_invalid_names8s����"�zTestEnum.test_invalid_namescCs~Gdd�dt�}|�|j�|�|j�Gdd�dt�}|�|j�|�|j�Gdd�dtt�}|�|j�|�|j�dS)Nc@r))z!TestEnum.test_bool.<locals>.LogicTFN�rrr�true�falserrrr �LogicKr.r	c@r�)z%TestEnum.test_bool.<locals>.RealLogicTFcS�
t|j�Srm)r�r�r�rrr �__bool__Truz.TestEnum.test_bool.<locals>.RealLogic.__bool__N)rrrrrrrrrr �	RealLogicQr�rc@r))z$TestEnum.test_bool.<locals>.IntLogicrrNrrrrr �IntLogicYr.r
)rrQrrrMr�)rRr	rr
rrr �	test_boolIszTestEnum.test_bool�r��2__contains__ now returns True/False for all inputsc	Cs|j}|�|j|�|�t��!|�t��d|vWd�n1s$wYWd�n1s3wY|�t��!|�t��d|vWd�n1sRwYWd�n1sawY|d�}|�||�Gdd�dt�}|�|j	|�dS)Nrr{c@r))z,TestEnum.test_contains_er.<locals>.OtherEnumrrN�rrrr�r�rrrr �	OtherEnumor�r)
r}r�r{r��	TypeError�assertWarns�DeprecationWarningr�assertNotInr��rRr}�valrrrr �test_contains_er_s$
���
���zTestEnum.test_contains_er�6__contains__ only works with enum memmbers before 3.12cCsf|j}|�|j|�|�d|v�|�d|v�|d�}|�||�Gdd�dt�}|�|j|�dS)Nrr{c@r))z,TestEnum.test_contains_tf.<locals>.OtherEnumrrNrrrrr rr�r)r}r�r{rQrMrrr�rrrr �test_contains_tfsszTestEnum.test_contains_tfcCs�|j}|�t��|j|jkWd�n1swY|�t��
|jdkWd�n1s3wY|�|jd�Gdd�dt�}|�|j|j�|�t��|j|jkWd�dS1sfwYdS)Nrxrc@r)z'TestEnum.test_comparisons.<locals>.PartrrrN)rrrry�CLIP�BARRELrrrr �Part�r!r)r}r�rryr|r�rr)rRr}rrrr �test_comparisons�s��"�zTestEnum.test_comparisonscCs�Gdd�dt�}t|�}|�||j|j|j|jg�|�|j|j�|�|jj	d�|�|jj	d�|�|d�|j�|�|d�|j�|�|jj
d�|�dd�|j��D�dd	g�dS)
Nc@s$eZdZdZdZdZZdZdZdS)z-TestEnum.test_enum_duplicates.<locals>.SeasonrrrrxN)	rrrryrzr{�FALLr|�ANOTHER_SPRINGrrrr r}�sr}rrr{cS�g|]\}}|j|kr|�qSrr���.0�k�vrrr �
<listcomp>�sz1TestEnum.test_enum_duplicates.<locals>.<listcomp>r!r")
rr�r�ryrzr{r|r�r!r�r�r��items)rRr}r�rrr �test_enum_duplicates�s$���zTestEnum.test_enum_duplicatescCs�|�t��Gdd�dt�}Wd�n1swY|�t��Gdd�dt�}Wd�n1s5wY|�t��Gdd�dt�}Wd�dS1sSwYdS)Nc@seZdZdZdZdZdZdS)�+TestEnum.test_duplicate_name.<locals>.ColorrrrrxN�rrr�red�green�bluerrrr �Color�r~r0c@s eZdZdZdZdZdd�ZdS)r+rrrcSr�)Nr-rr�rrr r-�r��/TestEnum.test_duplicate_name.<locals>.Color.redNr,rrrr r0��
c@s$eZdZedd��ZdZdZdZdS)r+cSr�)N�redderrr�rrr r-��r1rrrN)rrr�propertyr-r.r/rrrr r0�s
�r�rr�rRr0rrr �test_duplicate_name�s��"�zTestEnum.test_duplicate_namecCs^Gdd�dt�}|�t|�|j|jg�|�t|j�|�|�|jjd�|�|jjd�dS)Nc@r))z/TestEnum.test_enum_with_value_name.<locals>.HuhrrN)rrrr�r�rrrr �Huh�r.r9r�r)rr�r�r�r�r�r�)rRr9rrr �test_enum_with_value_name�s
�z"TestEnum.test_enum_with_value_namecCs�|j}|�d�|j�d�t|j���|�d�|j�d�t|j���|�d�|j�d�t|j���|�d�|j�d�t|j���|�d�|j�d�t|j���|�d�|j�d�t|j���dS�N�{}�{:}�{:20}�{:^20}�{:>20}�{:<20})r}r�r�ryr�r�rrr �test_format_enum�s&������zTestEnum.test_format_enumcCs:Gdd�dt�}|�t|j�d�|�d�|j�d�dS)Nc@s eZdZe�Ze�Zdd�ZdS)z=TestEnum.test_str_override_enum.<locals>.EnumWithStrOverridescSr��N�Str!rr�rrr �__str__�r�zETestEnum.test_str_override_enum.<locals>.EnumWithStrOverrides.__str__N)rrrr	r�r�rErrrr �EnumWithStrOverrides�srFrDr<�rr�r�r�r�)rRrFrrr �test_str_override_enum�szTestEnum.test_str_override_enumcC�:Gdd�dt�}|�t|j�d�|�d�|j�d�dS)Nc@r�)zBTestEnum.test_format_override_enum.<locals>.EnumWithFormatOverride��?�@cSr�)N�Format!!r�rR�specrrr �
__format__�r�zMTestEnum.test_format_override_enum.<locals>.EnumWithFormatOverride.__format__N�rrrr�r�rOrrrr �EnumWithFormatOverride�r�rQzEnumWithFormatOverride.oner<rLrG)rRrQrrr �test_format_override_enum�sz"TestEnum.test_format_override_enumcCrI)Nc@s(eZdZe�Ze�Zdd�Zdd�ZdS)zNTestEnum.test_str_and_format_override_enum.<locals>.EnumWithStrFormatOverridescSr�rCrr�rrr rE�r�zVTestEnum.test_str_and_format_override_enum.<locals>.EnumWithStrFormatOverrides.__str__cSr��N�Format!rrMrrr rO�r�zYTestEnum.test_str_and_format_override_enum.<locals>.EnumWithStrFormatOverrides.__format__N)rrrr	r�r�rErOrrrr �EnumWithStrFormatOverrides�s
rUrDr<rTrG)rRrUrrr �!test_str_and_format_override_enum�sz*TestEnum.test_str_and_format_override_enumcCs<Gdd�dtt�}|�t|j�d�|�d�|j�d�dS)Nc@r�)zBTestEnum.test_str_override_mixin.<locals>.MixinEnumWithStrOverriderJrKcSr�)N�Overridden!rr�rrr rEr�zJTestEnum.test_str_override_mixin.<locals>.MixinEnumWithStrOverride.__str__N)rrrr�r�rErrrr �MixinEnumWithStrOverrider�rXrWr<�r�rr�r�r�r�)rRrXrrr �test_str_override_mixin�z TestEnum.test_str_override_mixincC�<Gdd�dtt�}|�t|j�d�|�d�|j�d�dS)Nc@s$eZdZdZdZdd�Zdd�ZdS)zPTestEnum.test_str_and_format_override_mixin.<locals>.MixinWithStrFormatOverridesrJrKcSr�rCrr�rrr rE
r�zXTestEnum.test_str_and_format_override_mixin.<locals>.MixinWithStrFormatOverrides.__str__cSr�rSrrMrrr rOr�z[TestEnum.test_str_and_format_override_mixin.<locals>.MixinWithStrFormatOverrides.__format__N)rrrr�r�rErOrrrr �MixinWithStrFormatOverrides
s
r]rDr<rTrY)rRr]rrr �"test_str_and_format_override_mixin	sz+TestEnum.test_str_and_format_override_mixincCr\)Nc@r�)z6TestEnum.test_format_override_mixin.<locals>.TestFloatrJrKcSr�)N�TestFloat success!rrMrrr rOr�zATestEnum.test_format_override_mixin.<locals>.TestFloat.__format__NrPrrrr �	TestFloatr�r`z
TestFloat.oner<r_rY)rRr`rrr �test_format_override_mixinr[z#TestEnum.test_format_override_mixincCs|�|�|�|�|j��dSrm)r�r�r�)rRrNr�rrr �assertFormatIsValueszTestEnum.assertFormatIsValuecCsz|j}|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�dS)	Nr<r=r>r?r@rAz{:%Y %m}z{:%Y %m %M:00})r�rbr�)rRr�rrr �test_format_enum_date szTestEnum.test_format_enum_datecC�|j}|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d	|j�dS)
Nr<r=r>r?r@rAz{:n}z{:5.2}z{:f})r�rbr�)rRr�rrr �test_format_enum_float+�zTestEnum.test_format_enum_floatcCrd)
Nr<r=r>r?r@rAz{:+}z{:08X}z{:b})r�rbr�)rRr�rrr �test_format_enum_int7rfzTestEnum.test_format_enum_intcCs^|j}|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�dSr;)r�rbr�)rRr�rrr �test_format_enum_strCszTestEnum.test_format_enum_strcC�&Gdd�dt�}|�t|j�d�dS)Nc@s$eZdZd\ZZZdd�ZejZdS)z1TestEnum.test_object_str_override.<locals>.Colors�rrrcSsd|jfS)Nztest.%s)�_name_r�rrr �__repr__O�z:TestEnum.test_object_str_override.<locals>.Colors.__repr__N)	rrr�RED�GREEN�BLUErl�objectrErrrr �ColorsMs

rrztest.RED)rr�r�rn)rRrrrrr �test_object_str_overrideLsz!TestEnum.test_object_str_overridecCs�Gdd�dt�}Gdd�dt�}Gdd�d|t|�}|�|jtu�|�t|j�d�|�t|jd�d�Gd	d
�d
||�}|�t|j�d�|�t|jd�d�dS)Nc@r�)z2TestEnum.test_enum_str_override.<locals>.MyStrEnumcSr�)N�MyStrrr�rrr rEVr�z:TestEnum.test_enum_str_override.<locals>.MyStrEnum.__str__N�rrrrErrrr �	MyStrEnumUr�rvc@r�)z5TestEnum.test_enum_str_override.<locals>.MyMethodEnumcSr�)NzHello!  My name is %sr�r�rrr �helloYruz;TestEnum.test_enum_str_override.<locals>.MyMethodEnum.helloN�rrrrwrrrr �MyMethodEnumXr�ryc@r))z2TestEnum.test_enum_str_override.<locals>.Test1EnumrrN�rrr�One�Tworrrr �	Test1Enum[r.r}rtr�c@r))z2TestEnum.test_enum_str_override.<locals>.Test2EnumrrNrzrrrr �	Test2Enumbr.r~)rr�rQ�
_member_type_r�r�r{r�)rRrvryr}r~rrr �test_enum_str_overrideTszTestEnum.test_enum_str_overridecCs<Gdd�dt�}Gdd�d|tj�}|�t|j�d�|t�d<|t�d<t|j|j�t|j|�Gdd�d|�}Gdd	�d	|tj�}|�|j	|�|t�d<|t�d	<t|j|j
�t|j|�Gd
d�dt�}Gdd
�d
|t�}|�|j	|�|�|d�|j�|t�d<|t�d
<t|j
t|j�t|j
t|�dS)Nc@�eZdZdZdd�ZdS)z1TestEnum.test_inherited_data_type.<locals>.HexInt�HexIntcS�t|�Srm��hexr�rrr rlk�z:TestEnum.test_inherited_data_type.<locals>.HexInt.__repr__N�rrrrlrrrr r�i�r�c@�eZdZdZdZdZdZdS)z1TestEnum.test_inherited_data_type.<locals>.MyEnum�MyEnumrrrN)rrrr�r�r�rrrr r�mr~r�z<MyEnum.A: 0x1>c@seZdZdZdS)z3TestEnum.test_inherited_data_type.<locals>.SillyInt�SillyIntNrGrrrr r�xsr�c@r�)z6TestEnum.test_inherited_data_type.<locals>.MyOtherEnum�MyOtherEnumrxr��N)rrrr�r�r�rrrr r�{r~r�c@r�)z4TestEnum.test_inherited_data_type.<locals>.BrokenInt�	BrokenIntcSst�||�Srm)r�r��r�r�rrr r��rmz<TestEnum.test_inherited_data_type.<locals>.BrokenInt.__new__Nr�rrrr r��r�r�c@r�)z7TestEnum.test_inherited_data_type.<locals>.MyBrokenEnum�MyBrokenEnum��r�N)rrr�G�H�Irrrr r��r~r�r�)r�rNrr�r�r��globalsr@r�rr�r�rCr�rr
)rRr�r�r�r�r�r�rrr �test_inherited_data_typehs,





z!TestEnum.test_inherited_data_typecCs�|�td��Gdd�dttt�}Wd�n1swYGdd�dt�}Gdd�dt�}|�td��Gdd�d||t�}Wd�dS1sLwYdS)	Nztoo many data typesc@r%�z.TestEnum.test_too_many_data_types.<locals>.HuhrN�rrrr{rrrr r9�r(r9c@r�)z0TestEnum.test_too_many_data_types.<locals>.MyStrcSsd|S)Nz	hello, %srr�rrr rw�r�z6TestEnum.test_too_many_data_types.<locals>.MyStr.helloNrxrrrr rt�r�rtc@r�)z0TestEnum.test_too_many_data_types.<locals>.MyIntcSr�rmr�r�rrr r��r�z5TestEnum.test_too_many_data_types.<locals>.MyInt.reprN)rrrr�rrrr �MyInt�r�r�c@r%r�r�rrrr r9�r()�assertRaisesRegexrr�r�r)rRr9rtr�rrr �test_too_many_data_types�s�"�z!TestEnum.test_too_many_data_typescCsH|j}i}d||j<d||j<d||j<d||j<|�||jd�dS)N�1225�0315�0704�1031)r}r|ryrzr{r�)rRr}�datesrrr �	test_hash�s



zTestEnum.test_hashcC�(Gdd�dtt�}|�|j|jk�dS)Nc@�eZdZdZdeZdS)z/TestEnum.test_intenum_from_scratch.<locals>.phyrrN�rrr�pi�taurrrr �phy�r�r��r�rrQr�r��rRr�rrr �test_intenum_from_scratch��z"TestEnum.test_intenum_from_scratchcC�8Gdd�dtt�}Gdd�d|�}|�|j|jk�dS)Nc@rF)z0TestEnum.test_intenum_inherited.<locals>.IntEnumNrGrrrr r�rIrc@r�)z,TestEnum.test_intenum_inherited.<locals>.phyrrNr�rrrr r��r�r�r�)rRrr�rrr �test_intenum_inherited��zTestEnum.test_intenum_inheritedcCr�)Nc@r�)z1TestEnum.test_floatenum_from_scratch.<locals>.phyrrNr�rrrr r��r�r��r�rrQr�r�r�rrr �test_floatenum_from_scratch�r�z$TestEnum.test_floatenum_from_scratchcCr�)Nc@rF)z4TestEnum.test_floatenum_inherited.<locals>.FloatEnumNrGrrrr �	FloatEnum�rIr�c@r�)z.TestEnum.test_floatenum_inherited.<locals>.phyrrNr�rrrr r��r�r�r�)rRr�r�rrr �test_floatenum_inherited�r�z!TestEnum.test_floatenum_inheritedcCr�)Nc@r))z/TestEnum.test_strenum_from_scratch.<locals>.phy�Pi�TauNr�rrrr r��r.r��r�rrQr�r�r�rrr �test_strenum_from_scratch�r�z"TestEnum.test_strenum_from_scratchcCr�)Nc@rF)z0TestEnum.test_strenum_inherited.<locals>.StrEnumNrGrrrr r&�rIr&c@r))z,TestEnum.test_strenum_inherited.<locals>.phyr�r�Nr�rrrr r��r.r�r�)rRr&r�rrr �test_strenum_inherited�r�zTestEnum.test_strenum_inheritedcCs0Gdd�dt�}|�gd�|jd�|�dd�t|j�D�gd��t|�}|�t|�t|��|�t|�d�d	}|��}t|d
�D]Q\}}||�}|�||�|�t	|�|�|�|j
|�|�||�|�|�|�d
|�|�
d|ko}dkn�|�t|�|�|�|t	�|�|t�qDdS)
Nc@s(eZdZdZdZdZdZdZdZdZ	dS)	z&TestEnum.test_intenum.<locals>.WeekDayrrrrxr�r�r�N)
rrr�SUNDAY�MONDAY�TUESDAY�	WEDNESDAY�THURSDAY�FRIDAY�SATURDAYrrrr �WeekDay�sr�)rX�b�cr�cSsg|]}|�qSrr)r%r�rrr r(�sz)TestEnum.test_intenum.<locals>.<listcomp>)rrrr�z8SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAYrrr�)rr�r�r<r�r�r�r�r�r�r�r��indexrQr�r�r�r)rRr�r�r?r��weekdayr�rrr �test_intenum�s(	 �zTestEnum.test_intenumcCsTGdd�dt�}|�|j|j�|�|d�jd�|�dd�|j��D�dg�dS)Nc@s,eZdZdZdZdZZdZdZdZ	dZ
dS)	z1TestEnum.test_intenum_duplicates.<locals>.WeekDayrrrrxr�r�r�N)rrrr�r�r��TEUSDAYr�r�r�r�rrrr r��sr�rr�cSr#rr�r$rrr r(s
�z4TestEnum.test_intenum_duplicates.<locals>.<listcomp>r�)rr�r�r�r�r�r�r))rRr�rrr �test_intenum_duplicates�s�z TestEnum.test_intenum_duplicatescCsR|�t�dd�tj�|�t��t�dd�Wd�dS1s"wYdS)Ns�bigs)r�r"�
from_bytesrr�rr�rrr �test_intenum_from_bytess"�z TestEnum.test_intenum_from_bytescCsnt�tjj�}|�t�|�tj�t�tjjd�}|�t��t�|�Wd�dS1s0wYdS)Ng{�G�z�?)	r�r�r#rr�r��fromhexr�r)rR�hrrr �test_floatenum_fromhex
s"�zTestEnum.test_floatenum_fromhexcC�,ttt�rt�t|jtj�t|jt�dSrm)�
isinstancer�	Exceptionr@r�rr�rrr �test_pickle_enum�
zTestEnum.test_pickle_enumcCr�rm)r�r"r�r@r�rr�rrr �test_pickle_intr�zTestEnum.test_pickle_intcCr�rm)r�r#r�r@r�rr�rrr �test_pickle_floatr�zTestEnum.test_pickle_floatcCr�rm)r�r2r�r@r��himr�rrr �test_pickle_enum_function#r�z"TestEnum.test_pickle_enum_functioncCr�rm)r�r/r�r@r��whor�rrr �%test_pickle_enum_function_with_module)r�z.TestEnum.test_pickle_enum_function_with_modulecCs ttt�rt�|�tjd�dS)Nr4)r�r3r�r�rr�rrr � test_enum_function_with_qualname/s
z)TestEnum.test_enum_function_with_qualnamecCs<Gdd�dt�}||j_d|jj|j_t|j|jj�dS)Nc@r))zLTestEnum.test_class_nested_enum_and_pickle_protocol_four.<locals>.NestedEnum�common�rareN)rrr�twigs�shinyrrrr �
NestedEnum6r.r�z
%s.NestedEnum)rr�r�rrr@r�r�)rRr�rrr �/test_class_nested_enum_and_pickle_protocol_four4sz8TestEnum.test_class_nested_enum_and_pickle_protocol_fourcCs>Gdd�dt�}tj|_tt�D]}|�|j�|�d�qdS)Nc@r))z6TestEnum.test_pickle_by_name.<locals>.ReplaceGlobalIntrrN)rrr�ONE�TWOrrrr �ReplaceGlobalInt?r.r�r�)rrN�_reduce_ex_by_name�
__reduce_ex__r<rr�r�)rRr��protorrr �test_pickle_by_name>s
�zTestEnum.test_pickle_by_namecCsDtddtd�}|t�d<t�|�t|jt|j�t|jt	|�dS)N�	BadPicklezdill sweet bread-n-butterr0)
rrr�rN�_make_class_unpicklablerCr�r�dillr
)rRr�rrr �test_exploding_pickleFs�

zTestEnum.test_exploding_picklecCs$Gdd�dtt�}|�|jd�dS)Nc@r)z-TestEnum.test_string_enum.<locals>.SkillLevelz'what is the sound of one hand clapping?z#why did the chicken cross the road?�
knock, knock!N)rrr�master�
journeyman�
apprenticerrrr �
SkillLevelPr!r�r�)r�rr�r�)rRr�rrr �test_string_enumOszTestEnum.test_string_enumcCsLGdd�dt�}|�|d�|j�|�t|d�|j�|�|d|j�dS)Nc@rw)z-TestEnum.test_getattr_getitem.<locals>.PeriodrrrrxN)rrr�morning�noon�evening�nightrrrr �PeriodWr~r�rr�r�)rr�r�r�r�r��rRr�rrr �test_getattr_getitemVszTestEnum.test_getattr_getitemcCs|j}|�t|d��dS)N�__eq__)r}rQr�r�rrr �test_getattr_dunder`r�zTestEnum.test_getattr_dundercCs4Gdd�dt�}|�t|�|j|j|j|jg�dS)Nc@rw)z-TestEnum.test_iteration_order.<locals>.SeasonrrxrrN)rrrrzr|r{ryrrrr r}er~r})rr�r�rzr|r{ryr�rrr �test_iteration_orderds
�zTestEnum.test_iteration_ordercCs2|�tt|j��|jj|jj|jj|jjg�dSrm)r�r��reversedr}r|r{rzryr�rrr �test_reversed_iteration_orderos��z&TestEnum.test_reversed_iteration_ordercCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D],\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�q/dS�N�SummerMonth�june july augustrr�rr�r�r��june�july�augustr�r�r�r�r�r�r�r�r��rRr�r�r��monthr�rrr �!test_programmatic_function_stringvs 
��z*TestEnum.test_programmatic_function_stringcCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D],\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�q1dS)Nr�r��
��startrrrrrr �,test_programmatic_function_string_with_start�� ��z5TestEnum.test_programmatic_function_string_with_startcCs�tdgd��}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D],\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�q1dS)Nr��rrrrr�rrrrrr �&test_programmatic_function_string_list�rz/TestEnum.test_programmatic_function_string_listcCs�tdgd�dd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D],\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�q3dS)Nr�r�rrr�rrrrr �1test_programmatic_function_string_list_with_start�s ��z:TestEnum.test_programmatic_function_string_list_with_startcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D],\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�q/dS�Nr�))rr)rr)rrrr�rrrrrr �#test_programmatic_function_iterable�s&���z,TestEnum.test_programmatic_function_iterablecCs�tdtd��}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td�	�d�D],\}}||�}|�t
|j�|�|�||�|�|j
|�|�||�|�t|�|�q1dSr)rrr�r�r�rrrr�r�r�r�r�r�r�r�r�rrrr �$test_programmatic_function_from_dict�s&���z-TestEnum.test_programmatic_function_from_dictcCs�tddtd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td�	�d�D]#\}}||�}|�||�|�|j
|�|�||�|�t
|�|�q1dS)Nr�r�)r�rr�rr�r�r�r�rrrr�r�r�r�r�r�rrrr �test_programmatic_function_type����z(TestEnum.test_programmatic_function_typecCs�tddtdd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td�	�d�D]#\}}||�}|�||�|�|j
|�|�||�|�t
|�|�q2dS)Nr�r��)r�r	rrrrrr �*test_programmatic_function_type_with_start�s��z3TestEnum.test_programmatic_function_type_with_startcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D]#\}}||�}|�||�|�|j	|�|�
||�|�t|�|�q/dSr��
rr�r�r�rrrr�r�r�r�r�r�rrrr �-test_programmatic_function_type_from_subclasss
��z6TestEnum.test_programmatic_function_type_from_subclasscCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D]#\}}||�}|�||�|�|j	|�|�
||�|�t|�|�q1dS)Nr�r��(rrrrrrr �8test_programmatic_function_type_from_subclass_with_startrzATestEnum.test_programmatic_function_type_from_subclass_with_startcCsTttt�rt�|�tjd�|�tjtd��|�tjttd��t|jtj�dS)Nr+r,)	r�r*r�r�r,rQr�r�r@r�rrr �test_subclassing"s
zTestEnum.test_subclassingcCs�Gdd�dt�}|�t��Gdd�d|�}Wd�n1s wY|�td��Gdd�d|t�}Wd�dS1s@wYdS)Nc@r)z&TestEnum.test_extending.<locals>.ColorrrrNr,rrrr r0+r!r0c@r)z*TestEnum.test_extending.<locals>.MoreColorrxr�r�N�rrr�cyan�magenta�yellowrrrr �	MoreColor0r!r!z0EvenMoreColor: cannot extend enumeration 'Color'c@r%)z.TestEnum.test_extending.<locals>.EvenMoreColorr�N)rrr�
chartrueserrrr �
EvenMoreColor5r(r#)rr�rr�r)rRr0r!r#rrr �test_extending*s�"�zTestEnum.test_extendingcCs8Gdd�dt�}|�t|j�|�|�|j��d�dS)Nc@r�)z/TestEnum.test_exclude_methods.<locals>.whateverr�r�cSr�)Nz
no, not %s�r�r�rrr �really<ruz6TestEnum.test_exclude_methods.<locals>.whatever.reallyN)rrrr�r�r&rrrr �whatever9r�r'zno, not that)r�assertIsNotr�r&r�r�)rRr'rrr �test_exclude_methods8szTestEnum.test_exclude_methodscCsB|�t��Gdd�dtt�}Wd�dS1swYdS)Nc@r%)z4TestEnum.test_wrong_inheritance_order.<locals>.Wrongzerror before this pointN)rrr�NotHererrrr r�Cr(r�)r�rrr�rrrr �test_wrong_inheritance_orderAs"�z%TestEnum.test_wrong_inheritance_ordercCsTGdd�dt�}Gdd�dt�}|�|j|j�|�|j|j�|�|j|j�dS)Nc@r)z2TestEnum.test_intenum_transitivity.<locals>.numberrrrN)rrrr�r��threerrrr �numberGr!r-c@r)z2TestEnum.test_intenum_transitivity.<locals>.numerorrrN)rrr�uno�dos�tresrrrr �numeroKr!r1)rr�r�r.r�r/r,r0)rRr-r1rrr �test_intenum_transitivityFs
z"TestEnum.test_intenum_transitivitycCs4Gdd�dt�}Gdd�dt�}|�t||j�dS)Nc@r))z4TestEnum.test_wrong_enum_in_call.<locals>.MonochromerrN�rrr�black�whiterrrr �
MonochromeTr.r6c@r))z0TestEnum.test_wrong_enum_in_call.<locals>.GenderrrN�rrr�male�femalerrrr �GenderWr.r:)rr�rr8�rRr6r:rrr �test_wrong_enum_in_callS�z TestEnum.test_wrong_enum_in_callcCs4Gdd�dt�}Gdd�dt�}|�t||j�dS)Nc@r))z:TestEnum.test_wrong_enum_in_mixed_call.<locals>.MonochromerrNr3rrrr r6]r.r6c@r))z6TestEnum.test_wrong_enum_in_mixed_call.<locals>.GenderrrNr7rrrr r:`r.r:)rrr�rr8r;rrr �test_wrong_enum_in_mixed_call\r=z&TestEnum.test_wrong_enum_in_mixed_callcCs8Gdd�dt�}Gdd�dt�}|�||j�|j�dS)Nc@r))z6TestEnum.test_mixed_enum_in_call_1.<locals>.MonochromerrNr3rrrr r6fr.r6c@r))z2TestEnum.test_mixed_enum_in_call_1.<locals>.GenderrrNr7rrrr r:ir.r:)rr�r9r5r;rrr �test_mixed_enum_in_call_1e�z"TestEnum.test_mixed_enum_in_call_1cCs8Gdd�dt�}Gdd�dt�}|�||j�|j�dS)Nc@r))z6TestEnum.test_mixed_enum_in_call_2.<locals>.MonochromerrNr3rrrr r6or.r6c@r))z2TestEnum.test_mixed_enum_in_call_2.<locals>.GenderrrNr7rrrr r:rr.r:)rrr�r8r4r;rrr �test_mixed_enum_in_call_2nr@z"TestEnum.test_mixed_enum_in_call_2cCs6Gdd�dt�}Gdd�d|�}|�t|j�d�dS)Nc@r�)z*TestEnum.test_flufl_enum.<locals>.FluflnumcSr
rm)r�r�r�rrr �__int__yruz2TestEnum.test_flufl_enum.<locals>.Fluflnum.__int__N)rrrrBrrrr �Fluflnumxr�rCc@r)z0TestEnum.test_flufl_enum.<locals>.MailManOptionsrrrN)rrr�option1�option2�option3rrrr �MailManOptions{r!rGr)rr�r�rD)rRrCrGrrr �test_flufl_enumwszTestEnum.test_flufl_enumcCs�Gdd�dt�}|�|jjt�|�|jt�Gdd�dtt�}|�|jjt�|�|jt�Gdd�dt�}|�|jjt	�|�|jt	�dS)Nc@r))z+TestEnum.test_introspection.<locals>.Number�d��Nrrrrr �Number�r.rKc@r)z+TestEnum.test_introspection.<locals>.String�soft�rough�hardN)rrr�yarn�rope�wirerrrr �String�r!rRc@r))z*TestEnum.test_introspection.<locals>.Plainr5rN)rrr�vanillar�rrrr �Plain�r.rT)
rr�r�rr�r�rrOrSrq)rRrKrRrTrrr �test_introspection�szTestEnum.test_introspectioncCszGdd�dt�}|�t��|d�Wd�n1swY|�t��
|dWd�dS1s6wYdS)Nc@r)z0TestEnum.test_no_such_enum_member.<locals>.ColorrrrNr,rrrr r0�r!r0rx�
chartreuse)rr�r�KeyErrorr7rrr �test_no_such_enum_member�s
�
"�z!TestEnum.test_no_such_enum_membercCri)Nc@s eZdZdZdZdZdd�ZdS)z%TestEnum.test_new_repr.<locals>.ColorrrrcSr�)Nz!don't you just love shades of %s?r�r�rrr rl�ruz.TestEnum.test_new_repr.<locals>.Color.__repr__N)rrrr-r.r/rlrrrr r0�r2r0z#don't you just love shades of blue?)rr�r�r/r7rrr �
test_new_repr�s
�zTestEnum.test_new_reprcCs8Gdd�dt�}Gdd�dt|�}|�t|j�d�dS)Nc@r�)z,TestEnum.test_inherited_repr.<locals>.MyEnumcSr�)NzMy name is %s.r�r�rrr rl�ruz5TestEnum.test_inherited_repr.<locals>.MyEnum.__repr__Nr�rrrr r��r�r�c@r)z/TestEnum.test_inherited_repr.<locals>.MyIntEnumrrrN)rrrr�r��theotherrrrr �	MyIntEnum�r!r[zMy name is that.)rr�r�r�r�)rRr�r[rrr �test_inherited_repr�szTestEnum.test_inherited_reprcsdG�fdd�dtt���Gdd�dt�d�}Gdd�dt�d�}Gdd	�d	|�}Gd
d�d|�}dS)Nc�eZdZ��fdd�Z�ZS)z3TestEnum.test_multiple_mixin_mro.<locals>.auto_enumc	s�t|��}||_t|j�}d}|jD]}||}|tur|}n|}|d7}|||<q|��D]\}}||vr:|||<q.t�|��||||�S�Nrr)r��	_cls_namer��
_member_names�Ellipsisr)�superr�)	�metaclsr��bases�	classdict�temp�namesr�r&r')r��	auto_enumrr r��s$



�
�z;TestEnum.test_multiple_mixin_mro.<locals>.auto_enum.__new__�rrrr��
__classcell__r�rh�r�r rh��rhc@rF)z:TestEnum.test_multiple_mixin_mro.<locals>.AutoNumberedEnumNrGrrrr �AutoNumberedEnum�rIrn)�	metaclassc@rF)z5TestEnum.test_multiple_mixin_mro.<locals>.AutoIntEnumNrGrrrr �AutoIntEnum�rIrpc@�eZdZdZdZdZdS)z8TestEnum.test_multiple_mixin_mro.<locals>.TestAutoNumber.rN�rrrrXr�r�rrrr �TestAutoNumber�r!rsc@rq)z5TestEnum.test_multiple_mixin_mro.<locals>.TestAutoInt.rNrrrrrr �TestAutoInt�r!rt)r�rr)rRrnrprsrtrrkr �test_multiple_mixin_mro�s
z TestEnum.test_multiple_mixin_mroc�G�fdd�dt��Gdd�d�t�}|�|jtj�|�t|j|j�d��t�d<|t�d<�dd�}|�|d�t	|j|d�|�|jj
d�t	|j|j�t	|j|�dS)	Nc�HeZdZdZdd�Zdd�Zedd��Zdd	�Zd
d�Z�fdd
�ZdS)z:TestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt�NamedIntcW�B|}|^}}t|�dkrtd��tj|g|�R�}||_||_|S�Nrz name and value must be specified�r�rr�r��_intname�_args�r��argsr}r�rRrrr r���zBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__new__cS�|jSrm�r}r�rrr �__getnewargs__��zITestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__getnewargs__cSr�rm�r|r�rrr r��zCTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__name__cS�d�t|�j|jt�|��S�Nz{}({!r}, {})�r�r�rr�rlr�rrr rl���zCTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__repr__cS�&t}|j}|jtur|�|�S||�Srm�r�rE�__objclass__rqrl�rR�base�base_strrrr rE��


zBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__str__c�>t|�t|�}t|��rt|��r�d�|j|j�|�S|S�Nz({0} + {1})�r�r�r�r�rR�otherrf�rxrr �__add__���zBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__add__N)	rrrr�r�r5rlrEr�rr�rr rx��	
	rxc@�eZdZdZdZdZdS)z5TestEnum.test_subclasses_with_getnewargs.<locals>.NEI�NEI�zthe-xr�zthe-yrN�rrr�x�yrrrr r�r!r��NamedInt('(the-x + the-y)', 3)�testr�r�r�rr�r�r�r�r�r�r�r@r��rRr��NI5rr�r �test_subclasses_with_getnewargs��'


z(TestEnum.test_subclasses_with_getnewargscrv)	Ncrw)z=TestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedIntrxcWryrzr{r~rrr r�r�zETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__new__cSs
|jifSrmr�r�rrr �__getnewargs_ex__ruzOTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__getnewargs_ex__cSr�rmr�r�rrr rr�zFTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__name__cSr�r�r�r�rrr rl"r�zFTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__repr__cSr�rmr�r�rrr rE'r�zETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__str__cr�r�r�r�r�rr r�0r�zETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__add__N)	rrrr�r�r5rlrEr�rr�rr rxr�rxc@r�)z8TestEnum.test_subclasses_with_getnewargs_ex.<locals>.NEIr�r�r�Nr�rrrr r�9r!r�r�r�r�rr�r�rr�r �"test_subclasses_with_getnewargs_exr�z+TestEnum.test_subclasses_with_getnewargs_excrv)	Ncrw)z6TestEnum.test_subclasses_with_reduce.<locals>.NamedIntrxcWryrzr{r~rrr r�Mr�z>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__new__cS�|j|jfSrm�r�r}r�rrr �
__reduce__VrmzATestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__reduce__cSr�rmr�r�rrr rXr�z?TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__name__cSr�r�r�r�rrr rl[r�z?TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__repr__cSr�rmr�r�rrr rE`r�z>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__str__cr�r�r�r�r�rr r�ir�z>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__add__N)	rrrr�r�r5rlrEr�rr�rr rxKr�rxc@r�)z1TestEnum.test_subclasses_with_reduce.<locals>.NEIr�r�r�Nr�rrrr r�rr!r�r�r�r�rr�r�rr�r �test_subclasses_with_reduceJr�z$TestEnum.test_subclasses_with_reducecrv)	Ncrw)z9TestEnum.test_subclasses_with_reduce_ex.<locals>.NamedIntrxcWryrzr{r~rrr r��r�zATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__new__cSr�rmr��rRr�rrr r��rmzGTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__reduce_ex__cSr�rmr�r�rrr r�r�zBTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__name__cSr�r�r�r�rrr rl�r�zBTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__repr__cSr�rmr�r�rrr rE�r�zATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__str__cr�r�r�r�r�rr r��r�zATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__add__N)	rrrr�r�r5rlrEr�rr�rr rx�r�rxc@r�)z4TestEnum.test_subclasses_with_reduce_ex.<locals>.NEIr�r�r�Nr�rrrr r��r!r�r�r�r�rr�r�rr�r �test_subclasses_with_reduce_ex�r�z'TestEnum.test_subclasses_with_reduce_excs�G�fdd�dt��Gdd�d�t�}|�|jtj�|�t|j|j�d��t�d<|t�d<�dd�}|�|d�|�|jj	d�t
|jt|j�t
|jt
|�dS)	Nc�@eZdZdZdd�Zedd��Zdd�Zdd	�Z�fd
d�ZdS)
zHTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedIntrxcWryrzr{r~rrr r��r�zPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__new__cSr�rmr�r�rrr r�r�zQTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__name__cSr�r�r�r�rrr rl�r�zQTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__repr__cSr�rmr�r�rrr rE�r�zPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__str__cr�r�r�r�r�rr r��r�zPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__add__N�rrrr�r5rlrEr�rr�rr rx��	
	rxc@r�)zCTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NEIr�r�r�Nr�rrrr r��r!r�r�r�r�r)r�rr�r�r�r�r�r�r�r�rCr�rr
r�rr�r �-test_subclasses_without_direct_pickle_support�s%


z6TestEnum.test_subclasses_without_direct_pickle_supportcs�G�fdd�dt��Gdd�d�t�}|�|jtj�|�t|j|j�d��t�d<|t�d<�dd�}|�|d�|�|jj	d�t
|j|j�t
|j|�dS)	Ncr�)
zSTestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedIntrxcWryrzr{r~rrr r��r�z[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__new__cSr�rmr�r�rrr r�r�z\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__name__cSr�r�r�r�rrr rlr�z\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__repr__cSr�rmr�r�rrr rEr�z[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__str__cr�r�r�r�r�rr r�r�z[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__add__Nr�rr�rr rx�r�rxc@s eZdZdZdZdZdd�ZdS)zNTestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NEIr�r�r�cSst|j|jffSrm)r�r�rkr�rrr r�sz\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NEI.__reduce_ex__N)rrrr�r�r�rrrr r�r2r�r�r�r�r)r�rr�r�r�r�r�r�r�r�r@r�rr�r �8test_subclasses_without_direct_pickle_support_using_name�s%


zATestEnum.test_subclasses_without_direct_pickle_support_using_namecCs\Gdd�dtt�}|�t|j�|�|�|jt�|�|jd�|t	�d<t
|j|j�dS)Nc@r�)z/TestEnum.test_tuple_subclass.<locals>.SomeTuple�	SomeTuple)rz
for the money)rzfor the show�rz
for the musicN)rrr�first�second�thirdrrrr r�)r~r�r�)�tuplerr�r�r�r�r�r�r�r�r@)rRr�rrr �test_tuple_subclass(s
zTestEnum.test_tuple_subclasscCsdGdd�dt�}|�t|�|j|j|jg�|�t|j�d�|�|jjd�|�|d�|j�dS)Nc@s(eZdZdZdZdZdd�Zdd�ZdS)zITestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumberrcS�"t|j�d}t�|�}||_|Sr��r�r�rqr�r��r�r�rBrrr r�9�
zQTestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__new__cSr
rm�r�r�r�rrr rB>ruzQTestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__int__N)rrrr�r�r�r�rBrrrr �
AutoNumber5sr�rrr)	rr�r�r�r�r�r�r�r�)rRr�rrr �,test_duplicate_values_give_unique_enum_items4s�z5TestEnum.test_duplicate_values_give_unique_enum_itemscC�ZGdd�dt�}Gdd�d|�}|�t|�|j|j|jg�|�ttt|��gd��dS)Nc@�eZdZdd�Zdd�ZdS)zBTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumbercSr�r�r�r�rrr r�Jr�zJTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__new__cSr
rmr�r�rrr rBOruzJTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__int__N)rrrr�rBrrrr r�Isr�c@�eZdZdZdZdZdS)z=TestEnum.test_inherited_new_from_enhanced_enum.<locals>.ColorrNr,rrrr r0Qr!r0rj)rr�r�r-r.r/�mapr��rRr�r0rrr �%test_inherited_new_from_enhanced_enumHsz.TestEnum.test_inherited_new_from_enhanced_enumcCr�)Nc@r�)z?TestEnum.test_inherited_new_from_mixed_enum.<locals>.AutoNumbercSs$t|j�d}t�||�}||_|Sr�)r�r�r�r�r�r�rrr r�ZszGTestEnum.test_inherited_new_from_mixed_enum.<locals>.AutoNumber.__new__Nr�rrrr r�Yr�r�c@r�)z:TestEnum.test_inherited_new_from_mixed_enum.<locals>.ColorrNr,rrrr r0_r!r0rj)rr�r�r-r.r/r�r�r�rrr �"test_inherited_new_from_mixed_enumXsz+TestEnum.test_inherited_new_from_mixed_enumcCs0Gdd�dt�}|�t|j�|�|jt�dS)Nc@r%)z,TestEnum.test_equality.<locals>.OrdinaryEnumrN)rrrrXrrrr �OrdinaryEnumgr(r�)rr�rrX)rRr�rrr �
test_equalityfszTestEnum.test_equalitycCs�Gdd�dt�}Gdd�d|�}|�|j|j�|�|j|j�|�|j|j�|�	|j|j�|�
|j|j�|�|j|j�dS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z0TestEnum.test_ordered_mixin.<locals>.OrderedEnumcSs|j|jur|j|jkStSrm�r�r��NotImplemented�rRr�rrr �__ge__n�z7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__ge__cSs|j|jur|j|jkStSrmr�r�rrr �__gt__rr�z7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__gt__cSs|j|jur|j|jkStSrmr�r�rrr �__le__vr�z7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__le__cSs|j|jur|j|jkStSrmr�r�rrr �__lt__zr�z7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__lt__N)rrrr�r�r�r�rrrr �OrderedEnumms
r�c@r�)z*TestEnum.test_ordered_mixin.<locals>.Grader�rxrrrNr�rrrr �Grade~r�r�)r�
assertGreaterr�r��assertLessEqualr�r��
assertLessr��assertGreaterEqualr�r�)rRr�r�rrr �test_ordered_mixinlszTestEnum.test_ordered_mixincCs`Gdd�dt�}Gdd�d|�}|�t��Gdd�d|�}Wd�dS1s)wYdS)Nc@r�)z'TestEnum.test_extending2.<locals>.ShadecSst|j�dSrm)�printr�r�rrr �shade��z-TestEnum.test_extending2.<locals>.Shade.shadeN�rrrr�rrrr �Shade�r�r�c@r)z'TestEnum.test_extending2.<locals>.ColorrrrNr,rrrr r0�r!r0c@r)z+TestEnum.test_extending2.<locals>.MoreColorrxr�r�Nrrrrr r!�r!r!)rr�r�rRr�r0r!rrr �test_extending2�s
"�zTestEnum.test_extending2cCsFGdd�dt�}Gdd�d|�}Gdd�d|�}|�|j��d�dS)Nc@r�)z'TestEnum.test_extending3.<locals>.ShadecSr�rmr�r�rrr r��r�z-TestEnum.test_extending3.<locals>.Shade.shadeNr�rrrr r��r�r�c@r�)z'TestEnum.test_extending3.<locals>.ColorcSr�)Nz
%s hexlified!r%r�rrr r��ruz+TestEnum.test_extending3.<locals>.Color.hexN)rrrr�rrrr r0�r�r0c@r)z+TestEnum.test_extending3.<locals>.MoreColorrxr�r�Nrrrrr r!�r!r!z5 hexlified!)rr�rr�r�rrr �test_extending3�szTestEnum.test_extending3cCs6Gdd�dt�}Gdd�d|�}|�t|j�|�dS)Nc@r�)z3TestEnum.test_subclass_duplicate_name.<locals>.BasecSr�rmrr�rrr r��r�z8TestEnum.test_subclass_duplicate_name.<locals>.Base.testN�rrrr�rrrr �Base�r�r�c@r%)z3TestEnum.test_subclass_duplicate_name.<locals>.TestrNr�rrrr r��r(r�)rr�r�r��rRr�r�rrr �test_subclass_duplicate_name�sz%TestEnum.test_subclass_duplicate_namecsDddlm�G�fdd�dt�}Gdd�d|�}|�|jjd�dS)Nr��DynamicClassAttributecseZdZ�dd��ZdS)z;TestEnum.test_subclass_duplicate_name_dynamic.<locals>.BasecSr�)N�dynamicrr�rrr r��r4z@TestEnum.test_subclass_duplicate_name_dynamic.<locals>.Base.testNr�rr�rr r���r�c@r%)z;TestEnum.test_subclass_duplicate_name_dynamic.<locals>.TestrNr�rrrr r��r(r�r�)�typesr�rr�r�r�rr�r �$test_subclass_duplicate_name_dynamic�sz-TestEnum.test_subclass_duplicate_name_dynamiccCs`Gdd�dt�}Gdd�d|�}|�t��Gdd�d|�}Wd�dS1s)wYdS)Nc@r�)z/TestEnum.test_no_duplicates.<locals>.UniqueEnumcsB�j}t�fdd�|D��r�j}|�j�j}td||f��dS)Nc3s�|]	}�j|jkVqdSrmr%)r%r�r�rr �	<genexpr>�s�zKTestEnum.test_no_duplicates.<locals>.UniqueEnum.__init__.<locals>.<genexpr>z-aliases not allowed in UniqueEnum:  %r --> %r)r��anyr�r�r)rRrr�rXr�rr�r rr�s���z8TestEnum.test_no_duplicates.<locals>.UniqueEnum.__init__N�rrrrrrrrr �
UniqueEnum�r�r�c@r�z*TestEnum.test_no_duplicates.<locals>.ColorrrrNr,rrrr r0�r!r0c@seZdZdZdZdZdZdSr�)rrrr-r.r/�grenerrrr r0�r~)rr�r)rRr�r0rrr �test_no_duplicates�s

"�zTestEnum.test_no_duplicatescCs:Gdd�dt�}|�t|jjd�d�|�|jjd�dS)Nc@s@eZdZdZdZdZdZdZdZdZ	dZ
d	d
�Zedd��Z
d
S)z"TestEnum.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��wAcSs||_||_dSrm��mass�radius)rRr�r�rrr rr�s
z+TestEnum.test_init.<locals>.Planet.__init__cSsd}||j|j|jS)Ng
yдW�=r�)rRr�rrr �surface_gravity�sz2TestEnum.test_init.<locals>.Planet.surface_gravityN)rrr�MERCURY�VENUS�EARTH�MARS�JUPITER�SATURN�URANUS�NEPTUNErrr5r�rrrr �Planet�srrg������#@r�)rr��roundr�r�r�)rRrrrr �	test_init�szTestEnum.test_initcCs|Gdd�dtt�}|�t|d��|�t|d��|�t|d��|�t|jt��|�|j|ju�|�|j	|j
u�dS)Nc@s�eZdZdZdd�ZdZe�Zed�D]Z	e	ddfede	<qed	�D]Z	e	d
dfede	<q$ed
�D]
Z	e	dfede	<q5e
ZeZ
eZdS)z$TestEnum.test_ignore.<locals>.Periodz3
            different lengths of time
            cSr�rm)rr�r��period)r�r�rrBrrr r��r�z,TestEnum.test_ignore.<locals>.Period.__new__zPeriod i�
rrzmonth_%d�5r��weekzweek_%d� �dayzday_%dN)rrrr'r��_ignore_�varsr�r<r��day_1�OneDay�week_1�OneWeek�month_1�OneMonthrrrr r��sr�rr�)rrrMr�rQr�r
r�day_30�week_4�day_28r�rrr �test_ignore�szTestEnum.test_ignorecCs�Gdd�dt�}Gdd�d|�}|�t|�|j|j|jg�t|td��D]\}}|d7}|�|j|g�|�	||g�|�q%dS)Nc@r�)z6TestEnum.test_nonhash_value.<locals>.AutoNumberInAListcSs$t|j�dg}t�|�}||_|Sr�r�r�rrr r�s
z>TestEnum.test_nonhash_value.<locals>.AutoNumberInAList.__new__Nr�rrrr �AutoNumberInAListr�rc@r�)z1TestEnum.test_nonhash_value.<locals>.ColorInAListrNr,rrrr �ColorInAListr!rrr)
rr�r�r-r.r/�zipr<r�r�)rRrrrNr�rrr �test_nonhash_value�s�zTestEnum.test_nonhash_valuecCs^Gdd�dtt�}Gdd�d|�}|�t|�|j|jg�|�|jd�|�|d�|j�dS)Nc@r�)zHTestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnumcWs$|\}}t�||�}||_||_|Srm)r�r��labelr�)r�rr�rrBrrr r�s
zPTestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnum.__new__Nr�rrrr �LabelledIntEnumr�rc@r))zETestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledList)r�Unprocessed)rzPayment CompleteN)rrr�unprocessed�payment_completerrrr �LabelledListr.r r)r�rr�r�rr)rRrr rrr �&test_conflicting_types_resolved_in_news
z/TestEnum.test_conflicting_types_resolved_in_newcC�`Gdd�dt�}|�t|�|j|j|jg�|�|jjd�|�|jjd�|�|jjd�dS)Nc@�eZdZe�Ze�Ze�ZdS)z(TestEnum.test_auto_number.<locals>.ColorN�rrrr	r-r/r.rrrr r0"�
r0rrr�rr�r�r-r/r.r�r7rrr �test_auto_number!�
zTestEnum.test_auto_numbercCr")Nc@s&eZdZdd�Ze�Ze�Ze�ZdS)z&TestEnum.test_auto_name.<locals>.ColorcS�|Srmr�r�r	�count�lastrrr �_generate_next_value_.r�z<TestEnum.test_auto_name.<locals>.Color._generate_next_value_N)rrrr-r	r-r/r.rrrr r0-s

r0r-r/r.r&r7rrr �test_auto_name,s
zTestEnum.test_auto_namecCspGdd�dt�}Gdd�d|�}|�t|�|j|j|jg�|�|jjd�|�|jjd�|�|jjd�dS)Nc@r�)z5TestEnum.test_auto_name_inherit.<locals>.AutoNameEnumcSr)rmrr*rrr r-;r�zKTestEnum.test_auto_name_inherit.<locals>.AutoNameEnum._generate_next_value_N)rrrr-rrrr �AutoNameEnum:r�r/c@r#)z.TestEnum.test_auto_name_inherit.<locals>.ColorNr$rrrr r0=r%r0r-r/r.r&)rRr/r0rrr �test_auto_name_inherit9szTestEnum.test_auto_name_inheritcCs$Gdd�dt�}|�|jjd�dS)Nc@�eZdZdZe�ZdS)z)TestEnum.test_auto_garbage.<locals>.Colorr-N�rrrr-r	r/rrrr r0H�
r0r)rr�r/r�r7rrr �test_auto_garbageGszTestEnum.test_auto_garbagecCr")Nc@seZdZdZdZe�ZdS)z3TestEnum.test_auto_garbage_corrected.<locals>.Colorr-rN)rrrr-r/r	r.rrrr r0Ns
r0r-rrr&r7rrr �test_auto_garbage_correctedMr(z$TestEnum.test_auto_garbage_correctedcCs@|�t��Gdd�dt�}Wd�dS1swYdS)Nc@s&eZdZe�Ze�Ze�Zdd�ZdS)z'TestEnum.test_auto_order.<locals>.ColorcSr)rmrr*rrr r-^r�z=TestEnum.test_auto_order.<locals>.Color._generate_next_value_N)rrrr	r-r.r/r-rrrr r0Zs
r0r6r7rrr �test_auto_orderXs"�zTestEnum.test_auto_ordercs\t��d�_G�fdd�dt�}|�t|�|j|jg�|�|jjd�|�|jjd�dS)Nzpathological casecseZdZ�Zdd�Ze�ZdS)z-TestEnum.test_auto_order_wierd.<locals>.ColorcSr)rmrr*rrr r-fr�zCTestEnum.test_auto_order_wierd.<locals>.Color._generate_next_value_N)rrrr-r-r	r/r��
weird_autorr r0ds
r0r/)r	r�rr�r�r-r/r7rr7r �test_auto_order_wierdaszTestEnum.test_auto_order_wierdcC�0Gdd�dt�}|�|j|j|jgt|��dS)Nc@�"eZdZe�ZZe�Ze�ZdS)z+TestEnum.test_duplicate_auto.<locals>.DupesN�rrrr	r��primeror�r�rrrr �Dupesn�

r>�rr�r�r�r�r��rRr>rrr �test_duplicate_autom� zTestEnum.test_duplicate_autoc
CsZGdd�dt�}z	|d�Wtd��ty,}z|�|jdu�WYd}~dSd}~ww)Nc@r)z,TestEnum.test_default_missing.<locals>.ColorrrrN)rrrrnrorprrrr r0ur!r0r��Exception not raised.)rrrQ�__context__r��rRr0�excrrr �test_default_missingts
���zTestEnum.test_default_missingc
CsGdd�dt�}|�|d�|j�z	|d�Wtd��ty4}z|�|jdu�WYd}~nd}~wwz	|d�Wtd��tyY}z|�t|jt��WYd}~nd}~wwz	|d�Wtd��t	y}z|�t|jt��WYd}~dSd}~ww)Nc@s$eZdZdZdZdZedd��ZdS)z$TestEnum.test_missing.<locals>.ColorrrrcSs*|dkr|jS|dkr
dS|dkrt�dS)Nr,�
bad returnr��	error out)r/�ZeroDivisionError)r��itemrrr �	_missing_�sz.TestEnum.test_missing.<locals>.Color._missing_N)rrrr-r.r/�classmethodrMrrrr r0�sr0r,r�rDrIrJ)
rr�r/rrQrEr�rr�rKrFrrr �test_missing�s.
���
���
� ��zTestEnum.test_missingcsrddl}Gdd�dtj��Gdd�d�}G�fdd�d�}|�|��}|�|��}|�|�d�|�|�d�dS)Nrc@r))z8TestEnum.test_missing_exceptions_reset.<locals>.TestEnum�val1�val2N)rrr�VAL1�VAL2rrrr rv�r.rvc@r�)z6TestEnum.test_missing_exceptions_reset.<locals>.Class1cSszt��ty
YdSwrm�rr�rrr rr�s
�z?TestEnum.test_missing_exceptions_reset.<locals>.Class1.__init__Nr�rrrr �Class1�r�rUcseZdZ�fdd�ZdS)z6TestEnum.test_missing_exceptions_reset.<locals>.Class2cs$z�d�WdStyYdSw)N�
invalid_valuerTr��rvrr rr�s
�z?TestEnum.test_missing_exceptions_reset.<locals>.Class2.__init__Nr�rrWrr �Class2�srX)�weakrefrNr�refr�)rRrYrUrX�class_1_ref�class_2_refrrWr �test_missing_exceptions_reset�sz&TestEnum.test_missing_exceptions_resetcCs�Gdd�d�}Gdd�d�}Gdd�dt�}Gdd�dt�}Gd	d
�d
|t�}|�|jjd�|�|jjd�|�|jjd
�|�|jd
�|�t|j�d�Gdd
�d
||t�}|�|jjd�|�|jjd�|�|jjd
�|�|jd
�|�t|j�d�Gdd
�d
||t�}|�|jjd�|�|jjd�|�|jjd
�|�|jd
�|�t|j�d�Gdd�d||t�}|�|jjd�|�|jjd�|�|jjd
�|�t|j�d�|�|j��d�Gdd�d||t�}|�|jjd�|�|jjd�|�|jjd
�|�t|j�d�|�|j��d�|�|j�	�d�Gdd�d|||�}|�|jjd�|�|jjd�|�|jjd
�|�t|j�d�|�|j��d�|�|j�	�d�Gdd�d|||�}	|�|	jjd�|�|	jjd�|�|	jjd
�|�t|	j�d�|�|	j��d�|�|	j�	�d�Gdd�d|t
||�}
|�|
jjd�|�|
jjd�|�|
jjd
�|�t|
j�d�|�|
j��d�|�|	j�	�d�|�t|
t
��dS)Nc@�eZdZedd��ZdS)z.TestEnum.test_multiple_mixin.<locals>.MaxMixincSst|�}||_|Srm)r��MAX)r��maxrrr r_�sz2TestEnum.test_multiple_mixin.<locals>.MaxMixin.MAXN)rrrrlr_rrrr �MaxMixin�r�rac@r�)z.TestEnum.test_multiple_mixin.<locals>.StrMixincS�
|j��Srm�rk�lowerr�rrr rE�ruz6TestEnum.test_multiple_mixin.<locals>.StrMixin.__str__Nrurrrr �StrMixin�r�rec@r�)z.TestEnum.test_multiple_mixin.<locals>.SomeEnumcSr�)N�booyahrr�rrr �behavior�r�z7TestEnum.test_multiple_mixin.<locals>.SomeEnum.behaviorN)rrrrgrrrr �SomeEnum�r�rhc@r�)z1TestEnum.test_multiple_mixin.<locals>.AnotherEnumcSr�)N�nuhuh!rr�rrr rg�r�z:TestEnum.test_multiple_mixin.<locals>.AnotherEnum.behaviorcSr�)N�
what's up?rr�rrr �social�r�z8TestEnum.test_multiple_mixin.<locals>.AnotherEnum.socialN)rrrrgrkrrrr �AnotherEnum�srlc@r#�z+TestEnum.test_multiple_mixin.<locals>.ColorN�rrrr	rnrorprrrr r0�r%r0rrr�
Color.BLUEc@r#rmrnrrrr r0�r%r/c@r#rmrnrrrr r0�r%c@r#)z/TestEnum.test_multiple_mixin.<locals>.CoolColorNrnrrrr �	CoolColor�r%rprfc@r#)z1TestEnum.test_multiple_mixin.<locals>.CoolerColorNrnrrrr �CoolerColor�r%rqrirjc@r#)z2TestEnum.test_multiple_mixin.<locals>.CoolestColorNrnrrrr �CoolestColorr%rrc@r#)z3TestEnum.test_multiple_mixin.<locals>.ConfusedColorNrnrrrr �
ConfusedColorr%rsc@r#)z3TestEnum.test_multiple_mixin.<locals>.ReformedColorNrnrrrr �
ReformedColorr%rt)rr�rnr�rorpr_r�rgrkrrQ�
issubclassr�)rRrarerhrlr0rprqrrrsrtrrr �test_multiple_mixin�srzTestEnum.test_multiple_mixincCsNGdd�dtt�}tGdd�d|��}Gdd�d|�}tGdd�d|��}dS)	Nc@r�)z7TestEnum.test_multiple_inherited_mixin.<locals>.StrEnumc_sB|D]}t|t�std|t|�jf��qtj|g|�Ri|��S)Nz%Enumeration '%s' (%s) is not a string)r�r�rr�rr�)r�r�kwargsrXrrr r�'s
��z?TestEnum.test_multiple_inherited_mixin.<locals>.StrEnum.__new__Nr�rrrr r&&r�r&c@r)z9TestEnum.test_multiple_inherited_mixin.<locals>.Decision1�REVERT�
REVERT_ALL�RETRYN�rrrrxryrzrrrr �	Decision1-�r|c@rF)z6TestEnum.test_multiple_inherited_mixin.<locals>.MyEnumNrGrrrr r�2rIr�c@r)z9TestEnum.test_multiple_inherited_mixin.<locals>.Decision2rxryrzNr{rrrr �	Decision24r}r~)r�rr)rRr&r|r�r~rrr �test_multiple_inherited_mixin%sz&TestEnum.test_multiple_inherited_mixincCs�Gdd�dt�}Gdd�d�}Gdd�d||tj�}Gdd�d|�}|�t|j|��|�t|j�d	�Gd
d�d|�}|�|jd�dS)
NcseZdZ�fdd�Z�ZS)z5TestEnum.test_multiple_mixin_inherited.<locals>.MyIntcst��||�Srm)rbr�r�rlrr r�<r�z=TestEnum.test_multiple_mixin_inherited.<locals>.MyInt.__new__rirrrlr r�;sr�c@r�)z8TestEnum.test_multiple_mixin_inherited.<locals>.HexMixincSr�rmr�r�rrr rl@r�zATestEnum.test_multiple_mixin_inherited.<locals>.HexMixin.__repr__Nr�rrrr �HexMixin?r�r�c@rF)z9TestEnum.test_multiple_mixin_inherited.<locals>.MyIntEnumNrGrrrr r[CrIr[c@r%)z3TestEnum.test_multiple_mixin_inherited.<locals>.FoorN)rrr�TESTrrrr �FooFr(r��0x1c@seZdZdZdd�ZdS)z3TestEnum.test_multiple_mixin_inherited.<locals>.FeercSs|d7}t�||�}||_|Sr�)r�r�r�)r�r�r�rrr r�Msz;TestEnum.test_multiple_mixin_inherited.<locals>.Fee.__new__N)rrrr�r�rrrr �FeeKr�r�r)r�rNrrQr�r�r�r�)rRr�r�r[r�r�rrr �test_multiple_mixin_inherited:sz&TestEnum.test_multiple_mixin_inheritedcCs(d}t|dd�}i}i}t|||�dS)Nz8from enum import Enum; Enum('Animal', 'ANT BEE CAT DOG')z<string>�exec)�compiler�)rR�code�	global_ns�local_lsrrr �test_empty_globalsTs
zTestEnum.test_empty_globals�rr�z+private variables are now normal attributescCs�|�t��Gdd�dt�}Wd�n1swY|�|jjd�z"|�t��Gdd�dt�}Wd�WdS1s@wYWdStyQYdSw)Nc@r%)�<TestEnum.test_warning_for_private_variables.<locals>.Private�RadarN)rrr�_Private__corporalrrrr �Privatecr(r�r�c@r%)r��HoolihanN)rrr�_Private__major_rrrr r�hr()rrrr�r�r�r)rRr�rrr �"test_warning_for_private_variables]s�&��z+TestEnum.test_warning_for_private_variablesN)�rrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�unittest�skipIf�python_versionrrr r*r8r:rBrHrRrVrZr^rarbrcrergrhrsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
r
rrrrrrrrr$r)r+r2r<r>r?rArHrUrXrYr\rur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr!r'r.r0r4r5r6r9rBrHrOr]rvrr�r��
skipUnlessr�rrrr rv�s#	�
�

				.		
	
	
				


%999957


	% `	�rvc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�	TestOrdercC�Gdd�dt�}dS)Nc@rw)z*TestOrder.test_same_members.<locals>.Color�red green bluerrrN�rrr�_order_r-r.r/rrrr r0qr~r0�rr7rrr �test_same_memberspr�zTestOrder.test_same_memberscCr�)Nc@� eZdZdZdZdZdZeZdS)z7TestOrder.test_same_members_with_aliases.<locals>.Colorr�rrrN�rrrr�r-r.r/�verderrrr r0xr�r0r�r7rrr �test_same_members_with_aliaseswr�z(TestOrder.test_same_members_with_aliasescC�B|�td��Gdd�dt�}Wd�dS1swYdS)N�#member order does not match _order_c@rw)z6TestOrder.test_same_members_wrong_order.<locals>.Colorr�rrrN)rrrr�r-r/r.rrrr r0�r~r0�r�rrr7rrr �test_same_members_wrong_order�"�z'TestOrder.test_same_members_wrong_ordercCr�)Nr�c@rw)z5TestOrder.test_order_has_extra_members.<locals>.Color�red green blue purplerrrNr�rrrr r0�r~r0r�r7rrr �test_order_has_extra_members�r�z&TestOrder.test_order_has_extra_memberscCr�)Nr�c@r�)zBTestOrder.test_order_has_extra_members_with_aliases.<locals>.Colorr�rrrNr�rrrr r0�r�r0r�r7rrr �)test_order_has_extra_members_with_aliases�r�z3TestOrder.test_order_has_extra_members_with_aliasescCr�)Nr�c@r�)z4TestOrder.test_enum_has_extra_members.<locals>.Colorr�rrrrxN)rrrr�r-r.r/�purplerrrr r0�r�r0r�r7rrr �test_enum_has_extra_members�r�z%TestOrder.test_enum_has_extra_memberscCr�)Nr�c@s$eZdZdZdZdZdZdZeZdS)zATestOrder.test_enum_has_extra_members_with_aliases.<locals>.Colorr�rrrrxN)	rrrr�r-r.r/r�r�rrrr r0�sr0r�r7rrr �(test_enum_has_extra_members_with_aliases�r�z2TestOrder.test_enum_has_extra_members_with_aliasesN)
rrrr�r�r�r�r�r�r�rrrr r�ns		r�c@s.eZdZdZGdd�de�ZGdd�de�ZGdd�de�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Ze�ed$kd%�d&d'��Ze�ed$kd(�d)d*��Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Z d7d8�Z!e"j#d9d:��Z$d;d<�Z%d=S)>�TestFlagzTests of the Flags.c@seZdZd\ZZZdS)z
TestFlag.Perm)rxrrN)rrr�R�W�Xrrrr �Perm�r�r�c@r�)z
TestFlag.Openrrrr�N�rrr�RO�WO�RW�AC�CErrrr �Open�r�r�c@�$eZdZdZdZdZdZeeBZdS)zTestFlag.ColorrrrrxN�rrr�BLACKrnrorp�PURPLErrrr r0��r0cC��|j}|�t|j�d�|�t|j�d�|�t|j�d�|�t|j|jB�d�|�t|j|jB|jB�d�|�t|d��d�|�t|j�d�|�t|j�d	�|�t|j�d�|�t|j|jB�d�|�t|j|jB|jB�d�|�t|d
��d�|j}|�t|j�d�|�t|j�d�|�t|j	�d
�|�t|j|j
B�d�|�t|j|j
B�d�|�t|j�d�|�t|j�d�|�t|j	�d�|�t|j|j
B�d
�|�t|j|j
B�d�dS)N�Perm.R�Perm.W�Perm.X�Perm.R|W�
Perm.R|W|Xr�Perm.0�Perm.W|X�Perm.R|X����Open.RO�Open.WO�Open.AC�Open.CE�
Open.CE|WO�Open.CE|AC|RW|WO�
Open.CE|RW�Open.RW�r�r�r�r�r�r�r�r�r�r�r��rRr�r�rrr �test_str��0 zTestFlag.test_strcCr�)N�<Perm.R: 4>�<Perm.W: 2>�<Perm.X: 1>�
<Perm.R|W: 6>�<Perm.R|W|X: 7>r�<Perm.0: 0>z
<Perm.W|X: 3>z
<Perm.R|X: 5>r��<Open.RO: 0>�<Open.WO: 1>�<Open.AC: 3>�<Open.CE: 524288>�<Open.CE|WO: 524289>z<Open.CE|AC|RW|WO: 524291>z<Open.CE|RW: 524290>z<Open.RW: 2>�r�r�r�r�r�r�r�r�r�r�r�r�rrr �	test_repr�r�zTestFlag.test_reprcC�8|j}|�t|jd�d�|�t|j|jBd�d�dS)Nr�r�r��r�r�r�r�r��rRr�rrr �test_format��zTestFlag.test_formatcCs�|j}|D],}|D]'}|�||B||j|jB��|�||Bj|j|jB�|�t||B�|�q	q|D]
}|�||B|�q4|j}|�|j|jB|j�dSrm�r�r�r�r�r�r�r�r��rRr�r��jr�rrr �test_or�s�zTestFlag.test_orc
Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D]}|D]}|�||@j|j|j@�|�t||@�|�q1q-|D]}|�||@|�|�||@|�|�||@|�qN|j	}	|�|	j
|	j@|	j
�dS�Nr)r�r�r�r�r�r�r�r�r�r�r�r��
rRr�r��RX�WX�RWX�valuesr�r�r�rrr �test_and	s"�zTestFlag.test_andcCs�|j}|D]}|D]}|�||Aj|j|jA�|�t||A�|�q	q|D]}|�||d�A|�|�|d�|A|�q&|j}|�|j|jA|j�|�|j|jA|j�dSr�r�r�rrr �test_xor	s�zTestFlag.test_xorc	Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D]}|�t|�|�|�||�q-|D]
}|�||�qC|j}|�|j	|j	@|j
�|�|j	|jB|j	@|j�dSr�)r�r�r�r�r�r�r�r�r�r�r�r��	rRr�r�r�r�r�r�r�r�rrr �test_invert&	s"zTestFlag.test_invertcC�D|j}|D]}|�|�q|j}|D]
}|�t|j�t|��qdSrm�r�rQr�r�r�r��rRr��fr�rrr r6	��zTestFlag.test_boolcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]1\}}d|>}||�}|�|j	|�|�t
|j	�t�|�|j|�|�
||�|�t
|�|�q.dS�Nr��R W Xrr�rr�r�r�r�r�r�r�r�r�r�r�r�r�r��rRr�r�r��nr'r�rrr � test_programatic_function_string>	s
�z)TestFlag.test_programatic_function_stringcCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]1\}}d|>}||�}|�|j	|�|�t
|j	�t�|�|j|�|�
||�|�t
|�|�q0dS�Nr�r�r�rrr�r�rrr �+test_programatic_function_string_with_startM	��z4TestFlag.test_programatic_function_string_with_startcCs�tdgd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]1\}}d|>}||�}|�|j	|�|�t
|j	�t�|�|j|�|�
||�|�t
|�|�q0dS�Nr�)r�r�r�rr�rr�r�rrr �%test_programatic_function_string_list\	rz.TestFlag.test_programatic_function_string_listcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]5\}}dd|d>}||�}|�|j	|�|�t
|j	�t�|�|j|�|�
||�|�t
|�|�q.dS�Nr�))r�r)r�r�)r�r	rr�rrr�r�rrr �"test_programatic_function_iterablek	s
�z+TestFlag.test_programatic_function_iterablecCs�tdtd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td�	��D]5\}}dd|d>}||�}|�|j
|�|�t|j
�t�|�|j
|�|�||�|�t|�|�q0dSr)rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr �#test_programatic_function_from_dictz	s�z,TestFlag.test_programatic_function_from_dictcCs2ttt�rt�t|jtjtjB�t|jt�dSrm)r�r$r�r@r�rrr�rrr �test_pickle�	s
zTestFlag.test_picklerrc	Cs�|j}|j}|�|j|v�|�|j|v�|�t��!|�t��d|vWd�n1s0wYWd�n1s?wY|�t��!|�t��d|vWd�n1s^wYWd�n1smwY|�t��!|�t��d|vWd�n1s�wYWd�n1s�wY|�t��*|�t��d|vWd�n1s�wYWd�dSWd�dS1s�wYdS�Nr�r�r)	r�r0rMr�r�r�rrr�rRr�r0rrr r�	s:
���
���
���
��"�zTestFlag.test_contains_errcCsh|j}|j}|�|j|v�|�|j|v�|�d|v�|�d|v�|�d|v�|�d|v�dSr
)r�r0rMr�r�rQrrrr r�	szTestFlag.test_contains_tfc	Cs�|j}|\}}}||B}||B}||B}||B|B}|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�dSrm)r�rQrM�	rRr�r�r�r�r�r�r�r�rrr �test_member_contains�	s$
zTestFlag.test_member_containscCr")Nc@r#)z(TestFlag.test_auto_number.<locals>.ColorNr$rrrr r0�	r%r0rrrx)rr�r�r-r/r.r�r7rrr r'�	r(zTestFlag.test_auto_numbercCr�)Nz Invalid Flag value: .not an int.c@r1)z0TestFlag.test_auto_number_garbage.<locals>.Colorz
not an intNr2rrrr r0�	r3r0)r�rrr7rrr �test_auto_number_garbage�	r�z!TestFlag.test_auto_number_garbagecCs�Gdd�dt�}d}|�td||d�|�td||d�|�td||d�|�td||d�|�td||d	�|�td||d	�dS)
Nc@r)�0TestFlag.test_cascading_failure.<locals>.Bizarrerrxr�N)rrrr��dr�rrrr �Bizarre�	r!rrz5 is not a valid r�z2 is not a valid rz1 is not a valid r)rr�r)rRrr�rrr �test_cascading_failure�	szTestFlag.test_cascading_failurecCr:)Nc@r;)z+TestFlag.test_duplicate_auto.<locals>.DupesNr<rrrr r>�	r?r>r@rArrr rB�	rCzTestFlag.test_duplicate_autocCs(Gdd�dt�}|�t|d��d�dS)Nc@r)z&TestFlag.test_bizarre.<locals>.Bizarrerrxr�N)rrrr�r�rrrrr r�	r!rr�z<Bizarre.d|c|b: 7>)rr�r�)rRrrrr �test_bizarre�	szTestFlag.test_bizarrecC�PGdd�d�}Gdd�d�}Gdd�d|t�}|�|jjd�|�|jjd�|�|jjd	�|�|jjd
�|�t|j�d�Gdd�d||t�}|�|jjd�|�|jjd�|�|jjd	�|�|jjd
�|�t|j�d
�Gdd�d||t�}|�|jjd�|�|jjd�|�|jjd	�|�|jjd
�|�t|j�d
�dS)Nc@r^)z.TestFlag.test_multiple_mixin.<locals>.AllMixincS�<t|�}d}|r|d}|dd�D]}||O}q||_|Sr^�r��ALL�r��members�	all_valuer�rrr r�	�
z2TestFlag.test_multiple_mixin.<locals>.AllMixin.ALLN�rrrrlrrrrr �AllMixin�	r�rc@r�)z.TestFlag.test_multiple_mixin.<locals>.StrMixincSrbrmrcr�rrr rE
ruz6TestFlag.test_multiple_mixin.<locals>.StrMixin.__str__Nrurrrr re
r�rec@r#�z+TestFlag.test_multiple_mixin.<locals>.ColorNrnrrrr r0
r%r0rrrxr�roc@r#rrnrrrr r0
r%r/c@r#rrnrrrr r0
r%)rr�rnr�rorprr��rRrrer0rrr rv�	�(zTestFlag.test_multiple_mixinc�Gdd�dt��t��d����fdd���fdd�td�D�}t�|��Wd�n1s0wY|��d	�|�d
t��d�dS)Nc@�LeZdZe�Ze�Ze�Ze�Ze�Ze�Z	e�Z
e�Zdd�Zdd�Z
dS)z0TestFlag.test_unique_composite.<locals>.TestFlagcS�||uSrmrr�rrr r�,
r�z7TestFlag.test_unique_composite.<locals>.TestFlag.__eq__cSr
rm��hashr�r�rrr �__hash__.
ruz9TestFlag.test_unique_composite.<locals>.TestFlag.__hash__N�rrrr	r�r�r,�four�five�six�seven�eightr�r&rrrr r�#
�r�Fc�<ztd�D]	}���|��qWdStyd�YdSw�N�T�r<�addr��r��r��failed�seenrr �
cycle_enum3
��
�z2TestFlag.test_unique_composite.<locals>.cycle_enumc�g|]}tj�d��qS�)r?��	threading�Thread�r%r`�r7rr r(:
�
��z2TestFlag.test_unique_composite.<locals>.<listcomp>r��;at least one thread failed while creating composite membersr0�"too many composite members created)rr�r<r�
start_threadsrMr�r��rR�threadsr�r�r7r5r6r �test_unique_composite 
�
���zTestFlag.test_unique_compositecs:G�fdd�dt�}G�fdd�d|��Gdd�d��}Gdd�d|�}���jd	d���|jd	d���|jd
d���|j�d	d����|j�d
d��Gdd
�d
|�}Gdd�d|�}Gdd�d|�}��|jd	d���|j�d	d����|jd
d
���|j�d	d����|j�d
d��dS)Ncr])z+TestFlag.test_init_subclass.<locals>.MyEnumcs0t�jdi|����|j�dd��d|_dS)N�_testFr�r)rb�__init_subclass__rM�__dict__�get�_test1�r��kwds)r�rRrr rJH
s
z=TestFlag.test_init_subclass.<locals>.MyEnum.__init_subclass__�rrrrJrjrr�rlr r�G
rmr�cseZdZ��fdd�Z�ZS)z.TestFlag.test_init_subclass.<locals>.TheirEnumcs t�|�jdi|��d|_dS)N�	TheirEnumr)rbrJ�_test2rN)rQr�rr rJN
s
z@TestFlag.test_init_subclass.<locals>.TheirEnum.__init_subclass__rPr)rQrlr rQM
rmrQc@r�)z.TestFlag.test_init_subclass.<locals>.WhoseEnumc[r�rmrrNrrr rJR
r�z@TestFlag.test_init_subclass.<locals>.WhoseEnum.__init_subclass__N�rrrrJrrrr �	WhoseEnumQ
r�rTc@r%)z+TestFlag.test_init_subclass.<locals>.NoEnumrN�rrrr�rrrr �NoEnumT
r(rVrMrRFc@r�)z,TestFlag.test_init_subclass.<locals>.OurEnumc[s
d|_dS)N�OurEnum)rRrNrrr rJ]
ruz>TestFlag.test_init_subclass.<locals>.OurEnum.__init_subclass__NrSrrrr rW\
r�rWc@r�)z.TestFlag.test_init_subclass.<locals>.WhereEnumc[r�rmrrNrrr rJ`
r�z@TestFlag.test_init_subclass.<locals>.WhereEnum.__init_subclass__NrSrrrr �	WhereEnum_
r�rXc@r%)z.TestFlag.test_init_subclass.<locals>.NeverEnumrNrUrrrr �	NeverEnumb
r(rY)rr�rKrMrL)rRr�rTrVrWrXrYr)rQrRr �test_init_subclassF
s"zTestFlag.test_init_subclassN)&rrrr'rr�r�r0r�r�r�r�r�r�r�rrrrrrr	r�r�r�rrr
r'rrrBrrvr�reap_threadsrGrZrrrr r��sN
�
�
+
%r�c@seZdZdZGdd�de�ZGdd�de�ZGdd�de�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Ze�ed&kd'�d(d)��Ze�ed&kd*�d+d,��Zd-d.�Zd/d0�Zd1d2�Zej d3d4��Z!d5S)6�TestIntFlagzTests of the IntFlags.c@r)zTestIntFlag.PermrrrxN)rrrr�r�r�rrrr r�n
r!r�c@r�)zTestIntFlag.Openrrrrr�Nr�rrrr r�s
r�r�c@r�)zTestIntFlag.ColorrrrrxNr�rrrr r0z
r�r0cCs�|j}|�|jtu�|j}|D]}|�t||��|�||j�q|�t|j|j	B|��|�|j|j	Bd�|D]}|�t||��|�||j�q:|�t|j
|jB|��|�|j
|jBd�dS)Nr)r�rQrr�r�r�r�r�r�r�r�r�)rRr�r�r�rrr �	test_type�
szTestIntFlag.test_typecCsn|j}|�t|j�d�|�t|j�d�|�t|j�d�|�t|j|jB�d�|�t|j|jB|jB�d�|�t|jdB�d�|�t|d��d	�|�t|d��d
�|�t|j�d�|�t|j�d�|�t|j�d�|�t|j|jB�d�|�t|j|jB|jB�d
�|�t|jdB�d�|�t|d��d�|�t|d��d�|j}|�t|j�d�|�t|j�d�|�t|j	�d�|�t|j|j
B�d�|�t|j|j
B�d�|�t|d��d�|�t|j�d�|�t|j�d�|�t|j	�d�|�t|j|j
B�d�|�t|j|j
B�d�|�t|d��d�dS)Nr�r�r�r�r�r�zPerm.8|Rrr�zPerm.8r�r�zPerm.-8r����r�r�r�r�r�rxzOpen.4r�r�z
Open.AC|RW|WOr����r�r�rrr r��
�< zTestIntFlag.test_strcCsn|j}|�t|j�d�|�t|j�d�|�t|j�d�|�t|j|jB�d�|�t|j|jB|jB�d�|�t|jdB�d�|�t|d��d	�|�t|d��d
�|�t|j�d�|�t|j�d�|�t|j�d
�|�t|j|jB�d�|�t|j|jB|jB�d�|�t|jdB�d�|�t|d��d�|�t|d��d�|j}|�t|j�d�|�t|j�d�|�t|j	�d�|�t|j|j
B�d�|�t|j|j
B�d�|�t|d��d�|�t|j�d�|�t|j�d�|�t|j	�d�|�t|j|j
B�d�|�t|j|j
B�d �|�t|d!��d"�dS)#Nr�r�r�r�r�r�z<Perm.8|R: 12>rr�z<Perm.8: 8>z<Perm.W|X: -5>z<Perm.R|X: -3>z<Perm.R|W: -2>z<Perm.X: -7>z
<Perm.-8: -8>z<Perm.W|X: -13>r�z<Perm.R|W|X: -1>r^z<Perm.R|W|X: -9>r�r�r�r�r�rxz<Open.4: 4>z<Open.CE|AC|RW|WO: -1>z<Open.CE|RW: -2>z
<Open.CE: -4>z<Open.AC|RW|WO: -524289>z<Open.RW: -524290>r_z<Open.CE|AC|RW|WO: -5>r�r�rrr r��
r`zTestIntFlag.test_reprcCr�)Nr��4�5r�r�rrr r��
r�zTestIntFlag.test_formatcCsL|j}|D]s}|D]%}|�||B|j|jB�|�||Bj|j|jB�|�t||B�|�q	td�D]D}|�||B|j|B�|�||Bj|j|B�|�t||B�|�|�||B||jB�|�||Bj||jB�|�t||B�|�q3q|D]}|�||B|�|�|dB|�|�d|B|�q{|j}|�|j|jB|j�dS�Nr�r�	r�r�r�r�r�r<r�r�r�r�rrr r��
s(�zTestIntFlag.test_orc
	Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D]�}|D]4}|�||@|j|j@d||f�|�||@j|j|j@d||f�|�t||@�|d||f�q1t	d�D]D}|�||@|j|@�|�||@j|j|@�|�t||@�|�|�||@||j@�|�||@j||j@�|�t||@�|�qjq-|D]}|�||@|�|�|d@|�|�d|@|�q�|j
}	|�|	j|	j@|	j�dS)Nrzi is %r, j is %rr�r�)
r�r�r�r�r�r�r�r�r�r<r�r�r�r�rrr r��
s2"$ �zTestIntFlag.test_andcCsR|j}|D]s}|D]%}|�||A|j|jA�|�||Aj|j|jA�|�t||A�|�q	td�D]D}|�||A|j|A�|�||Aj|j|A�|�t||A�|�|�||A||jA�|�||Aj||jA�|�t||A�|�q3q|D]}|�|dA|�|�d|A|�q{|j}|�|j|jA|j�|�|j|jA|j�dSrcrdr�rrr r�s(�zTestIntFlag.test_xorc	Cs|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D]&}|�||j�|�|j|j�|�t|�|�|�||�q-|D]
}|�||�qV|j	}|�|j
|j
@|j�|�|j
|jB|j
@|j�dSr�)
r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr r�s "zTestIntFlag.test_invertcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]7\}}d|>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q.dSr��rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr r.s
�z,TestIntFlag.test_programatic_function_stringcCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]7\}}d|>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q0dSrrer�rrr r>��z7TestIntFlag.test_programatic_function_string_with_startcCs�tdgd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]7\}}d|>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q0dSrrer�rrr rNrfz1TestIntFlag.test_programatic_function_string_listcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D];\}}dd|d>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q.dSrrer�rrr r^s
�z.TestIntFlag.test_programatic_function_iterablecCs�tdtd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td�	��D];\}}dd|d>}||�}|�|j
|�|�t|j
�t�|�||�|�|j
|�|�||�|�t|�|�q0dSr)rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr rns�z/TestIntFlag.test_programatic_function_from_dictcCsxt�dg�}t|�}|�t|�t|��|�t|�d|�t�dg�}t|�}|�t|�t|��|�t|�d|�dS)Nr�r�Thing�rNrr�r�r�r�rRr�r�rgrrr �)test_programatic_function_from_empty_listsz5TestIntFlag.test_programatic_function_from_empty_listcCspt�dd�}t|�}|�t|�t|��|�t|�d|�t�dd�}|�t|�t|��|�t|�d|�dS)Nr�rrrgrhrirrr �*test_programatic_function_from_empty_tuple�sz6TestIntFlag.test_programatic_function_from_empty_tuplerrc	Cs�|j}|j}|�|j|v�|�|j|v�|�|j|v�|�|j|v�|�t��!|�t	��d|vWd�n1s@wYWd�n1sOwY|�t��!|�t	��d|vWd�n1snwYWd�n1s}wY|�t��!|�t	��d|vWd�n1s�wYWd�n1s�wY|�t��*|�t	��d|vWd�n1s�wYWd�dSWd�dS1s�wYdS�Nror�r)
r�r0rQror�rMr�rrrrrrr r�s>
���
���
���
��"�zTestIntFlag.test_contains_errcCs�|j}|j}|�|j|v�|�|j|v�|�|j|v�|�|j|v�|�d|v�|�d|v�|�d|v�|�d|v�dSrl)r�r0rQror�rMrrrr r�szTestIntFlag.test_contains_tfc	Cs|j}|\}}}||B}||B}||B}||B|B}|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�t��|�d|v�Wd�dS1s�wYdS)Nr�)r�rQrMr�rrrrr r
�s*
"�z TestIntFlag.test_member_containscCr�rmr�r�rrr r�r�zTestIntFlag.test_boolcCr)Nc@r^)z1TestIntFlag.test_multiple_mixin.<locals>.AllMixincSrr^rrrrr r�rz5TestIntFlag.test_multiple_mixin.<locals>.AllMixin.ALLNrrrrr r�r�rc@r�)z1TestIntFlag.test_multiple_mixin.<locals>.StrMixincSrbrmrcr�rrr rE�ruz9TestIntFlag.test_multiple_mixin.<locals>.StrMixin.__str__Nrurrrr re�r�rec@r#�z.TestIntFlag.test_multiple_mixin.<locals>.ColorNrnrrrr r0�r%r0rrrxr�roc@r#rmrnrrrr r0�r%r/c@r#rmrnrrrr r0�r%)rr�rnr�rorprr�rrrr rv�r zTestIntFlag.test_multiple_mixincr!)Nc@r")z3TestIntFlag.test_unique_composite.<locals>.TestFlagcSr#rmrr�rrr r�r�z:TestIntFlag.test_unique_composite.<locals>.TestFlag.__eq__cSr
rmr$r�rrr r&ruz<TestIntFlag.test_unique_composite.<locals>.TestFlag.__hash__Nr'rrrr r�r-r�Fcr.r/r1r3r4rr r7r8z5TestIntFlag.test_unique_composite.<locals>.cycle_enumcr9r:r;r>r?rr r(r@z5TestIntFlag.test_unique_composite.<locals>.<listcomp>r�rAr0rB)rr�r<rrCrMr�r�rDrrFr rGrHz!TestIntFlag.test_unique_compositeN)"rrrr'rr�r�r0r]r�r�r�r�r�r�r�rrrrrrjrkr�r�r�rrr
rrvrr[rGrrrr r\k
sF!!	�
�
+r\c@rD)�TestEmptyAndNonLatinStringscCs:|�t��tdd�}Wd�dS1swYdS)N�	empty_abc)r�r�r�r)rRrorrr �test_empty_string-s"�z-TestEmptyAndNonLatinStrings.test_empty_stringcC�&tdd�}t|d�}|�|jd�dS)N�	greek_abc)�αr�r�rsr�rr�r�r�)rRrrrLrrr �test_non_latin_character_string1�

z;TestEmptyAndNonLatinStrings.test_non_latin_character_stringcCrq)N�
hebrew_123)�א�2�3rxrrt)rRrwrLrrr �test_non_latin_number_string6rvz8TestEmptyAndNonLatinStrings.test_non_latin_number_stringN)rrrrprur{rrrr rn+srnc@rD)�
TestUniquecC�,tGdd�dt��}tGdd�dt��}dS)Nc@r)z+TestUnique.test_unique_clean.<locals>.Cleanrr/g@N�rrrr�r�r0rrrr �Clean?r}rc@r)z-TestUnique.test_unique_clean.<locals>.CleanerrrrN)rrr�single�double�triplerrrr �CleanerDr}r��rrr)rRrr�rrr �test_unique_clean>�zTestUnique.test_unique_cleancCs�|�td��tGdd�dt��}Wd�n1swY|�td��tGdd�dt��}Wd�dS1s<wYdS)Nz	tres.*onec@rq)z+TestUnique.test_unique_dirty.<locals>.Dirtyrr/Nr~rrrr �DirtyLr}r�zdouble.*single.*turkey.*triplec@seZdZdZdZdZdZdS)z-TestUnique.test_unique_dirty.<locals>.DirtierrrN)rrrr�r�r��turkeyrrrr �DirtierU�
r�)r�rrrr)rRr�r�rrr �test_unique_dirtyJs��"�zTestUnique.test_unique_dirtycCr})Nc@r)z/TestUnique.test_unique_with_name.<locals>.Sillyrr/rN)rrrr�r�r�rrrr �Silly]r}r�c@rw)z1TestUnique.test_unique_with_name.<locals>.SillierrrrrxN)rrrr�r�r�r�rrrr �Sillierbr�r�r�)rRr�r�rrr �test_unique_with_name\r�z TestUnique.test_unique_with_nameN)rrrr�r�r�rrrr r|<sr|a�Help on class Color in module %s:

class Color(enum.Enum)
 |  Color(value, names=None, *, module=None, qualname=None, type=None, start=1)
 |  
 |  An enumeration.
 |  
 |  Method resolution order:
 |      Color
 |      enum.Enum
 |      builtins.object
 |  
 |  Data and other attributes defined here:
 |  
 |  blue = <Color.blue: 3>
 |  
 |  green = <Color.green: 2>
 |  
 |  red = <Color.red: 1>
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |  
 |  name
 |      The name of the Enum member.
 |  
 |  value
 |      The value of the Enum member.
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from enum.EnumMeta:
 |  
 |  __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:
 |  
 |  blue = <Color.blue: 3>
 |  
 |  green = <Color.green: 2>
 |  
 |  red = <Color.red: 1>
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |  
 |  name
 |  
 |  value
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.EnumMeta:
 |  
 |  __members__c@s8eZdZdZGdd�de�Zdd�Zdd�Zdd	�ZdS)
�
TestStdLibNc@r)zTestStdLib.ColorrrrNr,rrrr r0�r!r0cCsTtjdur
tt}ntt}t�}tj|d�}||j�|�	��
�}|�||�dS)N)�output)r&r'�!expected_help_output_without_docsr�expected_help_output_with_docsr
�pydoc�Helperr0�getvalue�stripr�)rR�
expected_textr��helper�resultrrr �
test_pydoc�s


zTestStdLib.test_pydoccCs�tdtfdd|jjfdtfd|jjfd|jjfdtjdfd|jj	fd	tjd	ff	�}tt
�|j��}|�|�
�|�
��d
}|�
�D] }||||krct�tdd|||||dfd
d�d}qC|rm|�d�dSdS)Nr�)r'�An enumeration.r�rr/r.r�r-r�Fz.
%s
     key: %s
  result: %s
expected: %s
%s
�K===========================================================================r���sepT�/result does not equal expected, see print above)�dictrr0r�rr/r.rrKr-�inspect�
getmembersr��keysr��fail)rRr�r�r5r&rrr �test_inspect_getmembers�s6



�����z"TestStdLib.test_inspect_getmemberscCs4ddlm}|ddttd�|dd|jdd�|dd	ttjd�|d
d|jtd�|dd|j|jjd�|dd|j|jjd�|d
d|j|jj	d�|ddt
t
jdd�|ddt
t
jdd�g	}|jdd�d�t
t�|j��}|jdd�d�d}t||�D]\}}||kr�tdd||dfdd�d}qx|r�|�d�dSdS)Nr)�	Attributer��data)r��kind�defining_classrqr'r�r�r5rr/r.r-r�r�cSr�rmr��rLrrr �<lambda>��z>TestStdLib.test_inspect_classify_class_attrs.<locals>.<lambda>)�keycSr�rmr�r�rrr r��r�Fz
%s
%s
%s
%s
r�r�r�Tr�)r�r�rqrr0r�rr/r.r-rrK�sortr��classify_class_attrsrr�r�)rRr�r�r�r5r'�rrrr �!test_inspect_classify_class_attrs�sR����
�
�
�
�
����z,TestStdLib.test_inspect_classify_class_attrs)	rrr�maxDiffrr0r�r�r�rrrr r��sr�c@r�)�MiscTestCasecCst|t�dSrm)rrNr�rrr �test__all__
r�zMiscTestCase.test__all__N)rrrr�rrrr r�
r�r�r�c@sLeZdZdd�Zdd�Ze�edkd�dd��Ze�ed	kd
�dd��Z	d
S)�TestIntEnumConvertcCs4tjjddtdkdd�d�}|�|d�jd�dS)	N�UnittestConvert�ztest.test_enum�__main__r�cS�
|�d�S�N�
CONVERT_TEST_��
startswith�r�rrr r�
�
zGTestIntEnumConvert.test_convert_value_lookup_priority.<locals>.<lambda>��filterr��CONVERT_TEST_NAME_A)rNr�	_convert_rr�r��rRr]rrr �"test_convert_value_lookup_priority
s
�z5TestIntEnumConvert.test_convert_value_lookup_prioritycCs�tjjddtdkdd�d�}|�|j|j�|�|jd�|�|jd�|�|j	d�|�|j
d�|jdd	�t|�D�gd
d�dS)Nr�r�r�cSr�r�r�r�rrr r�
r�z1TestIntEnumConvert.test_convert.<locals>.<lambda>r�r�cSs g|]}|dd�dvr|�qS)rr)�COrar)r%r�rrr r('
s�z3TestIntEnumConvert.test_convert.<locals>.<listcomp>z&Names other than CONVERT_TEST_* found.)�msg)rNrr�rr��CONVERT_TEST_NAME_Fr��CONVERT_TEST_NAME_B�CONVERT_TEST_NAME_C�CONVERT_TEST_NAME_D�CONVERT_TEST_NAME_Er�r�rrr �test_convert
s
��
�zTestIntEnumConvert.test_convert)rr�z_convert was deprecated in 3.8cC�N|�t��tjjddtdkdd�d�Wd�dS1s wYdS)Nr�r�r�cSr�r�r�r�rrr r�2
r�z6TestIntEnumConvert.test_convert_warn.<locals>.<lambda>r�)rrrNr�_convertrr�rrr �test_convert_warn+
�
�"�z$TestIntEnumConvert.test_convert_warnr�z_convert was removed in 3.9cCr�)Nr�r�r�cSr�r�r�r�rrr r�;
r�z7TestIntEnumConvert.test_convert_raise.<locals>.<lambda>r�)r�r�rNrr�rr�rrr �test_convert_raise4
r�z%TestIntEnumConvert.test_convert_raiseN)
rrrr�r�r�r�r�r�r�rrrr r�
s

�

�r�c@s8eZdZdZdZdZdZdZdd�Zdd	�Z	d
d�Z
dS)
rE)�_bad_�_good_�	_what_ho_)�__mal__�__bien__�__que_que__)�_MyEnum__private�_MyEnum__still_private)�_MyEnum__private_�_MyEnum__also_private_)�okay�
_semi_private�_weird__�	_MyEnum__cCsZ|j|jD]
}|�t�|�d|�q|j|j|jD]
}|�t�|�d|�qdS)Nz%r is a not sunder name?z%r is a sunder name?)	�sunder_names�private_and_sunder_namesrQrNre�dunder_names�
private_names�random_namesrM�rRr�rrr �test_sunderE
s
�zTestHelpers.test_sundercCsZ|jD]
}|�t�|�d|�q|j|j|j|jD]
}|�t�|�d|�qdS)Nz%r is a not dunder name?z%r is a dunder name?)	r�rQrNrjr�r�r�r�rMr�rrr �test_dunderK
s

�zTestHelpers.test_dundercCsV|j|jD]}|�t�d|�d�q|j|j|jD]}|�t�d|�d�qdS)Nr�z%r is a not private name?z%r is a private name?)	r�r�rQrN�_is_privater�r�r�rMr�rrr �test_is_privateQ
s
�zTestHelpers.test_is_privateN)rrrr�r�r�r�r�r�r�r�rrrr rE=
sr�rm)ErNr�r��sysr�r<�collectionsrrrrrrrr	�ior
�picklerrr
r�test.supportrrrr�r�version_infor�rr�rGr�r"r�r#r$r�r&r*rr/r2r3r6r@rC�TestCaserErlrvr�r�r\rnr|r�r�r�r�r�r�r�r�r�r�r��mainrrrr �<module>s�$�����������������
r>BC/'P.
�

Youez - 2016 - github.com/yon3zu
LinuXploit