Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_enum.cpython-39.opt-2.pyc

a

��g���
@s�ddlZddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZddlmZddlmZmZmZmZddlmZddlmZddlmZzGd	d
�d
e�ZWn(ey�ZzeZWYdZ[n
dZ[00zGdd�dee�Z Wn*e�y&ZzeZ WYdZ[n
dZ[00zGd
d�de!e�Z"Wn*e�yhZzeZ"WYdZ[n
dZ[00zGdd�de�Z#Wn*e�y�ZzeZ#WYdZ[n
dZ[00z&Gdd�de$e�Z%Gdd�de%�Z&Wn*e�y�ZzeZ&WYdZ[n
dZ[00zedde'd�Z(Wn*e�y8ZzeZ(WYdZ[n
dZ[00zedd�Z)Wn*e�yrZzeZ)WYdZ[n
dZ[00zedddd�Z*Wn*e�y�ZzeZ*WYdZ[n
dZ[00zGdd�de�Z+Wne�y�Yn0d>d d!�Z,d"d#�Z-Gd$d%�d%ej.�Z/Gd&d'�d'�Z0Gd(d)�d)ej.�Z1Gd*d+�d+ej.�Z2Gd,d-�d-ej.�Z3Gd.d/�d/ej.�Z4Gd0d1�d1ej.�Z5Gd2d3�d3ej.�Z6d4Z7d5Z8Gd6d7�d7ej.�Z9Gd8d9�d9ej.�Z:d:Z;d:Z<d:Z=d:Z>d:Z?d:Z@Gd;d<�d<ej.�ZAe'd=k�r�e�B�dS)?�N)�OrderedDict)�Enum�IntEnum�EnumMeta�Flag�IntFlag�unique�auto)�StringIO)�dumps�loads�
PicklingError�HIGHEST_PROTOCOL)�support)�	ALWAYS_EQ)�	timedeltac@seZdZdZdZdZdS)�Stooges���N��__name__�
__module__�__qualname__ZLARRY�CURLY�MOE�rr�*/usr/local/lib/python3.9/test/test_enum.pyrsrc@seZdZdZdZdZdS)�
IntStoogesrrrNrrrrrrsrc@seZdZdZdZdZdS)�FloatStoogesg=
ףp=�?g�(\��@g�R$_	$	@Nrrrrrr"src@seZdZdZdZdZdS)�FlagStoogesrrrNrrrrrr *sr c@seZdZdS)�StrEnumN�rrrrrrrr!3sr!c@seZdZdZdZdS)�Name�Guido van RossumzBarry WarsawN)rrr�BDFLZFLUFLrrrrr#5sr#�Questionzwho what when where why��module�Answerzhim this then there because�Theoryzrule law supposition�spanish_inquisition)�qualnamec@seZdZdZdZdZdS)�FruitrrrN)rrrZTOMATOZBANANAZCHERRYrrrrr-Lsr-cCs8|dur|}ttd�D]}|tt||d��|�qdS�Nr)�protocol)�rangerrr)�	assertion�source�targetr/rrr�test_pickle_dump_loadSsr4c	CsJttd�D]8}||��t||d�Wd�q1s:0YqdSr.)r0rr)r1�	exception�objr/rrr�test_pickle_exceptionYs
r7c@s$eZdZdd�Zdd�Zdd�ZdS)�TestHelperscCsNGdd�d�}dD]6}|�}|�t�|��t||d�|�t�|��qdS)Nc@seZdZdS)z+TestHelpers.test_is_descriptor.<locals>.fooNr"rrrr�foobsr9)�__get__�__set__�
__delete__r)�assertFalse�enum�_is_descriptor�setattr�
assertTrue)�selfr9�attrr6rrr�test_is_descriptoraszTestHelpers.test_is_descriptorcCs8dD]}|�t�|��qdD]}|�t�|��qdS)N)�_a_Z_aa_)
�a�a_�_a�__a�a__�__a__�_a__�__a_�_�__�___�____�_____)rAr>�
_is_sunderr=�rB�srrr�test_is_sunderjszTestHelpers.test_is_sundercCs8dD]}|�t�|��qdD]}|�t�|��qdS)N)rKZ__aa__)
rFrGrHrIrJrErLrMrNrOrPrQrR)rAr>�
_is_dunderr=rTrrr�test_is_dunderrszTestHelpers.test_is_dunderN)rrrrDrVrXrrrrr8^s	r8c@seZdZddd�Zdd�ZdS)�
classpropertyNcCs2||_||_||_|dur(|dur(|j}||_dS�N)�fget�fset�fdel�__doc__)rBr[r\r]�docrrr�__init__}szclassproperty.__init__cCs
|�|�SrZ)r[)rB�instance�
ownerclassrrrr:�szclassproperty.__get__)NNNN)rrrr`r:rrrrrY{s
rYc@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��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�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��Ze���e�j�d�d��d�kd��d��d��Z�d�S(�TestEnumcCs�Gdd�dt�}||_Gdd�dtt�}||_Gdd�dt�}||_Gdd�dtt�}||_d	d
lm	}Gdd�d|t�}||_
dS)
Nc@seZdZdZdZdZdZdS)zTestEnum.setUp.<locals>.Seasonrrr�N)rrr�SPRING�SUMMER�AUTUMN�WINTERrrrr�Season�sric@seZdZdZdZdeZdS)z!TestEnum.setUp.<locals>.KonstantsgB�
�@�J�M�!	@rN)rrr�EZPI�TAUrrrr�	Konstants�srmc@s eZdZdZdZdZdZdZdS)zTestEnum.setUp.<locals>.Grades�rdrrrN�rrr�A�B�C�D�Frrrr�Grades�s
ruc@seZdZdZdZdZdZdS)z#TestEnum.setUp.<locals>.DirectionalZeastZwestZnorthZsouthN)rrrZEAST�WESTZNORTHZSOUTHrrrr�Directional�srwr)�datec@seZdZdZdZdS)zTestEnum.setUp.<locals>.Holiday)��rr)ryr�N)rrrZNEW_YEAR�
IDES_OF_MARCHrrrr�Holiday�sr|)rri�floatrmrru�strrw�datetimerxr|)rBrirmrurwrxr|rrr�setUp�szTestEnum.setUpcCs&|j}|�tt|��tgd���dS)N)�	__class__r^�__members__rrerfrgrh)ri�assertEqual�set�dir�rBrirrr�test_dir_on_class�s


�zTestEnum.test_dir_on_classcCs(|j}|�tt|j��tgd���dS)N)r�r^r�name�value)rir�r�r�rhr�rrr�test_dir_on_item�s

�zTestEnum.test_dir_on_itemcCsNGdd�dt�}|�tt|��tgd���|�tt|j��tgd���dS)Nc@seZdZdZdZdd�ZdS)z3TestEnum.test_dir_with_added_behavior.<locals>.Test�that�thosecSs
d|jS)NzWowser! I'm %s!�r��rBrrr�wowser�sz:TestEnum.test_dir_with_added_behavior.<locals>.Test.wowserN)rrr�this�theser�rrrr�Test�sr�)r�r^r�rr�r�)r�r^rr�r�r�)rr�r�r�r�)rBr�rrr�test_dir_with_added_behavior�s

�
�z%TestEnum.test_dir_with_added_behaviorcCsBGdd�dt�}Gdd�d|�}|�tt|j��tgd���dS)Nc@seZdZdd�ZdS)zBTestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnumcSsdS)Nzdid you see me?rr�rrr�	invisible�szLTestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnum.invisibleN)rrrr�rrrr�	SuperEnum�sr�c@seZdZdZdS)z@TestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SubEnumrnN�rrr�samplerrrr�SubEnum�sr�)r�r^rr�r�r�)rr�r�r�r��rBr�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�cSst�||�}||_||_|SrZ)�int�__new__�_value_�description)�clsr�r�r6rrrr��szbTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SuperEnum.__new__N)r��rrrr�rrrrr��sr�c@seZdZdZdS)zXTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SubEnumrnNr�rrrrr��sr�r�)rrAr�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�dSrZ)ri�assertIsrhr�rrr�test_enum_in_enum_out�szTestEnum.test_enum_in_enum_outcCs|j}|�|jjd�dS�Nr)rir�rer�r�rrr�test_enum_value�szTestEnum.test_enum_valuecCs|�tjjd�dS)Nr)r�rrr�r�rrr�test_intenum_value�szTestEnum.test_intenum_valuecCs|j}t|�}|�t|�t|��|�t|�d|�|�|j|j|j|jg|�td�	�d�D]�\}}||�}|�|t
||��|�|j|�|�||�|�|j
|�|�||�|�t|�|�|�||�|�t|�d|�|�t|�d�||��q^dS)NrdzSPRING SUMMER AUTUMN WINTERrzSeason.z<Season.{0}: {1}>)ri�listr��lenrerfrgrh�	enumerate�split�getattrr��assertNotEqualr��assertInr��type�assertIsInstancer~�repr�format)rBri�lst�iZseason�errr�	test_enum�s*�
�zTestEnum.test_enumcCs�|j}|�|jjd�|�|jjd�|�t��d|j_Wd�n1sN0Y|�t��d|j_Wd�n1s�0YdS)NrerZinviernor)rir�rer�r��assertRaises�AttributeErrorr�rrr�test_value_names&zTestEnum.test_value_namecCs:|j}|�t��d|_Wd�n1s,0YdS)Nzreally cold)rir�r�rhr�rrr�test_changing_memberszTestEnum.test_changing_membercCs�Gdd�dt�}|�t|d��|`|�t|d��|�t��|`Wd�n1sX0Y|�t��|`Wd�n1s�0Y|�t��|j`	Wd�n1s�0YdS)Nc@s$eZdZdZdZdZdZdd�ZdS)z0TestEnum.test_attribute_deletion.<locals>.SeasonrrrrdcSsdSrZr)r�rrr�spamsz5TestEnum.test_attribute_deletion.<locals>.Season.spamN)rrrrerfrgrhr�rrrrris
rir�)
rrA�hasattrr�r=r�r�reZDRYr�r�rrr�test_attribute_deletions	""z TestEnum.test_attribute_deletioncCs"Gdd�dt�}|�t|��dS)Nc@seZdZdS)z*TestEnum.test_bool_of_class.<locals>.EmptyNr"rrrr�Empty,sr��rrA�bool)rBr�rrr�test_bool_of_class+szTestEnum.test_bool_of_classcCs,Gdd�dt�}|D]}|�t|��qdS)Nc@seZdZdZdZdZdS)z+TestEnum.test_bool_of_member.<locals>.CountrrrN)rrrZzero�one�tworrrr�Count1sr�r�)rBr��memberrrr�test_bool_of_member0szTestEnum.test_bool_of_membercCs(|�t�� Gdd�dt�}Wd�n1s00Y|�t�� Gdd�dt�}Wd�n1sj0Y|�t�� Gdd�dt�}Wd�n1s�0Y|�t�� Gdd�dt�}Wd�n1s�0Y|�t�� Gdd�dt�}Wd�n1�s0YdS)Nc@seZdZdZdS��*TestEnum.test_invalid_names.<locals>.Wrong�	N)rrr�mrorrrr�Wrong:sr�c@seZdZdZdS)r��N)rrr�_create_rrrrr�=sc@seZdZdZdSr�)rrr�_get_mixins_rrrrr�@sc@seZdZdZdS)r�rN)rrr�
_find_new_rrrrr�Csc@seZdZdZdSr�)rrrZ
_any_name_rrrrr�Fs�r��
ValueErrorr�rBr�rrr�test_invalid_names8s....zTestEnum.test_invalid_namescCs~Gdd�dt�}|�|j�|�|j�Gdd�dt�}|�|j�|�|j�Gdd�dtt�}|�|j�|�|j�dS)Nc@seZdZdZdZdS)z!TestEnum.test_bool.<locals>.LogicTFN�rrr�true�falserrrr�LogicKsr�c@seZdZdZdZdd�ZdS)z%TestEnum.test_bool.<locals>.RealLogicTFcSs
t|j�SrZ)r�r�r�rrr�__bool__Tsz.TestEnum.test_bool.<locals>.RealLogic.__bool__N)rrrr�r�r�rrrr�	RealLogicQsr�c@seZdZdZdZdS)z$TestEnum.test_bool.<locals>.IntLogicrrNr�rrrr�IntLogicYsr�)rrAr�r�r=r�)rBr�r�r�rrr�	test_boolIszTestEnum.test_boolcCs�|j}|�|j|�|�t��d|vWd�n1s<0Y|�t��d|vWd�n1sn0Y|d�}|�||�Gdd�dt�}|�|j|�dS)Nrrgc@seZdZdZdZdS)z)TestEnum.test_contains.<locals>.OtherEnumrrN�rrrr�r�rrrr�	OtherEnumjsr�)rir�rgr��	TypeErrorrZassertNotInr�)rBri�valr�rrr�
test_contains_s&&zTestEnum.test_containscCs�|j}|�t��|j|jkWd�n1s20Y|�t��|jdkWd�n1sf0Y|�|jd�Gdd�dt�}|�|j|j�|�t��|j|jkWd�n1s�0YdS)Nrdrc@seZdZdZdZdZdS)z'TestEnum.test_comparisons.<locals>.PartrrrN)rrrre�CLIPZBARRELrrrr�Partwsr�)rir�r�rerhr�rr�)rBrir�rrr�test_comparisonsns*(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>.SeasonrrrrdN)	rrrrerfrg�FALLrh�ANOTHER_SPRINGrrrrri�s
rirrrgcSsg|]\}}|j|kr|�qSrr���.0�k�vrrr�
<listcomp>��z1TestEnum.test_enum_duplicates.<locals>.<listcomp>r�r�)
rr�r�rerfrgrhr�r�r�r�r��items)rBrir�rrr�test_enum_duplicates�s$���zTestEnum.test_enum_duplicatescCs�|�t�� Gdd�dt�}Wd�n1s00Y|�t�� Gdd�dt�}Wd�n1sj0Y|�t�� Gdd�dt�}Wd�n1s�0YdS)Nc@seZdZdZdZdZdZdS)�+TestEnum.test_duplicate_name.<locals>.ColorrrrrdN�rrr�red�green�bluerrrr�Color�sr�c@s eZdZdZdZdZdd�ZdS)r�rrrcSsdS)Nr�rr�rrrr��s�/TestEnum.test_duplicate_name.<locals>.Color.redNr�rrrrr��sc@s$eZdZedd��ZdZdZdZdS)r�cSsdS)NZredderrr�rrrr��sr�rrrN)rrr�propertyr�r�r�rrrrr��s

�r�r�r�rBr�rrr�test_duplicate_name�s..zTestEnum.test_duplicate_namecCs^Gdd�dt�}|�t|�|j|jg�|�t|j�|�|�|jjd�|�|jjd�dS)Nc@seZdZdZdZdS)z/TestEnum.test_enum_with_value_name.<locals>.HuhrrN)rrrr�r�rrrr�Huh�sr�r�r)rr�r�r�r�r�r�)rBr�rrr�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})rir�r�rer~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>.EnumWithStrOverridescSsdS�N�Str!rr�rrr�__str__�szETestEnum.test_str_override_enum.<locals>.EnumWithStrOverrides.__str__N)rrrr	r�r�rrrrr�EnumWithStrOverrides�srrr��rr�r~r�r�)rBrrrr�test_str_override_enum�szTestEnum.test_str_override_enumcCs:Gdd�dt�}|�t|j�d�|�d�|j�d�dS)Nc@seZdZdZdZdd�ZdS)zBTestEnum.test_format_override_enum.<locals>.EnumWithFormatOverride��?�@cSsdS)N�Format!!r�rB�specrrr�
__format__�szMTestEnum.test_format_override_enum.<locals>.EnumWithFormatOverride.__format__N�rrrr�r�rrrrr�EnumWithFormatOverride�srzEnumWithFormatOverride.oner�rr)rBrrrr�test_format_override_enum�sz"TestEnum.test_format_override_enumcCs:Gdd�dt�}|�t|j�d�|�d�|j�d�dS)Nc@s(eZdZe�Ze�Zdd�Zdd�ZdS)zNTestEnum.test_str_and_format_override_enum.<locals>.EnumWithStrFormatOverridescSsdSrrr�rrrr�szVTestEnum.test_str_and_format_override_enum.<locals>.EnumWithStrFormatOverrides.__str__cSsdS�N�Format!rrrrrr�szYTestEnum.test_str_and_format_override_enum.<locals>.EnumWithStrFormatOverrides.__format__N)rrrr	r�r�rrrrrr�EnumWithStrFormatOverrides�srrr�rr)rBrrrr�!test_str_and_format_override_enum�sz*TestEnum.test_str_and_format_override_enumcCs<Gdd�dtt�}|�t|j�d�|�d�|j�d�dS)Nc@seZdZdZdZdd�ZdS)zBTestEnum.test_str_override_mixin.<locals>.MixinEnumWithStrOverrider	r
cSsdS)N�Overridden!rr�rrrr�szJTestEnum.test_str_override_mixin.<locals>.MixinEnumWithStrOverride.__str__N)rrrr�r�rrrrr�MixinEnumWithStrOverride�srrr��r}rr�r~r�r�)rBrrrr�test_str_override_mixin�sz TestEnum.test_str_override_mixincCs<Gdd�dtt�}|�t|j�d�|�d�|j�d�dS)Nc@s$eZdZdZdZdd�Zdd�ZdS)zPTestEnum.test_str_and_format_override_mixin.<locals>.MixinWithStrFormatOverridesr	r
cSsdSrrr�rrrr�szXTestEnum.test_str_and_format_override_mixin.<locals>.MixinWithStrFormatOverrides.__str__cSsdSrrrrrrr�sz[TestEnum.test_str_and_format_override_mixin.<locals>.MixinWithStrFormatOverrides.__format__N)rrrr�r�rrrrrr�MixinWithStrFormatOverrides�srrr�rr)rBrrrr�"test_str_and_format_override_mixin�sz+TestEnum.test_str_and_format_override_mixincCs<Gdd�dtt�}|�t|j�d�|�d�|j�d�dS)Nc@seZdZdZdZdd�ZdS)z6TestEnum.test_format_override_mixin.<locals>.TestFloatr	r
cSsdS)N�TestFloat success!rrrrrrszATestEnum.test_format_override_mixin.<locals>.TestFloat.__format__Nrrrrr�	TestFloatsrz
TestFloat.oner�rr)rBrrrr�test_format_override_mixin�sz#TestEnum.test_format_override_mixincCs|�|�|�|�|j��dSrZ)r�r�r�)rBr
r�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�rrz{:%Y %m}z{:%Y %m %M:00})r|rr{)rBr|rrr�test_format_enum_dateszTestEnum.test_format_enum_datecCs�|j}|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d	|j�dS)
Nr�r�r�r�rrz{:n}z{:5.2}z{:f})rmrrl)rBrmrrr�test_format_enum_floatszTestEnum.test_format_enum_floatcCs�|j}|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d	|j�dS)
Nr�r�r�r�rrz{:+}z{:08X}z{:b})rurrr)rBrurrr�test_format_enum_int"szTestEnum.test_format_enum_intcCs^|j}|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�|�d|j�dSr�)rwrrv)rBrwrrr�test_format_enum_str.szTestEnum.test_format_enum_strcCs&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__:sz:TestEnum.test_object_str_override.<locals>.Colors.__repr__N)	rrr�RED�GREEN�BLUEr&�objectrrrrr�Colors8s
r+ztest.RED)rr�r~r')rBr+rrr�test_object_str_override7sz!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@seZdZdd�ZdS)z2TestEnum.test_enum_str_override.<locals>.MyStrEnumcSsdS)N�MyStrrr�rrrrAsz:TestEnum.test_enum_str_override.<locals>.MyStrEnum.__str__N�rrrrrrrr�	MyStrEnum@sr/c@seZdZdd�ZdS)z5TestEnum.test_enum_str_override.<locals>.MyMethodEnumcSs
d|jS)NzHello!  My name is %sr�r�rrr�helloDsz;TestEnum.test_enum_str_override.<locals>.MyMethodEnum.helloN�rrrr0rrrr�MyMethodEnumCsr2c@seZdZdZdZdS)z2TestEnum.test_enum_str_override.<locals>.Test1EnumrrN�rrr�OneZTworrrr�	Test1EnumFsr5r-r�c@seZdZdZdZdS)z2TestEnum.test_enum_str_override.<locals>.Test2EnumrrNr3rrrr�	Test2EnumMsr6)rr�rA�
_member_type_r�r~r4r�)rBr/r2r5r6rrr�test_enum_str_override?szTestEnum.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@seZdZdZdd�ZdS)z1TestEnum.test_inherited_data_type.<locals>.HexInt�HexIntcSst|�SrZ��hexr�rrrr&Vsz:TestEnum.test_inherited_data_type.<locals>.HexInt.__repr__N�rrrr&rrrrr9Tsr9c@seZdZdZdZdZdZdS)z1TestEnum.test_inherited_data_type.<locals>.MyEnum�MyEnumrrrN)rrrrprqrrrrrrr=Xsr=z<MyEnum.A: 0x1>c@seZdZdZdS)z3TestEnum.test_inherited_data_type.<locals>.SillyInt�SillyIntNr"rrrrr>csr>c@seZdZdZdZdZdZdS)z6TestEnum.test_inherited_data_type.<locals>.MyOtherEnum�MyOtherEnumrdrn�N)rrrrsrkrtrrrrr?fsr?c@seZdZdZdd�ZdS)z4TestEnum.test_inherited_data_type.<locals>.BrokenInt�	BrokenIntcSst�||�SrZ)r�r��r�r�rrrr�ssz<TestEnum.test_inherited_data_type.<locals>.BrokenInt.__new__Nr�rrrrrAqsrAc@seZdZdZdZdZdZdS)z7TestEnum.test_inherited_data_type.<locals>.MyBrokenEnum�MyBrokenEnum��r�N)rrr�G�H�IrrrrrCusrCrD)r�r>rr�r�rp�globalsr4r�r7rkrFr7r�r�r
)rBr9r=r>r?rArCrrr�test_inherited_data_typeSs,





z!TestEnum.test_inherited_data_typecCs�|�td��$Gdd�dttt�}Wd�n1s60YGdd�dt�}Gdd�dt�}|�td��$Gdd�d||t�}Wd�n1s�0YdS)	Nztoo many data typesc@seZdZdZdS�z.TestEnum.test_too_many_data_types.<locals>.HuhrN�rrrr4rrrrr��sr�c@seZdZdd�ZdS)z0TestEnum.test_too_many_data_types.<locals>.MyStrcSsd|S)Nz	hello, %srr�rrrr0�sz6TestEnum.test_too_many_data_types.<locals>.MyStr.helloNr1rrrrr-�sr-c@seZdZdd�ZdS)z0TestEnum.test_too_many_data_types.<locals>.MyIntcSst|�SrZr:r�rrrr��sz5TestEnum.test_too_many_data_types.<locals>.MyInt.reprN)rrrr�rrrr�MyInt�srMc@seZdZdZdSrKrLrrrrr��s)�assertRaisesRegexr�r~r�r)rBr�r-rMrrr�test_too_many_data_types�s2z!TestEnum.test_too_many_data_typescCsH|j}i}d||j<d||j<d||j<d||j<|�||jd�dS)NZ1225Z0315Z0704Z1031)rirhrerfrgr�)rBriZdatesrrr�	test_hash�s



zTestEnum.test_hashcCs(Gdd�dtt�}|�|j|jk�dS)Nc@seZdZdZdeZdS)z/TestEnum.test_intenum_from_scratch.<locals>.phyrrN�rrr�pi�taurrrr�phy�srT�r�rrArRrS�rBrTrrr�test_intenum_from_scratch�sz"TestEnum.test_intenum_from_scratchcCs8Gdd�dtt�}Gdd�d|�}|�|j|jk�dS)Nc@seZdZdS)z0TestEnum.test_intenum_inherited.<locals>.IntEnumNr"rrrrr�src@seZdZdZdeZdS)z,TestEnum.test_intenum_inherited.<locals>.phyrrNrQrrrrrT�srTrU)rBrrTrrr�test_intenum_inherited�szTestEnum.test_intenum_inheritedcCs(Gdd�dtt�}|�|j|jk�dS)Nc@seZdZdZdeZdS)z1TestEnum.test_floatenum_from_scratch.<locals>.phyrjrNrQrrrrrT�srT�r}rrArRrSrVrrr�test_floatenum_from_scratch�sz$TestEnum.test_floatenum_from_scratchcCs8Gdd�dtt�}Gdd�d|�}|�|j|jk�dS)Nc@seZdZdS)z4TestEnum.test_floatenum_inherited.<locals>.FloatEnumNr"rrrr�	FloatEnum�sr[c@seZdZdZdeZdS)z.TestEnum.test_floatenum_inherited.<locals>.phyrjrNrQrrrrrT�srTrY)rBr[rTrrr�test_floatenum_inherited�sz!TestEnum.test_floatenum_inheritedcCs(Gdd�dtt�}|�|j|jk�dS)Nc@seZdZdZdZdS)z/TestEnum.test_strenum_from_scratch.<locals>.phy�Pi�TauNrQrrrrrT�srT�r~rrArRrSrVrrr�test_strenum_from_scratch�sz"TestEnum.test_strenum_from_scratchcCs8Gdd�dtt�}Gdd�d|�}|�|j|jk�dS)Nc@seZdZdS)z0TestEnum.test_strenum_inherited.<locals>.StrEnumNr"rrrrr!�sr!c@seZdZdZdZdS)z,TestEnum.test_strenum_inherited.<locals>.phyr]r^NrQrrrrrT�srTr_)rBr!rTrrr�test_strenum_inherited�szTestEnum.test_strenum_inheritedcCs0Gdd�dt�}|�gd�|jd�|�dd�t|j�D�gd��t|�}|�t|�t|��|�t|�d�d	}|��}t|d
�D]�\}}||�}|�||�|�t	|�|�|�|j
|�|�||�|�|�|�d
|�|�
d|ko�dkn�|�t|�|�|�|t	�|�|t�q�dS)
Nc@s(eZdZdZdZdZdZdZdZdZ	dS)	z&TestEnum.test_intenum.<locals>.WeekDayrrrrdrnr@rDN)
rrr�SUNDAY�MONDAY�TUESDAY�	WEDNESDAY�THURSDAY�FRIDAY�SATURDAYrrrr�WeekDay�sri)rF�b�crkcSsg|]}|�qSrr)r�r�rrrr��r�z)TestEnum.test_intenum.<locals>.<listcomp>)rrrrDz8SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAYrrrE)rr�rcr0rdr�r�r�r�r�r�r��indexrAr�r�r�r)rBrir�r3r�Zweekdayr�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>.WeekDayrrrrdrnr@rDN)rrrrbrcrd�TEUSDAYrerfrgrhrrrrri�srirrdcSsg|]\}}|j|kr|�qSrr�r�rrrr��s
�z4TestEnum.test_intenum_duplicates.<locals>.<listcomp>rn)rr�rnrdr�r�r�r�)rBrirrr�test_intenum_duplicates�s�z TestEnum.test_intenum_duplicatescCsP|�t�dd�tj�|�t��t�dd�Wd�n1sB0YdS)Ns�bigs)r�r�
from_bytesrr�r�r�rrr�test_intenum_from_bytes�sz TestEnum.test_intenum_from_bytescCslt�tjj�}|�t�|�tj�t�tjjd�}|�t��t�|�Wd�n1s^0YdS)Ng{�G�z�?)	r}r;rrr�r��fromhexr�r�)rB�hrrr�test_floatenum_fromhex�s
zTestEnum.test_floatenum_fromhexcCs,ttt�rt�t|jtj�t|jt�dSrZ)�
isinstancer�	Exceptionr4r�rr�rrr�test_pickle_enum�s
zTestEnum.test_pickle_enumcCs,ttt�rt�t|jtj�t|jt�dSrZ)rvrrwr4r�rr�rrr�test_pickle_ints
zTestEnum.test_pickle_intcCs,ttt�rt�t|jtj�t|jt�dSrZ)rvrrwr4r�rr�rrr�test_pickle_floats
zTestEnum.test_pickle_floatcCs,ttt�rt�t|jtj�t|jt�dSrZ)rvr)rwr4r�Zhimr�rrr�test_pickle_enum_functions
z"TestEnum.test_pickle_enum_functioncCs,ttt�rt�t|jtj�t|jt�dSrZ)rvr&rwr4r�Zwhor�rrr�%test_pickle_enum_function_with_modules
z.TestEnum.test_pickle_enum_function_with_modulecCs ttt�rt�|�tjd�dS)Nr+)rvr*rwr�rr�rrr� test_enum_function_with_qualnames
z)TestEnum.test_enum_function_with_qualnamecCs<Gdd�dt�}||j_d|jj|j_t|j|jj�dS)Nc@seZdZdZdZdS)zLTestEnum.test_class_nested_enum_and_pickle_protocol_four.<locals>.NestedEnum�commonZrareN)rrr�twigsZshinyrrrr�
NestedEnum!sr�z
%s.NestedEnum)rr�r�rrr4r�r)rBr�rrr�/test_class_nested_enum_and_pickle_protocol_foursz8TestEnum.test_class_nested_enum_and_pickle_protocol_fourcCs>Gdd�dt�}tj|_tt�D]}|�|j�|�d�q dS)Nc@seZdZdZdZdS)z6TestEnum.test_pickle_by_name.<locals>.ReplaceGlobalIntrrN)rrr�ONE�TWOrrrr�ReplaceGlobalInt*sr�r�)rr>�_reduce_ex_by_name�
__reduce_ex__r0rr�r�)rBr��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-butterr')
rrrIr>�_make_class_unpicklabler7r�r�Zdillr
)rBr�rrr�test_exploding_pickle1s�

zTestEnum.test_exploding_picklecCs$Gdd�dtt�}|�|jd�dS)Nc@seZdZdZdZdZdS)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)rrrZmasterZ
journeyman�
apprenticerrrr�
SkillLevel;sr�r�)r~rr�r�)rBr�rrr�test_string_enum:szTestEnum.test_string_enumcCsLGdd�dt�}|�|d�|j�|�t|d�|j�|�|d|j�dS)Nc@seZdZdZdZdZdZdS)z-TestEnum.test_getattr_getitem.<locals>.PeriodrrrrdN)rrr�morning�noonZevening�nightrrrr�PeriodBsr�rr�r�)rr�r�r�r�r��rBr�rrr�test_getattr_getitemAszTestEnum.test_getattr_getitemcCs|j}|�t|d��dS)N�__eq__)rirAr�r�rrr�test_getattr_dunderKszTestEnum.test_getattr_dundercCs4Gdd�dt�}|�t|�|j|j|j|jg�dS)Nc@seZdZdZdZdZdZdS)z-TestEnum.test_iteration_order.<locals>.SeasonrrdrrN)rrrrfrhrgrerrrrriPsri)rr�r�rfrhrgrer�rrr�test_iteration_orderOs
�zTestEnum.test_iteration_ordercCs2|�tt|j��|jj|jj|jj|jjg�dSrZ)r�r��reversedrirhrgrfrer�rrr�test_reversed_iteration_orderZs��z&TestEnum.test_reversed_iteration_ordercCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D]X\}}||�}|�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��rBr�r�r��monthr�rrr�!test_programmatic_function_stringas
�z*TestEnum.test_programmatic_function_stringcCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D]X\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�qbdS)Nr�r��
��startrr�r�rrr�,test_programmatic_function_string_with_startrs�z5TestEnum.test_programmatic_function_string_with_startcCs�tdgd��}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D]X\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�qbdS)Nr��r�r�r�rr�rr�r�rrr�&test_programmatic_function_string_list�s�z/TestEnum.test_programmatic_function_string_listcCs�tdgd�dd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D]X\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�qfdS)Nr�r��r�rr�r�r�rrr�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]X\}}||�}|�t	|j
�|�|�||�|�|j|�|�
||�|�t|�|�q^dS�Nr�))r�r)r�r)r�rrr�rr�r�rrr�#test_programmatic_function_iterable�s$��z,TestEnum.test_programmatic_function_iterablecCs�tdtd��}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td�	�d�D]X\}}||�}|�t
|j�|�|�||�|�|j
|�|�||�|�t|�|�qbdSr�)rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�$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]F\}}||�}|�||�|�|j
|�|�||�|�t
|�|�qbdS)Nr�r�)r�rr�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�test_programmatic_function_type�s�z(TestEnum.test_programmatic_function_typecCs�tddtdd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td�	�d�D]F\}}||�}|�||�|�|j
|�|�||�|�t
|�|�qddS)Nr�r��)r�r�rr�r�rrr�*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]F\}}||�}|�||�|�|j	|�|�
||�|�t|�|�q^dSr��
rr�r�r�r�r�r�r�r�r�r�r�r�r�rrr�-test_programmatic_function_type_from_subclass�s
�z6TestEnum.test_programmatic_function_type_from_subclasscCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�|j|j|jg|�td��d�D]F\}}||�}|�||�|�|j	|�|�
||�|�t|�|�qbdS)Nr�r��(r�rr�r�rrr�8test_programmatic_function_type_from_subclass_with_start�s�zATestEnum.test_programmatic_function_type_from_subclass_with_startcCsTttt�rt�|�tjd�|�tjtd��|�tjttd��t|jtj�dS)Nr$r%)	rvr#rwr�r%rAr�r�r4r�rrr�test_subclassing
s
zTestEnum.test_subclassingcCs�Gdd�dt�}|�t�� Gdd�d|�}Wd�n1s@0Y|�td��"Gdd�d|t�}Wd�n1s~0YdS)Nc@seZdZdZdZdZdS)z&TestEnum.test_extending.<locals>.ColorrrrNr�rrrrr�sr�c@seZdZdZdZdZdS)z*TestEnum.test_extending.<locals>.MoreColorrdrnr@N�rrrZcyan�magentaZyellowrrrr�	MoreColorsr�z0EvenMoreColor: cannot extend enumeration 'Color'c@seZdZdZdS)z.TestEnum.test_extending.<locals>.EvenMoreColorrDN)rrrZ
chartrueserrrr�
EvenMoreColor sr�)rr�r�rNr)rBr�r�r�rrr�test_extendings
.zTestEnum.test_extendingcCs8Gdd�dt�}|�t|j�|�|�|j��d�dS)Nc@seZdZdZdZdd�ZdS)z/TestEnum.test_exclude_methods.<locals>.whateverr�r�cSs
d|jS)Nz
no, not %s�r�r�rrr�really'sz6TestEnum.test_exclude_methods.<locals>.whatever.reallyN)rrrr�r�r�rrrr�whatever$sr�zno, not that)rZassertIsNotr�r�r�r�)rBr�rrr�test_exclude_methods#szTestEnum.test_exclude_methodscCs@|�t��"Gdd�dtt�}Wd�n1s20YdS)Nc@seZdZdZdS)z4TestEnum.test_wrong_inheritance_order.<locals>.Wrongzerror before this pointN)rrrZNotHererrrrr�.sr�)r�r�rr~r�rrr�test_wrong_inheritance_order,sz%TestEnum.test_wrong_inheritance_ordercCsTGdd�dt�}Gdd�dt�}|�|j|j�|�|j|j�|�|j|j�dS)Nc@seZdZdZdZdZdS)z2TestEnum.test_intenum_transitivity.<locals>.numberrrrN)rrrr�r��threerrrr�number2sr�c@seZdZdZdZdZdS)z2TestEnum.test_intenum_transitivity.<locals>.numerorrrN)rrr�uno�dos�tresrrrr�numero6sr�)rr�r�r�r�r�r�r�)rBr�r�rrr�test_intenum_transitivity1s
z"TestEnum.test_intenum_transitivitycCs4Gdd�dt�}Gdd�dt�}|�t||j�dS)Nc@seZdZdZdZdS)z4TestEnum.test_wrong_enum_in_call.<locals>.MonochromerrN�rrr�black�whiterrrr�
Monochrome?sr�c@seZdZdZdZdS)z0TestEnum.test_wrong_enum_in_call.<locals>.GenderrrN�rrr�male�femalerrrr�GenderBsr�)rr�r�r��rBr�r�rrr�test_wrong_enum_in_call>sz TestEnum.test_wrong_enum_in_callcCs4Gdd�dt�}Gdd�dt�}|�t||j�dS)Nc@seZdZdZdZdS)z:TestEnum.test_wrong_enum_in_mixed_call.<locals>.MonochromerrNr�rrrrr�Hsr�c@seZdZdZdZdS)z6TestEnum.test_wrong_enum_in_mixed_call.<locals>.GenderrrNr�rrrrr�Ksr�)rrr�r�r�r�rrr�test_wrong_enum_in_mixed_callGsz&TestEnum.test_wrong_enum_in_mixed_callcCs8Gdd�dt�}Gdd�dt�}|�||j�|j�dS)Nc@seZdZdZdZdS)z6TestEnum.test_mixed_enum_in_call_1.<locals>.MonochromerrNr�rrrrr�Qsr�c@seZdZdZdZdS)z2TestEnum.test_mixed_enum_in_call_1.<locals>.GenderrrNr�rrrrr�Tsr�)rr�r�r�r�rrr�test_mixed_enum_in_call_1Psz"TestEnum.test_mixed_enum_in_call_1cCs8Gdd�dt�}Gdd�dt�}|�||j�|j�dS)Nc@seZdZdZdZdS)z6TestEnum.test_mixed_enum_in_call_2.<locals>.MonochromerrNr�rrrrr�Zsr�c@seZdZdZdZdS)z2TestEnum.test_mixed_enum_in_call_2.<locals>.GenderrrNr�rrrrr�]sr�)rrr�r�r�r�rrr�test_mixed_enum_in_call_2Ysz"TestEnum.test_mixed_enum_in_call_2cCs6Gdd�dt�}Gdd�d|�}|�t|j�d�dS)Nc@seZdZdd�ZdS)z*TestEnum.test_flufl_enum.<locals>.FluflnumcSs
t|j�SrZ)r�r�r�rrr�__int__dsz2TestEnum.test_flufl_enum.<locals>.Fluflnum.__int__N)rrrr�rrrr�Fluflnumcsr�c@seZdZdZdZdZdS)z0TestEnum.test_flufl_enum.<locals>.MailManOptionsrrrN)rrr�option1Zoption2Zoption3rrrr�MailManOptionsfsr�r)rr�r�r�)rBr�r�rrr�test_flufl_enumbszTestEnum.test_flufl_enumcCs�Gdd�dt�}|�|jjt�|�|jt�Gdd�dtt�}|�|jjt�|�|jt�Gdd�dt�}|�|jjt	�|�|jt	�dS)Nc@seZdZdZdZdS)z+TestEnum.test_introspection.<locals>.Number�d��Nr�rrrr�Numbermsr�c@seZdZdZdZdZdS)z+TestEnum.test_introspection.<locals>.StringZsoftZroughZhardN)rrr�yarnZropeZwirerrrr�Stringrsr�c@seZdZdZdZdS)z*TestEnum.test_introspection.<locals>.Plainr�rN)rrr�vanillar�rrrr�Plainxsr�)
rr�r�r7r�r~rr�r�r*)rBr�r�r�rrr�test_introspectionlszTestEnum.test_introspectioncCsxGdd�dt�}|�t��|d�Wd�n1s80Y|�t��|dWd�n1sj0YdS)Nc@seZdZdZdZdZdS)z0TestEnum.test_no_such_enum_member.<locals>.ColorrrrNr�rrrrr�sr�rdZ
chartreuse)rr�r��KeyErrorr�rrr�test_no_such_enum_member~s
&z!TestEnum.test_no_such_enum_membercCs&Gdd�dt�}|�t|j�d�dS)Nc@s eZdZdZdZdZdd�ZdS)z%TestEnum.test_new_repr.<locals>.ColorrrrcSs
d|jS)Nz!don't you just love shades of %s?r�r�rrrr&�sz.TestEnum.test_new_repr.<locals>.Color.__repr__N)rrrr�r�r�r&rrrrr��sr�z#don't you just love shades of blue?)rr�r�r�r�rrr�
test_new_repr�s
�zTestEnum.test_new_reprcCs8Gdd�dt�}Gdd�dt|�}|�t|j�d�dS)Nc@seZdZdd�ZdS)z,TestEnum.test_inherited_repr.<locals>.MyEnumcSs
d|jS)NzMy name is %s.r�r�rrrr&�sz5TestEnum.test_inherited_repr.<locals>.MyEnum.__repr__Nr<rrrrr=�sr=c@seZdZdZdZdZdS)z/TestEnum.test_inherited_repr.<locals>.MyIntEnumrrrN)rrrr�r�Ztheotherrrrr�	MyIntEnum�sr�zMy name is that.)rr�r�r�r�)rBr=r�rrr�test_inherited_repr�szTestEnum.test_inherited_reprcsdG�fdd�dtt���Gdd�dt�d�}Gdd�dt�d�}Gdd	�d	|�}Gd
d�d|�}dS)NcseZdZ��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_enumrrr��s"





�z;TestEnum.test_multiple_mixin_mro.<locals>.auto_enum.__new__�rrrr��
__classcell__r�r��r�rr��sr�c@seZdZdS)z:TestEnum.test_multiple_mixin_mro.<locals>.AutoNumberedEnumNr"rrrr�AutoNumberedEnum�sr�)�	metaclassc@seZdZdS)z5TestEnum.test_multiple_mixin_mro.<locals>.AutoIntEnumNr"rrrr�AutoIntEnum�sr�c@seZdZdZdZdZdS)z8TestEnum.test_multiple_mixin_mro.<locals>.TestAutoNumber.rN�rrrrFrjrkrrrr�TestAutoNumber�sr�c@seZdZdZdZdZdS)z5TestEnum.test_multiple_mixin_mro.<locals>.TestAutoInt.rNr�rrrr�TestAutoInt�sr�)r�rr)rBr�r�r�r�rr�r�test_multiple_mixin_mro�s
z TestEnum.test_multiple_mixin_mrocs�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)	NcsHeZdZdZdd�Zdd�Zedd��Zdd	�Zd
d�Z�fdd
�ZdS)z:TestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt�NamedIntcWsB|}|^}}t|�dkr td��tj|g|�R�}||_||_|S�Nrz name and value must be specified�r�r�r�r��_intname�_args�r��argsrr�rBrrrr��szBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__new__cSs|jSrZ�rr�rrr�__getnewargs__�szITestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__getnewargs__cSs|jSrZ�rr�rrrr�szCTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__name__cSsd�t|�j|jt�|��S�Nz{}({!r}, {})�r�r�rr�r&r�rrrr&�s�zCTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__repr__cSs&t}|j}|jtur|�|�S||�SrZ�r�r�__objclass__r*r&�rB�baseZbase_strrrrr�s


zBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�d�|j|j�|�S|SdS�Nz({0} + {1})�r�rvr�r�rB�otherr��r�rr�__add__�s�zBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__add__N)	rrrr�rr�r&rrrrrrr��s	
	r�c@seZdZdZdZdZdS)z5TestEnum.test_subclasses_with_getnewargs.<locals>.NEI�NEI�zthe-xr�zthe-yrN�rrr�x�yrrrrr�sr�NamedInt('(the-x + the-y)', 3)�testrnr�r�rr�r�r�r�rrrIr4r��rBrZNI5rrr�test_subclasses_with_getnewargs�s'


z(TestEnum.test_subclasses_with_getnewargscs�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)	NcsHeZdZdZdd�Zdd�Zedd��Zdd	�Zd
d�Z�fdd
�ZdS)z=TestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedIntr�cWsB|}|^}}t|�dkr td��tj|g|�R�}||_||_|Srrrrrrr��szETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__new__cSs
|jifSrZrr�rrr�__getnewargs_ex__szOTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__getnewargs_ex__cSs|jSrZrr�rrrr
szFTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__name__cSsd�t|�j|jt�|��Sr	r
r�rrrr&
s�zFTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__repr__cSs&t}|j}|jtur|�|�S||�SrZrr
rrrrs


zETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�d�|j|j�|�S|SdSrrrrrrrs�zETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__add__N)	rrrr�r r�r&rrrrrrr��s	
	r�c@seZdZdZdZdZdS)z8TestEnum.test_subclasses_with_getnewargs_ex.<locals>.NEIrrrNrrrrrr$srrrrnrrrrrr�"test_subclasses_with_getnewargs_ex�s'


z+TestEnum.test_subclasses_with_getnewargs_excs�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)	NcsHeZdZdZdd�Zdd�Zedd��Zdd	�Zd
d�Z�fdd
�ZdS)z6TestEnum.test_subclasses_with_reduce.<locals>.NamedIntr�cWsB|}|^}}t|�dkr td��tj|g|�R�}||_||_|Srrrrrrr�8sz>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__new__cSs|j|jfSrZ�r�rr�rrr�
__reduce__AszATestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__reduce__cSs|jSrZrr�rrrrCsz?TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__name__cSsd�t|�j|jt�|��Sr	r
r�rrrr&Fs�z?TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__repr__cSs&t}|j}|jtur|�|�S||�SrZrr
rrrrKs


z>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�d�|j|j�|�S|SdSrrrrrrrTs�z>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__add__N)	rrrr�r#r�r&rrrrrrr�6s	
	r�c@seZdZdZdZdZdS)z1TestEnum.test_subclasses_with_reduce.<locals>.NEIrrrNrrrrrr]srrrrnrrrrrr�test_subclasses_with_reduce5s'


z$TestEnum.test_subclasses_with_reducecs�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)	NcsHeZdZdZdd�Zdd�Zedd��Zdd	�Zd
d�Z�fdd
�ZdS)z9TestEnum.test_subclasses_with_reduce_ex.<locals>.NamedIntr�cWsB|}|^}}t|�dkr td��tj|g|�R�}||_||_|Srrrrrrr�qszATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__new__cSs|j|jfSrZr"�rBr�rrrr�zszGTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__reduce_ex__cSs|jSrZrr�rrrr|szBTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__name__cSsd�t|�j|jt�|��Sr	r
r�rrrr&s�zBTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__repr__cSs&t}|j}|jtur|�|�S||�SrZrr
rrrr�s


zATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�d�|j|j�|�S|SdSrrrrrrr�s�zATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__add__N)	rrrr�r�r�r&rrrrrrr�os	
	r�c@seZdZdZdZdZdS)z4TestEnum.test_subclasses_with_reduce_ex.<locals>.NEIrrrNrrrrrr�srrrrnrrrrrr�test_subclasses_with_reduce_exns'


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)	Ncs@eZdZdZdd�Zedd��Zdd�Zdd	�Z�fd
d�ZdS)
zHTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedIntr�cWsB|}|^}}t|�dkr td��tj|g|�R�}||_||_|Srrrrrrr��szPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__new__cSs|jSrZrr�rrrr�szQTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__name__cSsd�t|�j|jt�|��Sr	r
r�rrrr&�s�zQTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__repr__cSs&t}|j}|jtur|�|�S||�SrZrr
rrrr�s


zPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�d�|j|j�|�S|SdSrrrrrrr�s�zPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__add__N�rrrr�r�r&rrrrrrr��s	
	r�c@seZdZdZdZdZdS)zCTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NEIrrrNrrrrrr�srrrrnr)r�rr�r�r�r�rrrIr�r7r�r�r
rrrr�-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)	Ncs@eZdZdZdd�Zedd��Zdd�Zdd	�Z�fd
d�ZdS)
zSTestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedIntr�cWsB|}|^}}t|�dkr td��tj|g|�R�}||_||_|Srrrrrrr��sz[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__new__cSs|jSrZrr�rrrr�sz\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__name__cSsd�t|�j|jt�|��Sr	r
r�rrrr&�s�z\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__repr__cSs&t}|j}|jtur|�|�S||�SrZrr
rrrr�s


z[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�d�|j|j�|�S|SdSrrrrrrr�s�z[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__add__Nr'rrrrr��s	
	r�c@s eZdZdZdZdZdd�ZdS)zNTestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NEIrrrcSst|j|jffSrZ)r�r�r%r%rrrr�sz\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NEI.__reduce_ex__N)rrrrrr�rrrrrsrrrrnr)r�rr�r�r�r�rrrIr�r4rrrr�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@seZdZdZdZdZdZdS)z/TestEnum.test_tuple_subclass.<locals>.SomeTuple�	SomeTuple)rz
for the money)rzfor the show�rz
for the musicN)rrr�first�second�thirdrrrrr*sr*r+)�tuplerr�r�r,r�r-r�r.rIr4)rBr*rrr�test_tuple_subclasss
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>.AutoNumberrcSs"t|j�d}t�|�}||_|Sr��r�r�r*r�r��r�r�r6rrrr�$s
zQTestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__new__cSs
t|j�SrZ�r�r�r�rrrr�)szQTestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__int__N)rrrr,r-r.r�r�rrrr�
AutoNumber s
r4rrr)	rr�r�r,r-r.r�r�r�)rBr4rrr�,test_duplicate_values_give_unique_enum_itemss�z5TestEnum.test_duplicate_values_give_unique_enum_itemscCsZGdd�dt�}Gdd�d|�}|�t|�|j|j|jg�|�ttt|��gd��dS)Nc@seZdZdd�Zdd�ZdS)zBTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumbercSs"t|j�d}t�|�}||_|Sr�r1r2rrrr�5s
zJTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__new__cSs
t|j�SrZr3r�rrrr�:szJTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__int__N)rrrr�r�rrrrr44sr4c@seZdZdZdZdZdS)z=TestEnum.test_inherited_new_from_enhanced_enum.<locals>.ColorrNr�rrrrr�<sr�r$)rr�r�r�r�r��mapr��rBr4r�rrr�%test_inherited_new_from_enhanced_enum3sz.TestEnum.test_inherited_new_from_enhanced_enumcCsZGdd�dt�}Gdd�d|�}|�t|�|j|j|jg�|�ttt|��gd��dS)Nc@seZdZdd�ZdS)z?TestEnum.test_inherited_new_from_mixed_enum.<locals>.AutoNumbercSs$t|j�d}t�||�}||_|Sr�)r�r�r�r�r�r2rrrr�EszGTestEnum.test_inherited_new_from_mixed_enum.<locals>.AutoNumber.__new__Nr�rrrrr4Dsr4c@seZdZdZdZdZdS)z:TestEnum.test_inherited_new_from_mixed_enum.<locals>.ColorrNr�rrrrr�Jsr�r$)rr�r�r�r�r�r6r�r7rrr�"test_inherited_new_from_mixed_enumCsz+TestEnum.test_inherited_new_from_mixed_enumcCs0Gdd�dt�}|�t|j�|�|jt�dS)Nc@seZdZdZdS)z,TestEnum.test_equality.<locals>.OrdinaryEnumrN)rrrrFrrrr�OrdinaryEnumRsr:)rr�rrF)rBr:rrr�
test_equalityQszTestEnum.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|jkStSrZ�r�r��NotImplemented�rBrrrr�__ge__Ysz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__ge__cSs|j|jur|j|jkStSrZr<r>rrr�__gt__]sz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__gt__cSs|j|jur|j|jkStSrZr<r>rrr�__le__asz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__le__cSs|j|jur|j|jkStSrZr<r>rrr�__lt__esz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__lt__N)rrrr?r@rArBrrrr�OrderedEnumXsrCc@s eZdZdZdZdZdZdZdS)z*TestEnum.test_ordered_mixin.<locals>.GradernrdrrrNrorrrr�Gradeis
rD)rZ
assertGreaterrprqZassertLessEqualrtrrZ
assertLessrsZassertGreaterEqualr�r�)rBrCrDrrr�test_ordered_mixinWszTestEnum.test_ordered_mixincCs^Gdd�dt�}Gdd�d|�}|�t�� Gdd�d|�}Wd�n1sP0YdS)Nc@seZdZdd�ZdS)z'TestEnum.test_extending2.<locals>.ShadecSst|j�dSrZ)�printr�r�rrr�shadexsz-TestEnum.test_extending2.<locals>.Shade.shadeN�rrrrGrrrr�ShadewsrIc@seZdZdZdZdZdS)z'TestEnum.test_extending2.<locals>.ColorrrrNr�rrrrr�zsr�c@seZdZdZdZdZdS)z+TestEnum.test_extending2.<locals>.MoreColorrdrnr@Nr�rrrrr�sr�)rr�r��rBrIr�r�rrr�test_extending2vszTestEnum.test_extending2cCsFGdd�dt�}Gdd�d|�}Gdd�d|�}|�|j��d�dS)Nc@seZdZdd�ZdS)z'TestEnum.test_extending3.<locals>.ShadecSs|jSrZr�r�rrrrG�sz-TestEnum.test_extending3.<locals>.Shade.shadeNrHrrrrrI�srIc@seZdZdd�ZdS)z'TestEnum.test_extending3.<locals>.ColorcSs
d|jS)Nz
%s hexlified!r�r�rrrr;�sz+TestEnum.test_extending3.<locals>.Color.hexN)rrrr;rrrrr��sr�c@seZdZdZdZdZdS)z+TestEnum.test_extending3.<locals>.MoreColorrdrnr@Nr�rrrrr��sr�z5 hexlified!)rr�r�r;rJrrr�test_extending3�szTestEnum.test_extending3cCs6Gdd�dt�}Gdd�d|�}|�t|j�|�dS)Nc@seZdZdd�ZdS)z3TestEnum.test_subclass_duplicate_name.<locals>.BasecSsdSrZrr�rrrr�sz8TestEnum.test_subclass_duplicate_name.<locals>.Base.testN�rrrrrrrr�Base�srNc@seZdZdZdS)z3TestEnum.test_subclass_duplicate_name.<locals>.TestrNrMrrrrr��sr�)rr�r�r�rBrNr�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>.BasecSsdS)N�dynamicrr�rrrr�sz@TestEnum.test_subclass_duplicate_name_dynamic.<locals>.Base.testNrMrrQrrrN�srNc@seZdZdZdS)z;TestEnum.test_subclass_duplicate_name_dynamic.<locals>.TestrNrMrrrrr��sr�rS)�typesrRrr�rrOrrQr�$test_subclass_duplicate_name_dynamic�sz-TestEnum.test_subclass_duplicate_name_dynamiccCs^Gdd�dt�}Gdd�d|�}|�t�� Gdd�d|�}Wd�n1sP0YdS)Nc@seZdZdd�ZdS)z/TestEnum.test_no_duplicates.<locals>.UniqueEnumcsB�j}t�fdd�|D��r>�j}|�j�j}td||f��dS)Nc3s|]}�j|jkVqdSrZr�)r�r�r�rr�	<genexpr>�r�zKTestEnum.test_no_duplicates.<locals>.UniqueEnum.__init__.<locals>.<genexpr>z-aliases not allowed in UniqueEnum:  %r --> %r)r��anyr�r�r�)rBrr�rFr�rr�rr`�s��z8TestEnum.test_no_duplicates.<locals>.UniqueEnum.__init__N�rrrr`rrrr�
UniqueEnum�srYc@seZdZdZdZdZdS�z*TestEnum.test_no_duplicates.<locals>.ColorrrrNr�rrrrr��sr�c@seZdZdZdZdZdZdSrZ)rrrr�r�r�Zgrenerrrrr��s)rr�r�)rBrYr�rrr�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||_||_dSrZ��mass�radius)rBr^r_rrrr`�sz+TestEnum.test_init.<locals>.Planet.__init__cSsd}||j|j|jS)Ng
yдW�=r])rBrFrrr�surface_gravity�sz2TestEnum.test_init.<locals>.Planet.surface_gravityN)rrrZMERCURYZVENUS�EARTHZMARSZJUPITERZSATURNZURANUSZNEPTUNEr`r�r`rrrr�Planet�srbrg������#@r\)rr��roundrar`r�)rBrbrrr�	test_init�szTestEnum.test_initcCs|Gdd�dtt�}|�t|d��|�t|d��|�t|d��|�t|jt��|�|j|ju�|�|j	|j
u�dS)Nc@s�eZdZdd�ZdZe�Zed�D]Zeddfede<q"ed�D]Zed	d
fede<qDed�D]Zed
fede<qfe	Z
eZe
ZdS)z$TestEnum.test_ignore.<locals>.PeriodcSst�||�}||_||_|SrZ)rr�r��period)r�r�rer6rrrr��sz,TestEnum.test_ignore.<locals>.Period.__new__zPeriod i�
r�r�zmonth_%d�5rDZweekzweek_%d� Zdayzday_%dN)rrrr��_ignore_�varsr�r0r��day_1ZOneDayZweek_1ZOneWeek�month_1ZOneMonthrrrrr��sr�rir�)rrr=r�rArvrkrlZday_30Zweek_4Zday_28r�rrr�test_ignore�szTestEnum.test_ignorecCs�Gdd�dt�}Gdd�d|�}|�t|�|j|j|jg�t|td��D]2\}}|d7}|�|j|g�|�	||g�|�qJdS)Nc@seZdZdd�ZdS)z6TestEnum.test_nonhash_value.<locals>.AutoNumberInAListcSs$t|j�dg}t�|�}||_|Sr�r1r2rrrr��s
z>TestEnum.test_nonhash_value.<locals>.AutoNumberInAList.__new__Nr�rrrr�AutoNumberInAList�srnc@seZdZdZdZdZdS)z1TestEnum.test_nonhash_value.<locals>.ColorInAListrNr�rrrr�ColorInAList�srorr)
rr�r�r�r�r��zipr0r�r�)rBrnror>r�rrr�test_nonhash_value�szTestEnum.test_nonhash_valuecCs^Gdd�dtt�}Gdd�d|�}|�t|�|j|jg�|�|jd�|�|d�|j�dS)Nc@seZdZdd�ZdS)zHTestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnumcWs$|\}}t�||�}||_||_|SrZ)r�r��labelr�)r�rr�rrr6rrrr��s
zPTestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnum.__new__Nr�rrrr�LabelledIntEnum�srsc@seZdZdZdZdS)zETestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledList)rZUnprocessed)rzPayment CompleteN)rrr�unprocessed�payment_completerrrr�LabelledListsrvr)r�rr�r�rtru)rBrsrvrrr�&test_conflicting_types_resolved_in_new�s
z/TestEnum.test_conflicting_types_resolved_in_newcCs`Gdd�dt�}|�t|�|j|j|jg�|�|jjd�|�|jjd�|�|jjd�dS)Nc@seZdZe�Ze�Ze�ZdS)z(TestEnum.test_auto_number.<locals>.ColorN�rrrr	r�r�r�rrrrr�
sr�rrr�rr�r�r�r�r�r�r�rrr�test_auto_numbers
zTestEnum.test_auto_numbercCs`Gdd�dt�}|�t|�|j|j|jg�|�|jjd�|�|jjd�|�|jjd�dS)Nc@s&eZdZdd�Ze�Ze�Ze�ZdS)z&TestEnum.test_auto_name.<locals>.ColorcSs|SrZr�r�r��count�lastrrr�_generate_next_value_sz<TestEnum.test_auto_name.<locals>.Color._generate_next_value_N)rrrr~r	r�r�r�rrrrr�sr�r�r�r�ryr�rrr�test_auto_names
zTestEnum.test_auto_namecCspGdd�dt�}Gdd�d|�}|�t|�|j|j|jg�|�|jjd�|�|jjd�|�|jjd�dS)Nc@seZdZdd�ZdS)z5TestEnum.test_auto_name_inherit.<locals>.AutoNameEnumcSs|SrZrr{rrrr~&szKTestEnum.test_auto_name_inherit.<locals>.AutoNameEnum._generate_next_value_N)rrrr~rrrr�AutoNameEnum%sr�c@seZdZe�Ze�Ze�ZdS)z.TestEnum.test_auto_name_inherit.<locals>.ColorNrxrrrrr�(sr�r�r�r�ry)rBr�r�rrr�test_auto_name_inherit$szTestEnum.test_auto_name_inheritcCs$Gdd�dt�}|�|jjd�dS)Nc@seZdZdZe�ZdS)z)TestEnum.test_auto_garbage.<locals>.Colorr�N�rrrr�r	r�rrrrr�3sr�r)rr�r�r�r�rrr�test_auto_garbage2szTestEnum.test_auto_garbagecCs`Gdd�dt�}|�t|�|j|j|jg�|�|jjd�|�|jjd�|�|jjd�dS)Nc@seZdZdZdZe�ZdS)z3TestEnum.test_auto_garbage_corrected.<locals>.Colorr�rN)rrrr�r�r	r�rrrrr�9sr�r�rrryr�rrr�test_auto_garbage_corrected8s
z$TestEnum.test_auto_garbage_correctedcCs>|�t�� Gdd�dt�}Wd�n1s00YdS)Nc@s&eZdZe�Ze�Ze�Zdd�ZdS)z'TestEnum.test_auto_order.<locals>.ColorcSs|SrZrr{rrrr~Isz=TestEnum.test_auto_order.<locals>.Color._generate_next_value_N)rrrr	r�r�r�r~rrrrr�Esr�r�r�rrr�test_auto_orderCs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>.ColorcSs|SrZrr{rrrr~QszCTestEnum.test_auto_order_wierd.<locals>.Color._generate_next_value_N)rrrr�r~r	r�r�Z
weird_autorrr�Osr�r�)r	r�rr�r�r�r�r�rr�r�test_auto_order_wierdLszTestEnum.test_auto_order_wierdcCs0Gdd�dt�}|�|j|j|jgt|��dS)Nc@s"eZdZe�ZZe�Ze�ZdS)z+TestEnum.test_duplicate_auto.<locals>.DupesN�rrrr	r,Zprimeror-r.rrrr�DupesYs
r��rr�r,r-r.r��rBr�rrr�test_duplicate_autoXszTestEnum.test_duplicate_autoc
Cs^Gdd�dt�}z|d�Wn4tyP}z|�|jdu�WYd}~nd}~00td��dS)Nc@seZdZdZdZdZdS)z,TestEnum.test_default_missing.<locals>.ColorrrrN)rrrr'r(r)rrrrr�`sr�rD�Exception not raised.)rr�rA�__context__rw�rBr��excrrr�test_default_missing_s&zTestEnum.test_default_missingc
CsGdd�dt�}|�|d�|j�z|d�Wn4tyb}z|�|jdu�WYd}~nd}~00td��z|d�Wn6ty�}z|�t|jt��WYd}~nd}~00td��z|d�Wn6t	y�}z|�t|jt��WYd}~nd}~00td��dS)Nc@s$eZdZdZdZdZedd��ZdS)z$TestEnum.test_missing.<locals>.ColorrrrcSs0|dkr|jS|dkrdS|dkr(t�ndSdS)Nr��
bad returnrn�	error out)r��ZeroDivisionError)r��itemrrr�	_missing_psz.TestEnum.test_missing.<locals>.Color._missing_N)rrrr�r�r��classmethodr�rrrrr�ls
r�r�rDr�r�r�)
rr�r�r�rAr�rwr�rvr�r�rrr�test_missingks"&((zTestEnum.test_missingcs�ddl}ddl}Gdd�dtj��Gdd�d�}G�fdd�d�}|�|��}|�|��}|��|�|�d�|�|�d�dS)Nrc@seZdZdZdZdS)z8TestEnum.test_missing_exceptions_reset.<locals>.TestEnumZval1Zval2N)rrrZVAL1ZVAL2rrrrrc�srcc@seZdZdd�ZdS)z6TestEnum.test_missing_exceptions_reset.<locals>.Class1cSs"z
t��WntyYn0dSrZ�r�r�rrrr`�s
z?TestEnum.test_missing_exceptions_reset.<locals>.Class1.__init__NrXrrrr�Class1�sr�cseZdZ�fdd�ZdS)z6TestEnum.test_missing_exceptions_reset.<locals>.Class2cs$z�d�WntyYn0dS)NZ
invalid_valuer�r��rcrrr`�sz?TestEnum.test_missing_exceptions_reset.<locals>.Class2.__init__NrXrr�rr�Class2�sr�)�gc�weakrefr>r�refZcollectr�)rBr�r�r�r�Zclass_1_refZclass_2_refrr�r�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@seZdZedd��ZdS)z.TestEnum.test_multiple_mixin.<locals>.MaxMixincSst|�}||_|SrZ)r��MAX)r��maxrrrr��sz2TestEnum.test_multiple_mixin.<locals>.MaxMixin.MAXN)rrrrYr�rrrr�MaxMixin�sr�c@seZdZdd�ZdS)z.TestEnum.test_multiple_mixin.<locals>.StrMixincSs
|j��SrZ�r%�lowerr�rrrr�sz6TestEnum.test_multiple_mixin.<locals>.StrMixin.__str__Nr.rrrr�StrMixin�sr�c@seZdZdd�ZdS)z.TestEnum.test_multiple_mixin.<locals>.SomeEnumcSsdS)N�booyahrr�rrr�behavior�sz7TestEnum.test_multiple_mixin.<locals>.SomeEnum.behaviorN)rrrr�rrrr�SomeEnum�sr�c@seZdZdd�Zdd�ZdS)z1TestEnum.test_multiple_mixin.<locals>.AnotherEnumcSsdS)N�nuhuh!rr�rrrr��sz:TestEnum.test_multiple_mixin.<locals>.AnotherEnum.behaviorcSsdS)N�
what's up?rr�rrr�social�sz8TestEnum.test_multiple_mixin.<locals>.AnotherEnum.socialN)rrrr�r�rrrr�AnotherEnum�sr�c@seZdZe�Ze�Ze�ZdS�z+TestEnum.test_multiple_mixin.<locals>.ColorN�rrrr	r'r(r)rrrrr��sr�rrr�
Color.BLUEc@seZdZe�Ze�Ze�ZdSr�r�rrrrr��sr�c@seZdZe�Ze�Ze�ZdSr�r�rrrrr��sc@seZdZe�Ze�Ze�ZdS)z/TestEnum.test_multiple_mixin.<locals>.CoolColorNr�rrrr�	CoolColor�sr�r�c@seZdZe�Ze�Ze�ZdS)z1TestEnum.test_multiple_mixin.<locals>.CoolerColorNr�rrrr�CoolerColor�sr�r�r�c@seZdZe�Ze�Ze�ZdS)z2TestEnum.test_multiple_mixin.<locals>.CoolestColorNr�rrrr�CoolestColor�sr�c@seZdZe�Ze�Ze�ZdS)z3TestEnum.test_multiple_mixin.<locals>.ConfusedColorNr�rrrr�
ConfusedColor�sr�c@seZdZe�Ze�Ze�ZdS)z3TestEnum.test_multiple_mixin.<locals>.ReformedColorNr�rrrr�
ReformedColorsr�)rr�r'r�r(r)r�r~r�r�rrA�
issubclassr�)rBr�r�r�r�r�r�r�r�r�r�rrr�test_multiple_mixin�srzTestEnum.test_multiple_mixincCsNGdd�dtt�}tGdd�d|��}Gdd�d|�}tGdd�d|��}dS)	Nc@seZdZdd�ZdS)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)rvr~r�r�rr�)r�r�kwargsrFrrrr�s
�z?TestEnum.test_multiple_inherited_mixin.<locals>.StrEnum.__new__Nr�rrrrr!sr!c@seZdZdZdZdZdS)z9TestEnum.test_multiple_inherited_mixin.<locals>.Decision1�REVERT�
REVERT_ALL�RETRYN�rrrr�r�r�rrrr�	Decision1sr�c@seZdZdS)z6TestEnum.test_multiple_inherited_mixin.<locals>.MyEnumNr"rrrrr=sr=c@seZdZdZdZdZdS)z9TestEnum.test_multiple_inherited_mixin.<locals>.Decision2r�r�r�Nr�rrrr�	Decision2!sr�)r~rr)rBr!r�r=r�rrr�test_multiple_inherited_mixins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��||�SrZ)r�r�rBr�rrr�)sz=TestEnum.test_multiple_mixin_inherited.<locals>.MyInt.__new__r�rrr�rrM(srMc@seZdZdd�ZdS)z8TestEnum.test_multiple_mixin_inherited.<locals>.HexMixincSst|�SrZr:r�rrrr&-szATestEnum.test_multiple_mixin_inherited.<locals>.HexMixin.__repr__Nr<rrrr�HexMixin,sr�c@seZdZdS)z9TestEnum.test_multiple_mixin_inherited.<locals>.MyIntEnumNr"rrrrr�0sr�c@seZdZdZdS)z3TestEnum.test_multiple_mixin_inherited.<locals>.FoorN)rrr�TESTrrrr�Foo3sr�Z0x1c@seZdZdZdd�ZdS)z3TestEnum.test_multiple_mixin_inherited.<locals>.FeercSs|d7}t�||�}||_|Sr�)r�r�r��r�r�r�rrrr�:sz;TestEnum.test_multiple_mixin_inherited.<locals>.Fee.__new__N)rrrr�r�rrrr�Fee8sr�r)r�r>rrArvr�r�r�)rBrMr�r�r�r�rrr�test_multiple_mixin_inherited'sz&TestEnum.test_multiple_mixin_inheritedcCsGdd�dtt�}Gdd�dtt�}Gdd�d||�}|}|�t|�|j|j|jg�|�|jd�|�|jjd�|�|d�|j�|�	|jj
�|d	�}|�t|�|j|j|jg�|�|jd�|�|jjd�|�|d�|j�|�	|jj
�|�	t||��|�|j
�dS)
Ncs eZdZe�fdd��Z�ZS)zRTestEnum.test_miltuple_mixin_with_common_data_type.<locals>.CaseInsensitiveStrEnumcs6|j��D]}|j��|��kr
|Sq
t��|�SrZ)�_member_map_�valuesr�r�r�r�r�r�rrr�Cs
z\TestEnum.test_miltuple_mixin_with_common_data_type.<locals>.CaseInsensitiveStrEnum._missing_)rrrr�r�r�rrr�r�CaseInsensitiveStrEnumBsr�c@s,eZdZdd�Zedd��Zedd��ZdS)zJTestEnum.test_miltuple_mixin_with_common_data_type.<locals>.LenientStrEnumcWs
d|_dS)NT��_valid)rBrrrrr`KszSTestEnum.test_miltuple_mixin_with_common_data_type.<locals>.LenientStrEnum.__init__cSs2|j�||�}d|_|��|_||_||j|<|S)NF)r7r�r��upperr%r�r�)r�r��unknownrrrr�Ms

zTTestEnum.test_miltuple_mixin_with_common_data_type.<locals>.LenientStrEnum._missing_cSs|jSrZr�r�rrr�validXszPTestEnum.test_miltuple_mixin_with_common_data_type.<locals>.LenientStrEnum.validN)rrrr`r�r�r�r�rrrr�LenientStrEnumJs


r�c@seZdZdZdZdZdS)zETestEnum.test_miltuple_mixin_with_common_data_type.<locals>.JobStatus�active�pendingZ
terminatedN)rrr�ACTIVE�PENDING�
TERMINATEDrrrr�	JobStatus\sr�r�ZActive�missing)
r~rr�r�r�r�r�r�r�rAr�rvr=)rBr�r�r�ZJSr�rrr�)test_miltuple_mixin_with_common_data_typeAs"z2TestEnum.test_miltuple_mixin_with_common_data_typecCs(d}t|dd�}i}i}t|||�dS)Nz8from enum import Enum; Enum('Animal', 'ANT BEE CAT DOG')z<string>�exec)�compiler�)rB�codeZ	global_nsZlocal_lsrrr�test_empty_globalsps
zTestEnum.test_empty_globalsNr�rr�z+private variables are now normal attributescCs�|�t�� Gdd�dt�}Wd�n1s00Y|�|jjd�z>|�t�� Gdd�dt�}Wd�n1s|0YWnty�Yn0dS)Nc@seZdZdZdS)�<TestEnum.test_warning_for_private_variables.<locals>.Private�RadarN)rrr�_Private__corporalrrrr�Privatesr�r�c@seZdZdZdS)r�ZHoolihanN)rrrZ_Private__major_rrrrr��s)�assertWarns�DeprecationWarningrr�r�r�r�)rBr�rrr�"test_warning_for_private_variablesys.2z+TestEnum.test_warning_for_private_variables)�rrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrr r!r"r#r,r8rJrOrPrWrXrZr\r`rarmrorrrurxryrzr{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�r�r�r�r�r�r�r�r�rr!r$r&r(r)r0r5r8r9r;rErKrLrPrUr[rdrmrqrwrzrr�r�r�r�r�r�r�r�r�r�r�r�r�r��unittest�
skipUnless�sys�version_infor�rrrrrc�s#	
				.		
	
	
				


%999957


	%"`/	�rcc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�	TestOrdercCsGdd�dt�}dS)Nc@seZdZdZdZdZdZdS)z*TestOrder.test_same_members.<locals>.Color�red green bluerrrN�rrr�_order_r�r�r�rrrrr��sr��rr�rrr�test_same_members�szTestOrder.test_same_memberscCsGdd�dt�}dS)Nc@s eZdZdZdZdZdZeZdS)z7TestOrder.test_same_members_with_aliases.<locals>.Colorr�rrrN�rrrr�r�r�r��verderrrrr��s
r�r�r�rrr�test_same_members_with_aliases�sz(TestOrder.test_same_members_with_aliasescCs@|�td�� Gdd�dt�}Wd�n1s20YdS)N�#member order does not match _order_c@seZdZdZdZdZdZdS)z6TestOrder.test_same_members_wrong_order.<locals>.Colorr�rrrN)rrrr�r�r�r�rrrrr��sr��rNr�rr�rrr�test_same_members_wrong_order�sz'TestOrder.test_same_members_wrong_ordercCs@|�td�� Gdd�dt�}Wd�n1s20YdS)Nr�c@seZdZdZdZdZdZdS)z5TestOrder.test_order_has_extra_members.<locals>.Color�red green blue purplerrrNr�rrrrr��sr�r�r�rrr�test_order_has_extra_members�sz&TestOrder.test_order_has_extra_memberscCs@|�td�� Gdd�dt�}Wd�n1s20YdS)Nr�c@s eZdZdZdZdZdZeZdS)zBTestOrder.test_order_has_extra_members_with_aliases.<locals>.Colorr�rrrNr�rrrrr��s
r�r�r�rrr�)test_order_has_extra_members_with_aliases�sz3TestOrder.test_order_has_extra_members_with_aliasescCs@|�td�� Gdd�dt�}Wd�n1s20YdS)Nr�c@s eZdZdZdZdZdZdZdS)z4TestOrder.test_enum_has_extra_members.<locals>.Colorr�rrrrdN)rrrr�r�r�r��purplerrrrr��s
r�r�r�rrr�test_enum_has_extra_members�sz%TestOrder.test_enum_has_extra_memberscCs@|�td�� Gdd�dt�}Wd�n1s20YdS)Nr�c@s$eZdZdZdZdZdZdZeZdS)zATestOrder.test_enum_has_extra_members_with_aliases.<locals>.Colorr�rrrrdN)	rrrr�r�r�r�r�r�rrrrr��sr�r�r�rrr�(test_enum_has_extra_members_with_aliases�sz2TestOrder.test_enum_has_extra_members_with_aliasesN)
rrrr�r�r�r�r�r�r�rrrrr��s		r�c@seZdZGdd�de�ZGdd�de�ZGdd�de�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zejd3d4��Zd5d6�Z d7S)8�TestFlagc@seZdZd\ZZZdS)z
TestFlag.Perm)rdrrN)rrr�R�W�Xrrrr�Perm�sr�c@s eZdZdZdZdZdZdZdS)z
TestFlag.Openrrrr�N�rrr�RO�WO�RW�AC�CErrrr�Open�s
rc@s$eZdZdZdZdZdZeeBZdS)zTestFlag.ColorrrrrdN�rrr�BLACKr'r(r)ZPURPLErrrrr��s
r�cCs�|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�rrrrr�rBr�rrrr�test_str�s0 zTestFlag.test_strcCs�|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: 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�rrrrrrrrr�	test_repr�s0 zTestFlag.test_reprcCs8|j}|�t|jd�d�|�t|j|jBd�d�dS)Nr�rr�r�r�r�r�r��rBr�rrr�test_format	szTestFlag.test_formatcCs�|j}|D]X}|D]N}|�||B||j|jB��|�||Bj|j|jB�|�t||B�|�qq
|D]}|�||B|�qh|j}|�|j|jB|j�dSrZ�r�r�r�r�r�rrr�rBr�r��jrrrr�test_or	szTestFlag.test_orc
Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D]<}|D]2}|�||@j|j|j@�|�t||@�|�qbqZ|D]4}|�||@|�|�||@|�|�||@|�q�|j	}	|�|	j
|	j@|	j
�dS�Nr)r�r�r�r�r�r�r�r�r�rrr�
rBr�r�RX�WX�RWXr�r�r.rrrr�test_and#	s zTestFlag.test_andcCs�|j}|D]<}|D]2}|�||Aj|j|jA�|�t||A�|�qq
|D],}|�||d�A|�|�|d�|A|�qL|j}|�|j|jA|j�|�|j|jA|j�dSr0r,r-rrr�test_xor5	szTestFlag.test_xorc	Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D]&}|�t|�|�|�||�qZ|D]}|�||�q�|j}|�|j	|j	@|j
�|�|j	|jB|j	@|j�dSr0)r�r�r�r�r�r�r�r�rrrr�	rBr�rr2r3r4r�r�rrrr�test_invertB	szTestFlag.test_invertcCsD|j}|D]}|�|�q
|j}|D]}|�t|j�t|��q$dSrZ�r�rArr�r�r��rBr��frrrrr�R	szTestFlag.test_boolcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]b\}}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��rBr�r�r��nr�r�rrr� test_programatic_function_stringZ	s
z)TestFlag.test_programatic_function_stringcCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]b\}}d|>}||�}|�|j	|�|�t
|j	�t�|�|j|�|�
||�|�t
|�|�q`dS�Nr�r=rEr�rr>r?rrr�+test_programatic_function_string_with_starti	sz4TestFlag.test_programatic_function_string_with_startcCs�tdgd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]b\}}d|>}||�}|�|j	|�|�t
|j	�t�|�|j|�|�
||�|�t
|�|�q`dS�Nr�)r�r�r�rr=rr>r?rrr�%test_programatic_function_string_listx	sz.TestFlag.test_programatic_function_string_listcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]j\}}dd|d>}||�}|�|j	|�|�t
|j	�t�|�|j|�|�
||�|�t
|�|�q\dS�Nr�))r�r)r�rE)r�rhrr=rrr>r?rrr�"test_programatic_function_iterable�	s
z+TestFlag.test_programatic_function_iterablecCs�tdtd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td�	��D]j\}}dd|d>}||�}|�|j
|�|�t|j
�t�|�|j
|�|�||�|�t|�|�q`dSrF)rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r?rrr�#test_programatic_function_from_dict�	sz,TestFlag.test_programatic_function_from_dictcCs2ttt�rt�t|jtjtjB�t|jt�dSrZ)rvr rwr4r�rrr�rrr�test_pickle�	s
zTestFlag.test_picklecCs�|j}|j}|�|j|v�|�|j|v�|�t��d|vWd�n1sT0Y|�t��d|vWd�n1s�0Y|�t��d|vWd�n1s�0Y|�t��d|vWd�n1s�0YdS)Nrrr)rr�r=rrr�r��rBrr�rrrr��	s&&&zTestFlag.test_containsc	Cs�|j}|\}}}||B}||B}||B}||B|B}|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�dSrZ)r�rAr=�	rBr�r�r�r�rr2r3r4rrr�test_member_contains�	s$
zTestFlag.test_member_containscCs`Gdd�dt�}|�t|�|j|j|jg�|�|jjd�|�|jjd�|�|jjd�dS)Nc@seZdZe�Ze�Ze�ZdS)z(TestFlag.test_auto_number.<locals>.ColorNrxrrrrr��	sr�rrrd)rr�r�r�r�r�r�r�rrrrz�	s
zTestFlag.test_auto_numbercCs@|�td�� Gdd�dt�}Wd�n1s20YdS)Nz Invalid Flag value: .not an int.c@seZdZdZe�ZdS)z0TestFlag.test_auto_number_garbage.<locals>.Colorz
not an intNr�rrrrr��	sr�)rNr�rr�rrr�test_auto_number_garbage�	sz!TestFlag.test_auto_number_garbagecCs�Gdd�dt�}d}|�td||d�|�td||d�|�td||d�|�td||d�|�td||d	�|�td||d	�dS)
Nc@seZdZdZdZdZdS)�0TestFlag.test_cascading_failure.<locals>.Bizarrerrdr@N)rrrrk�dr;rrrr�Bizarre�	srPrNz5 is not a valid rnz2 is not a valid rz1 is not a valid r)rrNr�)rBrPr�rrr�test_cascading_failure�	szTestFlag.test_cascading_failurecCs0Gdd�dt�}|�|j|j|jgt|��dS)Nc@s"eZdZe�ZZe�Ze�ZdS)z+TestFlag.test_duplicate_auto.<locals>.DupesNr�rrrrr��	s
r�r�r�rrrr��	szTestFlag.test_duplicate_autocCs(Gdd�dt�}|�t|d��d�dS)Nc@seZdZdZdZdZdS)z&TestFlag.test_bizarre.<locals>.Bizarrerrdr@N)rrrrjrkrOrrrrrP�	srPrDz<Bizarre.d|c|b: 7>)rr�r�)rBrPrrr�test_bizarre�	szTestFlag.test_bizarrecCsPGdd�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@seZdZedd��ZdS)z.TestFlag.test_multiple_mixin.<locals>.AllMixincSs<t|�}d}|r2|d}|dd�D]}||O}q$||_|Sr��r��ALL�r��membersZ	all_valuer�rrrrT�	s
z2TestFlag.test_multiple_mixin.<locals>.AllMixin.ALLN�rrrrYrTrrrr�AllMixin�	srXc@seZdZdd�ZdS)z.TestFlag.test_multiple_mixin.<locals>.StrMixincSs
|j��SrZr�r�rrrr
sz6TestFlag.test_multiple_mixin.<locals>.StrMixin.__str__Nr.rrrrr�
sr�c@seZdZe�Ze�Ze�ZdS�z+TestFlag.test_multiple_mixin.<locals>.ColorNr�rrrrr�	
sr�rrrdrDr�c@seZdZe�Ze�Ze�ZdSrYr�rrrrr�
sr�c@seZdZe�Ze�Ze�ZdSrYr�rrrrr�
s)rr�r'r�r(r)rTr~�rBrXr�r�rrrr��	s(zTestFlag.test_multiple_mixincs�Gdd�dt��t��d����fdd���fdd�td�D�}t�|��Wd�n1s`0Y|��d	�|�d
t��d�dS)Nc@sLeZdZe�Ze�Ze�Ze�Ze�Ze�Z	e�Z
e�Zdd�Zdd�Z
dS)z0TestFlag.test_unique_composite.<locals>.TestFlagcSs||uSrZrr>rrrr�1
sz7TestFlag.test_unique_composite.<locals>.TestFlag.__eq__cSs
t|j�SrZ��hashr�r�rrr�__hash__3
sz9TestFlag.test_unique_composite.<locals>.TestFlag.__hash__N�rrrr	r�r�r�ZfourZfiveZsixZsevenZeightr�r]rrrrr�(
sr�Fcs<z td�D]}���|��q
Wnty6d�Yn0dS�N�T�r0�addrw�r��r��failed�seenrr�
cycle_enum8
s
z2TestFlag.test_unique_composite.<locals>.cycle_enumcsg|]}tj�d��qS�)r3��	threading�Thread�r�rN�rgrrr�?
s�z2TestFlag.test_unique_composite.<locals>.<listcomp>rE�;at least one thread failed while creating composite membersr`�"too many composite members created)rr�r0r�
start_threadsr=r�r��rB�threadsr�r�rgrerfr�test_unique_composite%
s
��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)NcseZdZ��fdd�Z�ZS)z+TestFlag.test_init_subclass.<locals>.MyEnumcs0t�jfi|����|j�dd��d|_dS)N�_testFr=)r��__init_subclass__r=�__dict__�get�_test1�r��kwds)r�rBrrrvM
sz=TestFlag.test_init_subclass.<locals>.MyEnum.__init_subclass__�rrrrvr�rr�r�rr=L
sr=cseZdZ��fdd�Z�ZS)z.TestFlag.test_init_subclass.<locals>.TheirEnumcs t�|�jfi|��d|_dS)N�	TheirEnum)r�rv�_test2rz)r}r�rrrvS
sz@TestFlag.test_init_subclass.<locals>.TheirEnum.__init_subclass__r|r)r}r�rr}R
sr}c@seZdZdd�ZdS)z.TestFlag.test_init_subclass.<locals>.WhoseEnumc[sdSrZrrzrrrrvW
sz@TestFlag.test_init_subclass.<locals>.WhoseEnum.__init_subclass__N�rrrrvrrrr�	WhoseEnumV
sr�c@seZdZdZdS)z+TestFlag.test_init_subclass.<locals>.NoEnumrN�rrrr�rrrr�NoEnumY
sr�ryr~Fc@seZdZdd�ZdS)z,TestFlag.test_init_subclass.<locals>.OurEnumc[s
d|_dS)N�OurEnum)r~rzrrrrvb
sz>TestFlag.test_init_subclass.<locals>.OurEnum.__init_subclass__Nrrrrrr�a
sr�c@seZdZdd�ZdS)z.TestFlag.test_init_subclass.<locals>.WhereEnumc[sdSrZrrzrrrrve
sz@TestFlag.test_init_subclass.<locals>.WhereEnum.__init_subclass__Nrrrrr�	WhereEnumd
sr�c@seZdZdZdS)z.TestFlag.test_init_subclass.<locals>.NeverEnumrNr�rrrr�	NeverEnumg
sr�)rr�rwr=rx)rBr=r�r�r�r�r�r)r}rBr�test_init_subclassK
s"zTestFlag.test_init_subclassN)!rrrrr�rr�rr(r+r/r5r6r8r�rArCrErGrHrIr�rLrzrMrQr�rRr�r�reap_threadsrtr�rrrrr��s8
+
%r�c@s�eZdZGdd�de�ZGdd�de�ZGdd�de�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zejd-d.��Zd/S)0�TestIntFlagc@seZdZdZdZdZdS)zTestIntFlag.PermrrrdN)rrrr�r�r�rrrrr�s
sr�c@s eZdZdZdZdZdZdZdS)zTestIntFlag.Openrrrrr�Nr�rrrrrx
s
rc@s$eZdZdZdZdZdZeeBZdS)zTestIntFlag.ColorrrrrdNrrrrrr�
s
r�cCs�|j}|�|jtu�|j}|D]"}|�t||��|�||j�q |�t|j|j	B|��|�|j|j	Bd�|D]"}|�t||��|�||j�qt|�t|j
|jB|��|�|j
|jBd�dS)Nr)r�rAr7r�rrvr�r�r�r�rr)rBr�rr;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)Nrr	r
rrrEzPerm.8|Rrr
zPerm.8rrzPerm.-8r���rrrrrrdzOpen.4rrz
Open.AC|RW|WOr���rrrrrr�
s< 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)#Nrrrrr rEz<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>rz<Perm.R|W|X: -1>r�z<Perm.R|W|X: -9>r"r#r$r%r&rdz<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'rrrrr(�
s< zTestIntFlag.test_reprcCs8|j}|�t|jd�d�|�t|j|jBd�d�dS)Nr��4�5r)r*rrrr+�
szTestIntFlag.test_formatcCsL|j}|D]�}|D]J}|�||B|j|jB�|�||Bj|j|jB�|�t||B�|�qtd�D]�}|�||B|j|B�|�||Bj|j|B�|�t||B�|�|�||B||jB�|�||Bj||jB�|�t||B�|�qfq
|D]4}|�||B|�|�|dB|�|�d|B|�q�|j}|�|j|jB|j�dS�NrEr�	r�r�r�r�r�r0rrrr-rrrr/�
s&zTestIntFlag.test_orc
	Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D�]}|D]h}|�||@|j|j@d||f�|�||@j|j|j@d||f�|�t||@�|d||f�qdt	d�D]�}|�||@|j|@�|�||@j|j|@�|�t||@�|�|�||@||j@�|�||@j||j@�|�t||@�|�q�qZ|D]6}|�||@|�|�|d@|�|�d|@|��qf|j
}	|�|	j|	j@|	j�dS)Nrzi is %r, j is %rrErD)
r�r�r�r�r�r�r�r�r�r0rrrr1rrrr5�
s0
"$ zTestIntFlag.test_andcCsR|j}|D]�}|D]J}|�||A|j|jA�|�||Aj|j|jA�|�t||A�|�qtd�D]�}|�||A|j|A�|�||Aj|j|A�|�t||A�|�|�||A||jA�|�||Aj||jA�|�t||A�|�qfq
|D]$}|�|dA|�|�d|A|�q�|j}|�|j|jA|j�|�|j|jA|j�dSr�r�r-rrrr6s&zTestIntFlag.test_xorc	Cs|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}|D]L}|�||j�|�|j|j�|�t|�|�|�||�qZ|D]}|�||�q�|j	}|�|j
|j
@|j�|�|j
|jB|j
@|j�dSr0)
r�r�r�r�r�r�r�r�r�rrrrr7rrrr8!s zTestIntFlag.test_invertcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]n\}}d|>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q\dSr<�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r?rrrrA3s
z,TestIntFlag.test_programatic_function_stringcCs�tdddd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]n\}}d|>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q`dSrBr�r?rrrrCCsz7TestIntFlag.test_programatic_function_string_with_startcCs�tdgd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]n\}}d|>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q`dSrDr�r?rrrrESsz1TestIntFlag.test_programatic_function_string_listcCs�tdd�}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td���D]v\}}dd|d>}||�}|�|j	|�|�t
|j	�t�|�||�|�|j|�|�
||�|�t
|�|�q\dSrFr�r?rrrrGcs
z.TestIntFlag.test_programatic_function_iterablecCs�tdtd��}t|�}|�t|�t|��|�t|�d|�|�||j|j|jg�td�	��D]v\}}dd|d>}||�}|�|j
|�|�t|j
�t�|�||�|�|j
|�|�||�|�t|�|�q`dSrF)rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r?rrrrHssz/TestIntFlag.test_programatic_function_from_dictcCsxt�dg�}t|�}|�t|�t|��|�t|�d|�t�dg�}t|�}|�t|�t|��|�t|�d|�dS)Nr�r�Thing�r>rr�r�r�r�rBr�r�r�rrr�)test_programatic_function_from_empty_list�sz5TestIntFlag.test_programatic_function_from_empty_listcCspt�dd�}t|�}|�t|�t|��|�t|�d|�t�dd�}|�t|�t|��|�t|�d|�dS)Nr�rrr�r�r�rrr�*test_programatic_function_from_empty_tuple�sz6TestIntFlag.test_programatic_function_from_empty_tuplecCs|j}|j}|�|j|v�|�|j|v�|�|j|v�|�|j|v�|�t��d|vWd�n1st0Y|�t��d|vWd�n1s�0Y|�t��d|vWd�n1s�0Y|�t��d|vWd�n1�s0YdS)Nr(rr)rr�rAr(rr=r�r�rJrrrr��s&&&zTestIntFlag.test_containsc	Cs|j}|\}}}||B}||B}||B}||B|B}|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�||v�|�t��|�d|v�Wd�n1�s0YdS)Nr)r�rAr=r�r�rKrrrrL�s(
z TestIntFlag.test_member_containscCsD|j}|D]}|�|�q
|j}|D]}|�t|j�t|��q$dSrZr9r:rrrr��szTestIntFlag.test_boolcCsPGdd�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@seZdZedd��ZdS)z1TestIntFlag.test_multiple_mixin.<locals>.AllMixincSs<t|�}d}|r2|d}|dd�D]}||O}q$||_|Sr�rSrUrrrrT�s
z5TestIntFlag.test_multiple_mixin.<locals>.AllMixin.ALLNrWrrrrrX�srXc@seZdZdd�ZdS)z1TestIntFlag.test_multiple_mixin.<locals>.StrMixincSs
|j��SrZr�r�rrrr�sz9TestIntFlag.test_multiple_mixin.<locals>.StrMixin.__str__Nr.rrrrr��sr�c@seZdZe�Ze�Ze�ZdS�z.TestIntFlag.test_multiple_mixin.<locals>.ColorNr�rrrrr��sr�rrrdrDr�c@seZdZe�Ze�Ze�ZdSr�r�rrrrr��sr�c@seZdZe�Ze�Ze�ZdSr�r�rrrrr��s)rr�r'r�r(r)rTr~rZrrrr��s(zTestIntFlag.test_multiple_mixincs�Gdd�dt��t��d����fdd���fdd�td�D�}t�|��Wd�n1s`0Y|��d	�|�d
t��d�dS)Nc@sLeZdZe�Ze�Ze�Ze�Ze�Ze�Z	e�Z
e�Zdd�Zdd�Z
dS)z3TestIntFlag.test_unique_composite.<locals>.TestFlagcSs||uSrZrr>rrrr��sz:TestIntFlag.test_unique_composite.<locals>.TestFlag.__eq__cSs
t|j�SrZr[r�rrrr]�sz<TestIntFlag.test_unique_composite.<locals>.TestFlag.__hash__Nr^rrrrr��sr�Fcs<z td�D]}���|��q
Wnty6d�Yn0dSr_rarcrdrrrgs
z5TestIntFlag.test_unique_composite.<locals>.cycle_enumcsg|]}tj�d��qSrhrirlrmrrr�s�z5TestIntFlag.test_unique_composite.<locals>.<listcomp>rErnr`ro)rr�r0rrpr=r�r�rqrrsrrt�s
��z!TestIntFlag.test_unique_compositeN)rrrrr�rr�r�rr(r+r/r5r6r8rArCrErGrHr�r�r�rLr�r�rr�rtrrrrr�p
s0!!	+r�c@s$eZdZdd�Zdd�Zdd�ZdS)�TestEmptyAndNonLatinStringscCs8|�t��tdd�}Wd�n1s*0YdS)N�	empty_abc)r�rqrrr�)rBr�rrr�test_empty_stringsz-TestEmptyAndNonLatinStrings.test_empty_stringcCs&tdd�}t|d�}|�|jd�dS)N�	greek_abc)�αrqrrr�r�rr�r�r�)rBr�r�rrr�test_non_latin_character_strings

z;TestEmptyAndNonLatinStrings.test_non_latin_character_stringcCs&tdd�}t|d�}|�|jd�dS)N�
hebrew_123)�א�2�3r�rr�)rBr�r�rrr�test_non_latin_number_string#s

z8TestEmptyAndNonLatinStrings.test_non_latin_number_stringN)rrrr�r�r�rrrrr�sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�
TestUniquecCs,tGdd�dt��}tGdd�dt��}dS)Nc@seZdZdZdZdZdS)z+TestUnique.test_unique_clean.<locals>.Cleanrr�g@N�rrrr�r�r�rrrr�Clean,sr�c@seZdZdZdZdZdS)z-TestUnique.test_unique_clean.<locals>.CleanerrrrN)rrr�single�double�triplerrrr�Cleaner1sr��rrr)rBr�r�rrr�test_unique_clean+szTestUnique.test_unique_cleancCs�|�td��$tGdd�dt��}Wd�n1s60Y|�td��$tGdd�dt��}Wd�n1sv0YdS)Nz	tres.*onec@seZdZdZdZdZdS)z+TestUnique.test_unique_dirty.<locals>.Dirtyrr�Nr�rrrr�Dirty9sr�zdouble.*single.*turkey.*triplec@seZdZdZdZdZdZdS)z-TestUnique.test_unique_dirty.<locals>.DirtierrrN)rrrr�r�r�Zturkeyrrrr�DirtierBsr�)rNr�rrr)rBr�r�rrr�test_unique_dirty7s0�zTestUnique.test_unique_dirtycCs,tGdd�dt��}tGdd�dt��}dS)Nc@seZdZdZdZdZdS)z/TestUnique.test_unique_with_name.<locals>.Sillyrr�rN)rrrr�r�r�rrrr�SillyJsr�c@seZdZdZdZdZdZdS)z1TestUnique.test_unique_with_name.<locals>.SillierrrrrdN)rrrr�r�r�r�rrrr�SillierOsr�r�)rBr�r�rrr�test_unique_with_nameIsz TestUnique.test_unique_with_nameN)rrrr�r�r�rrrrr�)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@seZdZdZdZdZdS)zTestStdLib.ColorrrrNr�rrrrr��sr�cCsTtjdurtt}ntt}t�}tj|d�}||j�|�	��
�}|�||�dS)N)�output)r!r^�!expected_help_output_without_docsr�expected_help_output_with_docsr
�pydocZHelperr��getvalue�stripr�)rBZ
expected_textr��helper�resultrrr�
test_pydoc�s


zTestStdLib.test_pydoccCs�tdtfdd|jjfdtfd|jjfd|jjfdtjdfd|jj	fd	tjd	ff	�}tt
�|j��}|�|�
�|�
��d
}|�
�D]@}||||kr�t�tdd|||||dfd
d�d}q�|r�|�d�dS)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)�dictrr�r�rr�r�rrwr��inspectZ
getmembersr��keysrF�fail)rBr�r�rer�rrr�test_inspect_getmembers�s2



���z"TestStdLib.test_inspect_getmemberscCs2ddlm}|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}q�|�r.|�d�dS)Nr)�	Attributer��data)r��kindZdefining_classr*r^r�r�r�rr�r�r�r�r�cSs|jSrZr��r�rrr�<lambda>�r�z>TestStdLib.test_inspect_classify_class_attrs.<locals>.<lambda>)�keycSs|jSrZr�r�rrrr��r�Fz
%s
%s
%s
%s
r�r�r�Tr�)r�r�r*rr�r�rr�r�r�rrw�sortr�Zclassify_class_attrsrprFr�)rBr�r�r�rer��rrrr�!test_inspect_classify_class_attrs�sN����
�
�
�
�
��z,TestStdLib.test_inspect_classify_class_attrs)	rrrZmaxDiffrr�r�r�r�rrrrr��s
r�c@seZdZdd�ZdS)�MiscTestCasecCst�|t�dSrZ)rZcheck__all__r>r�rrr�test__all__�szMiscTestCase.test__all__N)rrrr�rrrrr��sr�rnc@sXeZdZdd�Zdd�Ze�ejdd�dkd�d	d
��Z	e�ejdkd�d
d��Z
dS)�TestIntEnumConvertcCs4tjjddtdkdd�d�}|�|d�jd�dS)	N�UnittestConvert�ztest.test_enum�__main__r�cSs
|�d�S�NZ
CONVERT_TEST_��
startswith�rrrrr�
r�zGTestIntEnumConvert.test_convert_value_lookup_priority.<locals>.<lambda>��filterrn�CONVERT_TEST_NAME_A)r>r�	_convert_rr�r��rBr�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�cSs
|�d�Sr�r�r�rrrr�
r�z1TestIntEnumConvert.test_convert.<locals>.<lambda>r�rncSs g|]}|dd�dvr|�qS)rr)ZCOrOr)r�r�rrrr�
s�z3TestIntEnumConvert.test_convert.<locals>.<listcomp>z&Names other than CONVERT_TEST_* found.)�msg)r>rr�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_convertNr)rrEz_convert was deprecated in 3.8cCsL|�t��.tjjddtdkdd�d�Wd�n1s>0YdS)Nr�r�r�cSs
|�d�Sr�r�r�rrrr�
r�z6TestIntEnumConvert.test_convert_warn.<locals>.<lambda>r�)r�r�r>r�_convertrr�rrr�test_convert_warn
s
�z$TestIntEnumConvert.test_convert_warnr�z_convert was removed in 3.9cCsL|�t��.tjjddtdkdd�d�Wd�n1s>0YdS)Nr�r�r�cSs
|�d�Sr�r�r�rrrr�(
r�z7TestIntEnumConvert.test_convert_raise.<locals>.<lambda>r�)r�r�r>rr�rr�rrr�test_convert_raise!
s
�z%TestIntEnumConvert.test_convert_raise)rrrr�r�r�r�r�r�r�r�rrrrr��s
�
�r�r�)N)Cr>r�r�r�r�rj�collectionsrrrrrrrr	�ior
�picklerrr
rrrZtest.supportrrrrrwr�r�rr}rr r~r!r#rr&r)r*r-r4r7ZTestCaser8rYrcr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��mainrrrr�<module>s�$
>++/'P/


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists