403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.217.130
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_enum.cpython-36.opt-2.pyc
3

�
�^{r��@s�ddlZddlZddlZddlZddlmZddlmZmZmZm	Z	m
Z
mZmZddl
mZddlmZmZmZmZddlmZyddlZWnek
r�dZYnXyGdd�de�ZWn&ek
r�Zz
eZWYddZ[XnXyGd	d
�d
ee�ZWn(ek
�r Zz
eZWYddZ[XnXyGdd�dee�ZWn(ek
�r`Zz
eZWYddZ[XnXyGd
d�de	�ZWn(ek
�r�Zz
eZWYddZ[XnXy&Gdd�de e�Z!Gdd�de!�Z"Wn(ek
�r�Zz
eZ"WYddZ[XnXyedde#d�Z$Wn(ek
�r*Zz
eZ$WYddZ[XnXyedd�Z%Wn(ek
�rbZz
eZ%WYddZ[XnXyedddd�Z&Wn(ek
�r�Zz
eZ&WYddZ[XnXyGdd�de�Z'Wnek
�r�YnXd8dd�Z(d d!�Z)Gd"d#�d#ej*�Z+Gd$d%�d%ej*�Z,Gd&d'�d'ej*�Z-Gd(d)�d)ej*�Z.Gd*d+�d+ej*�Z/Gd,d-�d-ej*�Z0d.Z1d/Z2Gd0d1�d1ej*�Z3Gd2d3�d3ej*�Z4d4Z5d4Z6d4Z7d4Z8d4Z9d4Z:Gd5d6�d6ej*�Z;e#d7k�r�ej<�dS)9�N)�OrderedDict)�Enum�IntEnum�EnumMeta�Flag�IntFlag�unique�auto)�StringIO)�dumps�loads�
PicklingError�HIGHEST_PROTOCOL)�supportc@seZdZdZdZdZdS)�Stooges���N)�__name__�
__module__�__qualname__�LARRY�CURLY�MOE�rr�./opt/alt/python36/lib64/python3.6/test_enum.pyrsrc@seZdZdZdZdZdS)�
IntStoogesrrrN)rrrrrrrrrrrsrc@seZdZdZdZdZdS)�FloatStoogesg=
ףp=�?g�(\��@g�R$_	$	@N)rrrrrrrrrrr"src@seZdZdZdZdZdS)�FlagStoogesrrrN)rrrrrrrrrrr*src@seZdZdS)�StrEnumN)rrrrrrrr3src@seZdZdZdZdS)�NamezGuido 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(cCs<|dkr|}x*ttd�D]}|tt||d��|�qWdS)Nr)�protocol)�rangerrr)�	assertion�source�targetr)rrr�test_pickle_dump_loadSsr.cCs:x4ttd�D]$}||��t||d�WdQRXqWdS)Nr)r))r*rr)r+Z	exception�objr)rrr�test_pickle_exceptionYs
r0c@s$eZdZdd�Zdd�Zdd�ZdS)�TestHelperscCsRGdd�d�}x>dD]6}|�}|jtj|��t||d�|jtj|��qWdS)Nc@seZdZdS)z+TestHelpers.test_is_descriptor.<locals>.fooN)rrrrrrr�foobsr2�__get__�__set__�
__delete__r)r3r4r5)�assertFalse�enum�_is_descriptor�setattr�
assertTrue)�selfr2�attrr/rrr�test_is_descriptoras
zTestHelpers.test_is_descriptorc
Cs@xdD]}|jtj|��qWxdD]}|jtj|��q$WdS)N�_a_�_aa_�a�a_�_a�__a�a__�__a__�_a__�__a_�_�__�___�____�_____)r>r?)
r@rArBrCrDrErFrGrHrIrJrKrL)r:r7�
_is_sunderr6)r;�srrr�test_is_sunderjs

zTestHelpers.test_is_sunderc
Cs@xdD]}|jtj|��qWxdD]}|jtj|��q$WdS)NrE�__aa__r@rArBrCrDr>rFrGrHrIrJrKrL)rErP)
r@rArBrCrDr>rFrGrHrIrJrKrL)r:r7�
_is_dunderr6)r;rNrrr�test_is_dunderrs

zTestHelpers.test_is_dunderN)rrrr=rOrRrrrrr1^s	r1c@sLeZdZdd�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�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~srYc@seZdZdZdZdeZdS)z!TestEnum.setUp.<locals>.KonstantsgB�
�@gJ�M�!	@rN)rrr�EZPI�TAUrrrr�	Konstants�sr\c@s eZdZdZdZdZdZdZdS)zTestEnum.setUp.<locals>.Grades�rTrrrN)rrr�A�B�C�D�Frrrr�Grades�s
rcc@seZdZdZdZdZdZdS)z#TestEnum.setUp.<locals>.DirectionalZeastZwestZnorthZsouthN)rrrZEAST�WESTZNORTHZSOUTHrrrr�Directional�srer)�datec@seZdZdZdZdS)zTestEnum.setUp.<locals>.Holiday��rr�N)rgrr)rgrrh)rrrZNEW_YEAR�
IDES_OF_MARCHrrrr�Holiday�srj)rrY�floatr\rrc�strreZdatetimerfrj)r;rYr\rcrerfrjrrr�setUp}szTestEnum.setUpcCs2|j}|jtt|��tddddddddg��dS)	N�	__class__�__doc__�__members__rrUrVrWrX)rY�assertEqual�set�dir)r;rYrrr�test_dir_on_class�s


zTestEnum.test_dir_on_classcCs.|j}|jtt|j��tdddddg��dS)Nrnror�name�value)rYrqrrrsrX)r;rYrrr�test_dir_on_item�szTestEnum.test_dir_on_itemc	Cs^Gdd�dt�}|jtt|��tddddddg��|jtt|j��tdddd	d
dg��dS)Nc@seZdZdZdZdd�ZdS)z3TestEnum.test_dir_with_added_behavior.<locals>.Test�that�thosecSs
d|jS)NzWowser! I'm %s!)ru)r;rrr�wowser�sz:TestEnum.test_dir_with_added_behavior.<locals>.Test.wowserN)rrr�this�theserzrrrr�Test�sr}rnrorprr{r|rurvrz)rrqrrrsr{)r;r}rrr�test_dir_with_added_behavior�s
z%TestEnum.test_dir_with_added_behaviorc	CsJGdd�dt�}Gdd�d|�}|jtt|j��tddddd	d
g��dS)Nc@seZdZdd�ZdS)zBTestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnumcSsdS)Nzdid you see me?r)r;rrr�	invisible�szLTestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnum.invisibleN)rrrrrrrr�	SuperEnum�sr�c@seZdZdZdS)z@TestEnum.test_dir_on_sub_with_behavior_on_super.<locals>.SubEnumr]N)rrr�samplerrrr�SubEnum�sr�rnrorrurvr)rrqrrrsr�)r;r�r�rrr�&test_dir_on_sub_with_behavior_on_super�s
z/TestEnum.test_dir_on_sub_with_behavior_on_supercCs|j}|j||j�|j�dS)N)rY�assertIsrX)r;rYrrr�test_enum_in_enum_out�szTestEnum.test_enum_in_enum_outcCs|j}|j|jjd�dS)Nr)rYrqrUrv)r;rYrrr�test_enum_value�szTestEnum.test_enum_valuecCs|jtjjd�dS)Nr)rqrrrv)r;rrr�test_intenum_value�szTestEnum.test_intenum_valuecCs|j}t|�}|jt|�t|��|jt|�d|�|j|j|j|j|jg|�x�tdj	�d�D]�\}}||�}|j|t
||��|j|j|�|j||�|j|j
|�|j||�|jt|�|�|j||�|jt|�d|�|jt|�dj||��q`WdS)NrTzSPRING SUMMER AUTUMN WINTERrzSeason.z<Season.{0}: {1}>)rY�listrq�lenrUrVrWrX�	enumerate�split�getattrrv�assertNotEqualru�assertInr��type�assertIsInstancerl�repr�format)r;rY�lst�iZseason�errr�	test_enum�s&zTestEnum.test_enumcCsf|j}|j|jjd�|j|jjd�|jt��d|j_WdQRX|jt��d|j_WdQRXdS)NrUrZinviernor)rYrqrUrurv�assertRaises�AttributeError)r;rYrrr�test_value_name�szTestEnum.test_value_namec	Cs&|j}|jt��d|_WdQRXdS)Nzreally cold)rYr�r�rX)r;rYrrr�test_changing_member�szTestEnum.test_changing_membercCs�Gdd�dt�}|jt|d��|`|jt|d��|jt��
|`WdQRX|jt��
|`WdQRX|jt��|j`	WdQRXdS)Nc@s$eZdZdZdZdZdZdd�ZdS)z0TestEnum.test_attribute_deletion.<locals>.SeasonrrrrTcSsdS)Nr)�clsrrr�spamsz5TestEnum.test_attribute_deletion.<locals>.Season.spamN)rrrrUrVrWrXr�rrrrrY�s
rYr�)
rr:�hasattrr�r6r�r�rUZDRYru)r;rYrrr�test_attribute_deletion�s	z TestEnum.test_attribute_deletioncCs"Gdd�dt�}|jt|��dS)Nc@seZdZdS)z*TestEnum.test_bool_of_class.<locals>.EmptyN)rrrrrrr�Emptysr�)rr:�bool)r;r�rrr�test_bool_of_classszTestEnum.test_bool_of_classcCs0Gdd�dt�}x|D]}|jt|��qWdS)Nc@seZdZdZdZdZdS)z+TestEnum.test_bool_of_member.<locals>.CountrrrN)rrrZzero�one�tworrrr�Countsr�)rr:r�)r;r��memberrrr�test_bool_of_members
zTestEnum.test_bool_of_memberc'Cs�|jt��Gdd�dt�}WdQRX|jt��Gdd�dt�}WdQRX|jt��Gdd�dt�}WdQRX|jt��Gdd�dt�}WdQRX|jt��Gdd�dt�}WdQRXdS)Nc@seZdZdZdS)z*TestEnum.test_invalid_names.<locals>.Wrong�	N)rrr�mrorrrr�Wrongsr�c@seZdZdZdS)z*TestEnum.test_invalid_names.<locals>.Wrong�N)rrr�_create_rrrrr�!sc@seZdZdZdS)z*TestEnum.test_invalid_names.<locals>.Wrongr�N)rrr�_get_mixins_rrrrr�$sc@seZdZdZdS)z*TestEnum.test_invalid_names.<locals>.WrongrN)rrr�
_find_new_rrrrr�'sc@seZdZdZdS)z*TestEnum.test_invalid_names.<locals>.Wrongr�N)rrrZ
_any_name_rrrrr�*s)r��
ValueErrorr)r;r�rrr�test_invalid_namesszTestEnum.test_invalid_namescCs~Gdd�dt�}|j|j�|j|j�Gdd�dt�}|j|j�|j|j�Gdd�dtt�}|j|j�|j|j�dS)Nc@seZdZdZdZdS)z!TestEnum.test_bool.<locals>.LogicTFN)rrr�true�falserrrr�Logic/sr�c@seZdZdZdZdd�ZdS)z%TestEnum.test_bool.<locals>.RealLogicTFcSs
t|j�S)N)r��_value_)r;rrr�__bool__8sz.TestEnum.test_bool.<locals>.RealLogic.__bool__N)rrrr�r�r�rrrr�	RealLogic5sr�c@seZdZdZdZdS)z$TestEnum.test_bool.<locals>.IntLogicrrN)rrrr�r�rrrr�IntLogic=sr�)rr:r�r�r6�int)r;r�r�r�rrr�	test_bool-szTestEnum.test_boolcCsV|j}|j|j|�|jd|�|d�}|j||�Gdd�dt�}|j|j|�dS)Nrc@seZdZdZdZdS)z)TestEnum.test_contains.<locals>.OtherEnumrrN)rrrr�r�rrrr�	OtherEnumKsr�)rYr�rWZassertNotInrr�)r;rY�valr�rrr�
test_containsCszTestEnum.test_containscCs�|j}|jt��|j|jkWdQRX|jt��|jdkWdQRX|j|jd�Gdd�dt�}|j|j|j�|jt��|j|jkWdQRXdS)NrTrc@seZdZdZdZdZdS)z'TestEnum.test_comparisons.<locals>.PartrrrN)rrrrU�CLIPZBARRELrrrr�PartXsr�)rYr��	TypeErrorrUrXr�rr�)r;rYr�rrr�test_comparisonsOszTestEnum.test_comparisonscCs�Gdd�dt�}t|�}|j||j|j|j|jg�|j|j|j�|j|jj	d�|j|jj	d�|j|d�|j�|j|d�|j�|j|jj
d�|jdd�|jj�D�dd	g�dS)
Nc@s$eZdZdZdZdZZdZdZdS)z-TestEnum.test_enum_duplicates.<locals>.SeasonrrrrTN)	rrrrUrVrW�FALLrX�ANOTHER_SPRINGrrrrrYbs
rYrrrWcSsg|]\}}|j|kr|�qSr)ru)�.0�k�vrrr�
<listcomp>usz1TestEnum.test_enum_duplicates.<locals>.<listcomp>r�r�)
rr�rqrUrVrWrXr�r�rvrurp�items)r;rYr�rrr�test_enum_duplicatesaszTestEnum.test_enum_duplicatescCsv|jt��Gdd�dt�}WdQRX|jt��Gdd�dt�}WdQRX|jt��Gdd�dt�}WdQRXdS)Nc@seZdZdZdZdZdZdS)z+TestEnum.test_duplicate_name.<locals>.ColorrrrrTN)rrr�red�green�bluerrrr�Color{sr�c@s eZdZdZdZdZdd�ZdS)z+TestEnum.test_duplicate_name.<locals>.ColorrrrcSsdS)Nr�r)r;rrrr��sz/TestEnum.test_duplicate_name.<locals>.Color.redN)rrrr�r�r�rrrrr��sc@s$eZdZedd��ZdZdZdZdS)z+TestEnum.test_duplicate_name.<locals>.ColorcSsdS)NZredderr)r;rrrr��sz/TestEnum.test_duplicate_name.<locals>.Color.redrrrN)rrr�propertyr�r�r�rrrrr��s)r�r�r)r;r�rrr�test_duplicate_nameyszTestEnum.test_duplicate_namecCs^Gdd�dt�}|jt|�|j|jg�|jt|j�|�|j|jjd�|j|jjd�dS)Nc@seZdZdZdZdS)z/TestEnum.test_enum_with_value_name.<locals>.HuhrrN)rrrrurvrrrr�Huh�sr�rur)rrqr�rurvr�r�)r;r�rrr�test_enum_with_value_name�sz"TestEnum.test_enum_with_value_namecCs�|j}|jdj|j�djt|j���|jdj|j�djt|j���|jdj|j�djt|j���|jdj|j�djt|j���|jdj|j�djt|j���|jdj|j�djt|j���dS)Nz{}z{:}z{:20}z{:^20}z{:>20}z{:<20})rYrqr�rUrl)r;rYrrr�test_format_enum�szTestEnum.test_format_enumcCs*Gdd�dtt�}|jdj|j�d�dS)Nc@seZdZdZdZdd�ZdS)z3TestEnum.test_format_enum_custom.<locals>.TestFloatg�?g@cSsdS)NzTestFloat success!r)r;�specrrr�
__format__�sz>TestEnum.test_format_enum_custom.<locals>.TestFloat.__format__N)rrrr�r�r�rrrr�	TestFloat�sr�z{}zTestFloat success!)rkrrqr�r�)r;r�rrr�test_format_enum_custom�sz TestEnum.test_format_enum_customcCs|j|j|�|j|j��dS)N)rqr�rv)r;r�r�rrr�assertFormatIsValue�szTestEnum.assertFormatIsValuecCsz|j}|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�dS)	Nz{}z{:}z{:20}z{:^20}z{:>20}z{:<20}z{:%Y %m}z{:%Y %m %M:00})rjr�ri)r;rjrrr�test_format_enum_date�szTestEnum.test_format_enum_datecCs�|j}|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd	|j�dS)
Nz{}z{:}z{:20}z{:^20}z{:>20}z{:<20}z{:n}z{:5.2}z{:f})r\r�r[)r;r\rrr�test_format_enum_float�szTestEnum.test_format_enum_floatcCs�|j}|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd	|j�dS)
Nz{}z{:}z{:20}z{:^20}z{:>20}z{:<20}z{:+}z{:08X}z{:b})rcr�r`)r;rcrrr�test_format_enum_int�szTestEnum.test_format_enum_intcCs^|j}|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�dS)Nz{}z{:}z{:20}z{:^20}z{:>20}z{:<20})rer�rd)r;rerrr�test_format_enum_str�szTestEnum.test_format_enum_strcCsH|j}i}d||j<d||j<d||j<d||j<|j||jd�dS)NZ1225Z0315Z0704Z1031)rYrXrUrVrWrq)r;rYZdatesrrr�	test_hash�s



zTestEnum.test_hashcCs(Gdd�dtt�}|j|j|jk�dS)Nc@seZdZdZdeZdS)z/TestEnum.test_intenum_from_scratch.<locals>.phyrrN)rrr�pi�taurrrr�phy�sr�)r�rr:r�r�)r;r�rrr�test_intenum_from_scratch�sz"TestEnum.test_intenum_from_scratchcCs8Gdd�dtt�}Gdd�d|�}|j|j|jk�dS)Nc@seZdZdS)z0TestEnum.test_intenum_inherited.<locals>.IntEnumN)rrrrrrrr�src@seZdZdZdeZdS)z,TestEnum.test_intenum_inherited.<locals>.phyrrN)rrrr�r�rrrrr��sr�)r�rr:r�r�)r;rr�rrr�test_intenum_inherited�szTestEnum.test_intenum_inheritedcCs(Gdd�dtt�}|j|j|jk�dS)Nc@seZdZdZdeZdS)z1TestEnum.test_floatenum_from_scratch.<locals>.phygJ�M�!	@rN)rrrr�r�rrrrr��sr�)rkrr:r�r�)r;r�rrr�test_floatenum_from_scratch�sz$TestEnum.test_floatenum_from_scratchcCs8Gdd�dtt�}Gdd�d|�}|j|j|jk�dS)Nc@seZdZdS)z4TestEnum.test_floatenum_inherited.<locals>.FloatEnumN)rrrrrrr�	FloatEnumsr�c@seZdZdZdeZdS)z.TestEnum.test_floatenum_inherited.<locals>.phygJ�M�!	@rN)rrrr�r�rrrrr�sr�)rkrr:r�r�)r;r�r�rrr�test_floatenum_inheritedsz!TestEnum.test_floatenum_inheritedcCs(Gdd�dtt�}|j|j|jk�dS)Nc@seZdZdZdZdS)z/TestEnum.test_strenum_from_scratch.<locals>.phy�Pi�TauN)rrrr�r�rrrrr�sr�)rlrr:r�r�)r;r�rrr�test_strenum_from_scratch
sz"TestEnum.test_strenum_from_scratchcCs8Gdd�dtt�}Gdd�d|�}|j|j|jk�dS)Nc@seZdZdS)z0TestEnum.test_strenum_inherited.<locals>.StrEnumN)rrrrrrrrsrc@seZdZdZdZdS)z,TestEnum.test_strenum_inherited.<locals>.phyr�r�N)rrrr�r�rrrrr�sr�)rlrr:r�r�)r;rr�rrr�test_strenum_inheritedszTestEnum.test_strenum_inheritedcCs:Gdd�dt�}|jdddg|jd�|jdd�t|j�D�dd	d
g�t|�}|jt|�t|��|jt|�d�d}|j�}x�t|d	�D]�\}}||�}|j||�|jt	|�|�|j|j
|�|j||�|j|j|�d	|�|j
d|k�od
kn�|jt|�|�|j|t	�|j|t�q�WdS)Nc@s(eZdZdZdZdZdZdZdZdZ	dS)	z&TestEnum.test_intenum.<locals>.WeekDayrrrrTr]��N)
rrr�SUNDAY�MONDAY�TUESDAY�	WEDNESDAY�THURSDAY�FRIDAY�SATURDAYrrrr�WeekDaysr�r@�b�ccSsg|]}|�qSrr)r�r�rrrr�$sz)TestEnum.test_intenum.<locals>.<listcomp>rrrr�z8SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY�)rrqr�r*r�r�r�r�r�r�rur��indexr:r�r�r�r)r;r�r�r-r�Zweekdayr�rrr�test_intenums&	" zTestEnum.test_intenumcCsTGdd�dt�}|j|j|j�|j|d�jd�|jdd�|jj�D�dg�dS)Nc@s,eZdZdZdZdZZdZdZdZ	dZ
dS)	z1TestEnum.test_intenum_duplicates.<locals>.WeekDayrrrrTr]r�r�N)rrrr�r�r��TEUSDAYr�r�r�r�rrrrr�8sr�rr�cSsg|]\}}|j|kr|�qSr)ru)r�r�r�rrrr�Bsz4TestEnum.test_intenum_duplicates.<locals>.<listcomp>r�)rr�r�r�rqrurpr�)r;r�rrr�test_intenum_duplicates7s
z TestEnum.test_intenum_duplicatesc
Cs<|jtjdd�tj�|jt��tjdd�WdQRXdS)NsZbigs)r�r�
from_bytesrr�r�)r;rrr�test_intenum_from_bytesEsz TestEnum.test_intenum_from_bytesc	CsXtjtjj�}|jtj|�tj�tjtjjd�}|jt��tj|�WdQRXdS)Ng{�G�z�?)	rk�hexrrrvr��fromhexr�r�)r;�hrrr�test_floatenum_fromhexJs
zTestEnum.test_floatenum_fromhexcCs,ttt�rt�t|jtj�t|jt�dS)N)�
isinstancer�	Exceptionr.r�r)r;rrr�test_pickle_enumQs
zTestEnum.test_pickle_enumcCs,ttt�rt�t|jtj�t|jt�dS)N)r�rr�r.r�r)r;rrr�test_pickle_intWs
zTestEnum.test_pickle_intcCs,ttt�rt�t|jtj�t|jt�dS)N)r�rr�r.r�r)r;rrr�test_pickle_float]s
zTestEnum.test_pickle_floatcCs,ttt�rt�t|jtj�t|jt�dS)N)r�r$r�r.r�Zhim)r;rrr�test_pickle_enum_functioncs
z"TestEnum.test_pickle_enum_functioncCs,ttt�rt�t|jtj�t|jt�dS)N)r�r"r�r.r�Zwho)r;rrr�%test_pickle_enum_function_with_moduleis
z.TestEnum.test_pickle_enum_function_with_modulecCs ttt�rt�|jtjd�dS)Nr&)r�r%r�rqr)r;rrr� test_enum_function_with_qualnameos
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�
NestedEnumvsrz
%s.NestedEnum)rrnrrrr.r�r)r;rrrr�/test_class_nested_enum_and_pickle_protocol_fourtsz8TestEnum.test_class_nested_enum_and_pickle_protocol_fourcCsBGdd�dt�}tj|_x$tt�D]}|j|jj|�d�q"WdS)Nc@seZdZdZdZdS)z6TestEnum.test_pickle_by_name.<locals>.ReplaceGlobalIntrrN)rrrZONE�TWOrrrr�ReplaceGlobalIntsrr
)rr7�_reduce_ex_by_name�
__reduce_ex__r*rrqr
)r;r�protorrr�test_pickle_by_name~szTestEnum.test_pickle_by_namecCsDtddtd�}|t�d<tj|�t|jt|j�t|jt	|�dS)N�	BadPicklezdill sweet bread-n-butter)r#)
rr�globalsr7�_make_class_unpicklabler0r�r�Zdillr
)r;rrrr�test_exploding_pickle�s

zTestEnum.test_exploding_picklecCs$Gdd�dtt�}|j|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?z
knock, knock!N)rrrZmasterZ
journeyman�
apprenticerrrr�
SkillLevel�srz
knock, knock!)rlrrqr)r;rrrr�test_string_enum�szTestEnum.test_string_enumcCsLGdd�dt�}|j|d�|j�|jt|d�|j�|j|d|j�dS)Nc@seZdZdZdZdZdZdS)z-TestEnum.test_getattr_getitem.<locals>.PeriodrrrrTN)rrr�morning�noonZevening�nightrrrr�Period�srrrr)rr�rr�rr)r;rrrr�test_getattr_getitem�szTestEnum.test_getattr_getitemcCs|j}|jt|d��dS)N�__eq__)rYr:r�)r;rYrrr�test_getattr_dunder�szTestEnum.test_getattr_dundercCs4Gdd�dt�}|jt|�|j|j|j|jg�dS)Nc@seZdZdZdZdZdZdS)z-TestEnum.test_iteration_order.<locals>.SeasonrrTrrN)rrrrVrXrWrUrrrrrY�srY)rrqr�rVrXrWrU)r;rYrrr�test_iteration_order�szTestEnum.test_iteration_ordercCs2|jtt|j��|jj|jj|jj|jjg�dS)N)rqr��reversedrYrXrWrVrU)r;rrr�test_reversed_iteration_order�sz&TestEnum.test_reversed_iteration_ordercCs�tdd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xjtdj�d�D]X\}}||�}|jt	|j
�|�|j||�|j|j|�|j
||�|jt|�|�q`WdS)N�SummerMonthzjune july augustrr)rr�rqr��june�july�augustr�r�r�rvr�rur�r�r�)r;r!r�r��monthr�rrr�!test_programmatic_function_string�s
z*TestEnum.test_programmatic_function_stringcCs�tdddd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xjtdj�d�D]X\}}||�}|jt	|j
�|�|j||�|j|j|�|j
||�|jt|�|�qdWdS)Nr!zjune july august�
)�startr)rr�rqr�r"r#r$r�r�r�rvr�rur�r�r�)r;r!r�r�r%r�rrr�,test_programmatic_function_string_with_start�sz5TestEnum.test_programmatic_function_string_with_startcCs�tddddg�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xjtdj�d�D]X\}}||�}|jt	|j
�|�|j||�|j|j|�|j
||�|jt|�|�qfWdS)Nr!r"r#r$rzjune july augustr)rr�rqr�r"r#r$r�r�r�rvr�rur�r�r�)r;r!r�r�r%r�rrr�&test_programmatic_function_string_list�sz/TestEnum.test_programmatic_function_string_listcCs�tddddgdd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xjtdj�d�D]X\}}||�}|jt	|j
�|�|j||�|j|j|�|j
||�|jt|�|�qjWdS)	Nr!r"r#r$�)r(rzjune july august)rr�rqr�r"r#r$r�r�r�rvr�rur�r�r�)r;r!r�r�r%r�rrr�1test_programmatic_function_string_list_with_start�sz:TestEnum.test_programmatic_function_string_list_with_startcCs�tdd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xjtdj�d�D]X\}}||�}|jt	|j
�|�|j||�|j|j|�|j
||�|jt|�|�q`WdS)
Nr!r"rr#rr$rzjune july august�r"r�r#r�r$r)r-r.r/)rr�rqr�r"r#r$r�r�r�rvr�rur�r�r�)r;r!r�r�r%r�rrr�#test_programmatic_function_iterable�s z,TestEnum.test_programmatic_function_iterablecCs�tdtd��}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xjtdj	�d�D]X\}}||�}|jt
|j�|�|j||�|j|j
|�|j||�|jt|�|�qdWdS)
Nr!r"rr#rr$rzjune july august�r"r�r#r�r$r)r1r2r3)rrr�rqr�r"r#r$r�r�r�rvr�rur�r�r�)r;r!r�r�r%r�rrr�$test_programmatic_function_from_dicts 
z-TestEnum.test_programmatic_function_from_dictcCs�tddtd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xXtdj	�d�D]F\}}||�}|j||�|j|j
|�|j||�|jt
|�|�qdWdS)Nr!zjune july august)r�rr)rr�r�rqr�r"r#r$r�r�rur�r�r�)r;r!r�r�r%r�rrr�test_programmatic_function_type"sz(TestEnum.test_programmatic_function_typecCs�tddtdd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xXtdj	�d�D]F\}}||�}|j||�|j|j
|�|j||�|jt
|�|�qfWdS)Nr!zjune july august�)r�r(r)rr�r�rqr�r"r#r$r�r�rur�r�r�)r;r!r�r�r%r�rrr�*test_programmatic_function_type_with_start2sz3TestEnum.test_programmatic_function_type_with_startcCs�tdd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xXtdj�d�D]F\}}||�}|j||�|j|j	|�|j
||�|jt|�|�q`WdS)Nr!zjune july augustrr)
rr�rqr�r"r#r$r�r�rur�r�r�)r;r!r�r�r%r�rrr�-test_programmatic_function_type_from_subclassBs
z6TestEnum.test_programmatic_function_type_from_subclasscCs�tdddd�}t|�}|jt|�t|��|jt|�d|�|j|j|j|jg|�xXtdj�d�D]F\}}||�}|j||�|j|j	|�|j
||�|jt|�|�qdWdS)Nr!zjune july august�()r(r)
rr�rqr�r"r#r$r�r�rur�r�r�)r;r!r�r�r%r�rrr�8test_programmatic_function_type_from_subclass_with_startRszATestEnum.test_programmatic_function_type_from_subclass_with_startcCsTttt�rt�|jtjd�|jtjtd��|jtjttd��t|jtj�dS)NzGuido van Rossumr!)	r�r r�rqr!r:r�r�r.)r;rrr�test_subclassingbs
zTestEnum.test_subclassingcCs:Gdd�dt�}|jt��Gdd�d|�}WdQRXdS)Nc@seZdZdZdZdZdS)z&TestEnum.test_extending.<locals>.ColorrrrN)rrrr�r�r�rrrrr�ksr�c@seZdZdZdZdZdS)z*TestEnum.test_extending.<locals>.MoreColorrTr]r�N)rrr�cyan�magenta�yellowrrrr�	MoreColorpsr?)rr�r�)r;r�r?rrr�test_extendingjszTestEnum.test_extendingcCs8Gdd�dt�}|jt|j�|�|j|jj�d�dS)Nc@seZdZdZdZdd�ZdS)z/TestEnum.test_exclude_methods.<locals>.whateverrxrycSs
d|jS)Nz
no, not %s)rv)r;rrr�reallyysz6TestEnum.test_exclude_methods.<locals>.whatever.reallyN)rrrr{r|rArrrr�whatevervsrBzno, not that)rZassertIsNotr�rArqr{)r;rBrrr�test_exclude_methodsuszTestEnum.test_exclude_methodscCs,|jt��Gdd�dtt�}WdQRXdS)Nc@seZdZdZdS)z4TestEnum.test_wrong_inheritance_order.<locals>.Wrongzerror before this pointN)rrrZNotHererrrrr��sr�)r�r�rrl)r;r�rrr�test_wrong_inheritance_order~sz%TestEnum.test_wrong_inheritance_ordercCsTGdd�dt�}Gdd�dt�}|j|j|j�|j|j|j�|j|j|j�dS)Nc@seZdZdZdZdZdS)z2TestEnum.test_intenum_transitivity.<locals>.numberrrrN)rrrr�r��threerrrr�number�srFc@seZdZdZdZdZdS)z2TestEnum.test_intenum_transitivity.<locals>.numerorrrN)rrr�uno�dos�tresrrrr�numero�srJ)rrqr�rGr�rHrErI)r;rFrJrrr�test_intenum_transitivity�s
z"TestEnum.test_intenum_transitivitycCs4Gdd�dt�}Gdd�dt�}|jt||j�dS)Nc@seZdZdZdZdS)z4TestEnum.test_wrong_enum_in_call.<locals>.MonochromerrN)rrr�black�whiterrrr�
Monochrome�srNc@seZdZdZdZdS)z0TestEnum.test_wrong_enum_in_call.<locals>.GenderrrN)rrr�male�femalerrrr�Gender�srQ)rr�r�rO)r;rNrQrrr�test_wrong_enum_in_call�sz TestEnum.test_wrong_enum_in_callcCs4Gdd�dt�}Gdd�dt�}|jt||j�dS)Nc@seZdZdZdZdS)z:TestEnum.test_wrong_enum_in_mixed_call.<locals>.MonochromerrN)rrrrLrMrrrrrN�srNc@seZdZdZdZdS)z6TestEnum.test_wrong_enum_in_mixed_call.<locals>.GenderrrN)rrrrOrPrrrrrQ�srQ)rrr�r�rO)r;rNrQrrr�test_wrong_enum_in_mixed_call�sz&TestEnum.test_wrong_enum_in_mixed_callcCs8Gdd�dt�}Gdd�dt�}|j||j�|j�dS)Nc@seZdZdZdZdS)z6TestEnum.test_mixed_enum_in_call_1.<locals>.MonochromerrN)rrrrLrMrrrrrN�srNc@seZdZdZdZdS)z2TestEnum.test_mixed_enum_in_call_1.<locals>.GenderrrN)rrrrOrPrrrrrQ�srQ)rr�rPrM)r;rNrQrrr�test_mixed_enum_in_call_1�sz"TestEnum.test_mixed_enum_in_call_1cCs8Gdd�dt�}Gdd�dt�}|j||j�|j�dS)Nc@seZdZdZdZdS)z6TestEnum.test_mixed_enum_in_call_2.<locals>.MonochromerrN)rrrrLrMrrrrrN�srNc@seZdZdZdZdS)z2TestEnum.test_mixed_enum_in_call_2.<locals>.GenderrrN)rrrrOrPrrrrrQ�srQ)rrr�rOrL)r;rNrQrrr�test_mixed_enum_in_call_2�sz"TestEnum.test_mixed_enum_in_call_2cCs6Gdd�dt�}Gdd�d|�}|jt|j�d�dS)Nc@seZdZdd�ZdS)z*TestEnum.test_flufl_enum.<locals>.FluflnumcSs
t|j�S)N)r�rv)r;rrr�__int__�sz2TestEnum.test_flufl_enum.<locals>.Fluflnum.__int__N)rrrrVrrrr�Fluflnum�srWc@seZdZdZdZdZdS)z0TestEnum.test_flufl_enum.<locals>.MailManOptionsrrrN)rrr�option1Zoption2Zoption3rrrr�MailManOptions�srYr)rrqr�rX)r;rWrYrrr�test_flufl_enum�szTestEnum.test_flufl_enumcCs�Gdd�dt�}|j|jjt�|j|jt�Gdd�dtt�}|j|jjt�|j|jt�Gdd�dt�}|j|jjt	�|j|jt	�dS)Nc@seZdZdZdZdS)z+TestEnum.test_introspection.<locals>.Number�d��N)rrrr�r�rrrr�Number�sr]c@seZdZdZdZdZdS)z+TestEnum.test_introspection.<locals>.StringZsoftZroughZhardN)rrr�yarnZropeZwirerrrr�String�sr_c@seZdZdZdZdS)z*TestEnum.test_introspection.<locals>.PlainrMrN)rrr�vanillar�rrrr�Plain�sra)
rr�r��
_member_type_r�rlrr^r`�object)r;r]r_rarrr�test_introspection�szTestEnum.test_introspectioncCsPGdd�dt�}|jt��|d�WdQRX|jt��|dWdQRXdS)Nc@seZdZdZdZdZdS)z0TestEnum.test_no_such_enum_member.<locals>.ColorrrrN)rrrr�r�r�rrrrr��sr�rTZ
chartreuse)rr�r��KeyError)r;r�rrr�test_no_such_enum_member�s
z!TestEnum.test_no_such_enum_membercCs&Gdd�dt�}|jt|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?)ru)r;rrr�__repr__�sz.TestEnum.test_new_repr.<locals>.Color.__repr__N)rrrr�r�r�rgrrrrr��sr�z#don't you just love shades of blue?)rrqr�r�)r;r�rrr�
test_new_repr�szTestEnum.test_new_reprcCs8Gdd�dt�}Gdd�dt|�}|jt|j�d�dS)Nc@seZdZdd�ZdS)z,TestEnum.test_inherited_repr.<locals>.MyEnumcSs
d|jS)NzMy name is %s.)ru)r;rrrrg�sz5TestEnum.test_inherited_repr.<locals>.MyEnum.__repr__N)rrrrgrrrr�MyEnum�sric@seZdZdZdZdZdS)z/TestEnum.test_inherited_repr.<locals>.MyIntEnumrrrN)rrrr{rxZtheotherrrrr�	MyIntEnum�srjzMy name is that.)rr�rqr�rx)r;rirjrrr�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}x8|jD].}||}|tkr:|}n|}|d7}|||<q Wx$|j�D]\}}||kr\|||<q\Wt�|�j||||�S)Nrr)r�rr�
_member_names�Ellipsisr��super�__new__)	�metaclsr��bases�	classdict�temp�namesr�r�r�)rn�	auto_enumrrro�s


z;TestEnum.test_multiple_mixin_mro.<locals>.auto_enum.__new__)rrrro�
__classcell__r)ru)rnrru�sruc@seZdZdS)z:TestEnum.test_multiple_mixin_mro.<locals>.AutoNumberedEnumN)rrrrrrr�AutoNumberedEnumsrw)�	metaclassc@seZdZdS)z5TestEnum.test_multiple_mixin_mro.<locals>.AutoIntEnumN)rrrrrrr�AutoIntEnumsryc@seZdZdZdZdZdS)z8TestEnum.test_multiple_mixin_mro.<locals>.TestAutoNumber.rN)rrrr@r�r�rrrr�TestAutoNumber
srzc@seZdZdZdZdZdS)z5TestEnum.test_multiple_mixin_mro.<locals>.TestAutoInt.rN)rrrr@r�r�rrrr�TestAutoIntsr{)r�rr)r;rwryrzr{r)rur�test_multiple_mixin_mro�s
z TestEnum.test_multiple_mixin_mrocs�G�fdd�dt��Gdd�d�t�}|j|jtj�|jt|j|j�d��t�d<|t�d<�dd�}|j|d�t	|j|d�|j|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�NamedIntcWs@|}|^}}t|�dkr td��tj|f|��}||_||_|S)Nrz name and value must be specified)r�r�r�ro�_intname�_args)r��argsrrur;rrrroszBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__new__cSs|jS)N)r)r;rrr�__getnewargs__ szITestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__getnewargs__cSs|jS)N)r~)r;rrrr"szCTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__name__cSsdjt|�j|jtj|��S)Nz{}({!r}, {}))r�r�rr�rg)r;rrrrg%szCTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__repr__cSs&t}|j}|jtkr|j|�S||�S)N)r��__str__�__objclass__rcrg)r;�base�base_strrrrr�*s


zBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�dj|j|j�|�S|SdS)Nz({0} + {1}))r�r�r�r)r;�otherrs)r}rr�__add__3szBTestEnum.test_subclasses_with_getnewargs.<locals>.NamedInt.__add__N)	rrrror�r�rgr�r�r)r}rrr}s		r}c@seZdZdZdZdZdS)	z5TestEnum.test_subclasses_with_getnewargs.<locals>.NEI�NEI�the-xr�the-yrN)r�r)r�r)rrr�x�yrrrrr�<sr�zNamedInt('(the-x + the-y)', 3)�testr]r)r�rr�rorqr�r�r�rr.rv)r;r��NI5r)r}r�test_subclasses_with_getnewargss'


z(TestEnum.test_subclasses_with_getnewargscs�G�fdd�dt��Gdd�d�t�}|j|jtj�|jt|j|j�d��t�d<|t�d<�dd�}|j|d�t	|j|d�|j|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}cWs@|}|^}}t|�dkr td��tj|f|��}||_||_|S)Nrz name and value must be specified)r�r�r�ror~r)r�r�rrur;rrrroPszETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__new__cSs
|jifS)N)r)r;rrr�__getnewargs_ex__YszOTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__getnewargs_ex__cSs|jS)N)r~)r;rrrr[szFTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__name__cSsdjt|�j|jtj|��S)Nz{}({!r}, {}))r�r�rr�rg)r;rrrrg^szFTestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__repr__cSs&t}|j}|jtkr|j|�S||�S)N)r�r�r�rcrg)r;r�r�rrrr�cs


zETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�dj|j|j�|�S|SdS)Nz({0} + {1}))r�r�r�r)r;r�rs)r}rrr�lszETestEnum.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__add__N)	rrrror�r�rgr�r�r)r}rrr}Ns		r}c@seZdZdZdZdZdS)	z8TestEnum.test_subclasses_with_getnewargs_ex.<locals>.NEIr��the-xr�the-yrN)r�r)r�r)rrrr�r�rrrrr�usr�zNamedInt('(the-x + the-y)', 3)r�r]r)r�rr�rorqr�r�r�rr.rv)r;r�r�r)r}r�"test_subclasses_with_getnewargs_exMs'


z+TestEnum.test_subclasses_with_getnewargs_excs�G�fdd�dt��Gdd�d�t�}|j|jtj�|jt|j|j�d��t�d<|t�d<�dd�}|j|d�t	|j|d�|j|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}cWs@|}|^}}t|�dkr td��tj|f|��}||_||_|S)Nrz name and value must be specified)r�r�r�ror~r)r�r�rrur;rrrro�sz>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__new__cSs|j|jfS)N)rnr)r;rrr�
__reduce__�szATestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__reduce__cSs|jS)N)r~)r;rrrr�sz?TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__name__cSsdjt|�j|jtj|��S)Nz{}({!r}, {}))r�r�rr�rg)r;rrrrg�sz?TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__repr__cSs&t}|j}|jtkr|j|�S||�S)N)r�r�r�rcrg)r;r�r�rrrr��s


z>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�dj|j|j�|�S|SdS)Nz({0} + {1}))r�r�r�r)r;r�rs)r}rrr��sz>TestEnum.test_subclasses_with_reduce.<locals>.NamedInt.__add__N)	rrrror�r�rgr�r�r)r}rrr}�s		r}c@seZdZdZdZdZdS)	z1TestEnum.test_subclasses_with_reduce.<locals>.NEIr��the-xr�the-yrN)r�r)r�r)rrrr�r�rrrrr��sr�zNamedInt('(the-x + the-y)', 3)r�r]r)r�rr�rorqr�r�r�rr.rv)r;r�r�r)r}r�test_subclasses_with_reduce�s'


z$TestEnum.test_subclasses_with_reducecs�G�fdd�dt��Gdd�d�t�}|j|jtj�|jt|j|j�d��t�d<|t�d<�dd�}|j|d�t	|j|d�|j|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}cWs@|}|^}}t|�dkr td��tj|f|��}||_||_|S)Nrz name and value must be specified)r�r�r�ror~r)r�r�rrur;rrrro�szATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__new__cSs|j|jfS)N)rnr)r;rrrrr
�szGTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__reduce_ex__cSs|jS)N)r~)r;rrrr�szBTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__name__cSsdjt|�j|jtj|��S)Nz{}({!r}, {}))r�r�rr�rg)r;rrrrg�szBTestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__repr__cSs&t}|j}|jtkr|j|�S||�S)N)r�r�r�rcrg)r;r�r�rrrr��s


zATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�dj|j|j�|�S|SdS)Nz({0} + {1}))r�r�r�r)r;r�rs)r}rrr��szATestEnum.test_subclasses_with_reduce_ex.<locals>.NamedInt.__add__N)	rrrror
r�rgr�r�r)r}rrr}�s		r}c@seZdZdZdZdZdS)	z4TestEnum.test_subclasses_with_reduce_ex.<locals>.NEIr��the-xr�the-yrN)r�r)r�r)rrrr�r�rrrrr��sr�zNamedInt('(the-x + the-y)', 3)r�r]r)r�rr�rorqr�r�r�rr.rv)r;r�r�r)r}r�test_subclasses_with_reduce_ex�s'


z'TestEnum.test_subclasses_with_reduce_excs�G�fdd�dt��Gdd�d�t�}|j|jtj�|jt|j|j�d��t�d<|t�d<�dd�}|j|d�|j|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}cWs@|}|^}}t|�dkr td��tj|f|��}||_||_|S)Nrz name and value must be specified)r�r�r�ror~r)r�r�rrur;rrrro�szPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__new__cSs|jS)N)r~)r;rrrrszQTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__name__cSsdjt|�j|jtj|��S)Nz{}({!r}, {}))r�r�rr�rg)r;rrrrgszQTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__repr__cSs&t}|j}|jtkr|j|�S||�S)N)r�r�r�rcrg)r;r�r�rrrr�s


zPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�dj|j|j�|�S|SdS)Nz({0} + {1}))r�r�r�r)r;r�rs)r}rrr�szPTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__add__N)rrrror�rgr�r�r)r}rrr}�s		r}c@seZdZdZdZdZdS)	zCTestEnum.test_subclasses_without_direct_pickle_support.<locals>.NEIr��the-xr�the-yrN)r�r)r�r)rrrr�r�rrrrr�sr�zNamedInt('(the-x + the-y)', 3)r�r]r)r�rr�rorqr�r�r�rrvr0r�r�r
)r;r�r�r)r}r�-test_subclasses_without_direct_pickle_support�s%


z6TestEnum.test_subclasses_without_direct_pickle_supportcs�G�fdd�dt��Gdd�d�t�}|j|jtj�|jt|j|j�d��t�d<|t�d<�dd�}|j|d�|j|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}cWs@|}|^}}t|�dkr td��tj|f|��}||_||_|S)Nrz name and value must be specified)r�r�r�ror~r)r�r�rrur;rrrro0sz[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__new__cSs|jS)N)r~)r;rrrr9sz\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__name__cSsdjt|�j|jtj|��S)Nz{}({!r}, {}))r�r�rr�rg)r;rrrrg<sz\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__repr__cSs&t}|j}|jtkr|j|�S||�S)N)r�r�r�rcrg)r;r�r�rrrr�As


z[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__str__csBt|�t|�}t|��r:t|��r:�dj|j|j�|�S|SdS)Nz({0} + {1}))r�r�r�r)r;r�rs)r}rrr�Jsz[TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NamedInt.__add__N)rrrror�rgr�r�r)r}rrr}.s		r}c@s eZdZdZd	Zd
Zdd�ZdS)zNTestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NEIr��the-xr�the-yrcSst|j|jffS)N)r�rn�_name_)r;rrrrr
Wsz\TestEnum.test_subclasses_without_direct_pickle_support_using_name.<locals>.NEI.__reduce_ex__N)r�r)r�r)rrrr�r�r
rrrrr�Ssr�zNamedInt('(the-x + the-y)', 3)r�r]r)r�rr�rorqr�r�r�rrvr.)r;r�r�r)r}r�8test_subclasses_without_direct_pickle_support_using_name-s%


zATestEnum.test_subclasses_without_direct_pickle_support_using_namecCs\Gdd�dtt�}|jt|j�|�|j|jt�|j|jd�|t	�d<t
|j|j�dS)Nc@seZdZdZd	Zd
ZdZdS)z/TestEnum.test_tuple_subclass.<locals>.SomeTuple�	SomeTupler�
for the moneyr�for the showr�
for the musicN)rr�)rr�)rr�)rrr�first�second�thirdrrrrr�esr�r�
for the music)rr�)�tuplerr�r�r�r�r�rqr�rr.)r;r�rrr�test_tuple_subclassds
zTestEnum.test_tuple_subclasscCsdGdd�dt�}|jt|�|j|j|jg�|jt|j�d�|j|jjd�|j|d�|j�dS)Nc@s(eZdZfZfZfZdd�Zdd�ZdS)zITestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumbercSs"t|j�d}tj|�}||_|S)Nr)r�rprcror�)r�rvr/rrrrous
zQTestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__new__cSs
t|j�S)N)r�r�)r;rrrrVzszQTestEnum.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__int__N)rrrr�r�r�rorVrrrr�
AutoNumberqs
r�rrr)	rrqr�r�r�r�r�rvr�)r;r�rrr�,test_duplicate_values_give_unique_enum_itemspsz5TestEnum.test_duplicate_values_give_unique_enum_itemscCs\Gdd�dt�}Gdd�d|�}|jt|�|j|j|jg�|jttt|��dddg�dS)Nc@seZdZdd�Zdd�ZdS)zBTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumbercSs"t|j�d}tj|�}||_|S)Nr)r�rprcror�)r�rvr/rrrro�s
zJTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__new__cSs
t|j�S)N)r�r�)r;rrrrV�szJTestEnum.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__int__N)rrrrorVrrrrr��sr�c@seZdZfZfZfZdS)z=TestEnum.test_inherited_new_from_enhanced_enum.<locals>.ColorN)rrrr�r�r�rrrrr��sr�rrr)rrqr�r�r�r��mapr�)r;r�r�rrr�%test_inherited_new_from_enhanced_enum�sz.TestEnum.test_inherited_new_from_enhanced_enumcCs\Gdd�dt�}Gdd�d|�}|jt|�|j|j|jg�|jttt|��dddg�dS)Nc@seZdZdd�ZdS)z?TestEnum.test_inherited_new_from_mixed_enum.<locals>.AutoNumbercSs$t|j�d}tj||�}||_|S)Nr)r�rpr�ror�)r�rvr/rrrro�szGTestEnum.test_inherited_new_from_mixed_enum.<locals>.AutoNumber.__new__N)rrrrorrrrr��sr�c@seZdZfZfZfZdS)z:TestEnum.test_inherited_new_from_mixed_enum.<locals>.ColorN)rrrr�r�r�rrrrr��sr�rrr)rrqr�r�r�r�r�r�)r;r�r�rrr�"test_inherited_new_from_mixed_enum�sz+TestEnum.test_inherited_new_from_mixed_enumcCsBGdd�d�}Gdd�dt�}|j|�|j�|j|j|��dS)Nc@seZdZdd�ZdS)z+TestEnum.test_equality.<locals>.AlwaysEqualcSsdS)NTr)r;r�rrrr�sz2TestEnum.test_equality.<locals>.AlwaysEqual.__eq__N)rrrrrrrr�AlwaysEqual�sr�c@seZdZdZdS)z,TestEnum.test_equality.<locals>.OrdinaryEnumrN)rrrr@rrrr�OrdinaryEnum�sr�)rrqr@)r;r�r�rrr�
test_equality�szTestEnum.test_equalitycCs�Gdd�dt�}Gdd�d|�}|j|j|j�|j|j|j�|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|jkr|j|jkStS)N)rnr��NotImplemented)r;r�rrr�__ge__�sz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__ge__cSs|j|jkr|j|jkStS)N)rnr�r�)r;r�rrr�__gt__�sz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__gt__cSs|j|jkr|j|jkStS)N)rnr�r�)r;r�rrr�__le__�sz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__le__cSs|j|jkr|j|jkStS)N)rnr�r�)r;r�rrr�__lt__�sz7TestEnum.test_ordered_mixin.<locals>.OrderedEnum.__lt__N)rrrr�r�r�r�rrrr�OrderedEnum�sr�c@s eZdZdZdZdZdZdZdS)z*TestEnum.test_ordered_mixin.<locals>.Grader]rTrrrN)rrrr^r_r`rarbrrrr�Grade�s
r�)rZ
assertGreaterr^r_ZassertLessEqualrbr`Z
assertLessraZassertGreaterEqualrqr�)r;r�r�rrr�test_ordered_mixin�szTestEnum.test_ordered_mixincCsJGdd�dt�}Gdd�d|�}|jt��Gdd�d|�}WdQRXdS)Nc@seZdZdd�ZdS)z'TestEnum.test_extending2.<locals>.ShadecSst|j�dS)N)�printru)r;rrr�shade�sz-TestEnum.test_extending2.<locals>.Shade.shadeN)rrrr�rrrr�Shade�sr�c@seZdZdZdZdZdS)z'TestEnum.test_extending2.<locals>.ColorrrrN)rrrr�r�r�rrrrr��sr�c@seZdZdZdZdZdS)z+TestEnum.test_extending2.<locals>.MoreColorrTr]r�N)rrrr<r=r>rrrrr?�sr?)rr�r�)r;r�r�r?rrr�test_extending2�szTestEnum.test_extending2cCsFGdd�dt�}Gdd�d|�}Gdd�d|�}|j|jj�d�dS)Nc@seZdZdd�ZdS)z'TestEnum.test_extending3.<locals>.ShadecSs|jS)N)ru)r;rrrr��sz-TestEnum.test_extending3.<locals>.Shade.shadeN)rrrr�rrrrr��sr�c@seZdZdd�ZdS)z'TestEnum.test_extending3.<locals>.ColorcSs
d|jS)Nz
%s hexlified!)rv)r;rrrr��sz+TestEnum.test_extending3.<locals>.Color.hexN)rrrr�rrrrr��sr�c@seZdZdZdZdZdS)z+TestEnum.test_extending3.<locals>.MoreColorrTr]r�N)rrrr<r=r>rrrrr?�sr?z5 hexlified!)rrqr=r�)r;r�r�r?rrr�test_extending3�szTestEnum.test_extending3cCs6Gdd�dt�}Gdd�d|�}|jt|j�|�dS)Nc@seZdZdd�ZdS)z3TestEnum.test_subclass_duplicate_name.<locals>.BasecSsdS)Nr)r;rrrr��sz8TestEnum.test_subclass_duplicate_name.<locals>.Base.testN)rrrr�rrrr�Base�sr�c@seZdZdZdS)z3TestEnum.test_subclass_duplicate_name.<locals>.TestrN)rrrr�rrrrr}�sr})rr�r�r�)r;r�r}rrr�test_subclass_duplicate_name�sz%TestEnum.test_subclass_duplicate_namecsDddlm�G�fdd�dt�}Gdd�d|�}|j|jjd�dS)Nr)�DynamicClassAttributecseZdZ�dd��ZdS)z;TestEnum.test_subclass_duplicate_name_dynamic.<locals>.BasecSsdS)N�dynamicr)r;rrrr��sz@TestEnum.test_subclass_duplicate_name_dynamic.<locals>.Base.testN)rrrr�r)r�rrr��sr�c@seZdZdZdS)z;TestEnum.test_subclass_duplicate_name_dynamic.<locals>.TestrN)rrrr�rrrrr}�sr}r�)�typesr�rrqr�)r;r�r}r)r�r�$test_subclass_duplicate_name_dynamic�sz-TestEnum.test_subclass_duplicate_name_dynamiccCsJGdd�dt�}Gdd�d|�}|jt��Gdd�d|�}WdQRXdS)Nc@seZdZdd�ZdS)z/TestEnum.test_no_duplicates.<locals>.UniqueEnumcsB�j}t�fdd�|D��r>�j}|�j�j}td||f��dS)Nc3s|]}�j|jkVqdS)N)rv)r�r�)r;rr�	<genexpr>�szKTestEnum.test_no_duplicates.<locals>.UniqueEnum.__init__.<locals>.<genexpr>z-aliases not allowed in UniqueEnum:  %r --> %r)rn�anyrurvr�)r;r�r�r@r�r)r;r�__init__�sz8TestEnum.test_no_duplicates.<locals>.UniqueEnum.__init__N)rrrr�rrrr�
UniqueEnum�sr�c@seZdZdZdZdZdS)z*TestEnum.test_no_duplicates.<locals>.ColorrrrN)rrrr�r�r�rrrrr�sr�c@seZdZdZdZdZdZdS)z*TestEnum.test_no_duplicates.<locals>.ColorrrrN)rrrr�r�r�Zgrenerrrrr�s)rr�r�)r;r�r�rrr�test_no_duplicates�s
zTestEnum.test_no_duplicatescCs:Gdd�dt�}|jt|jjd�d�|j|jjd�dS)Nc@s@eZdZdZdZdZdZdZdZdZ	dZ
dd�Zedd��Z
dS)z"TestEnum.test_init.<locals>.Planet�I�Tf|�D�
�BA�QX4E��WA��o��E��TXA���	��D�(�IA��c�����E����A�[�\h}E�,A�#'?�T�QE���_xA�J��-UE���wAcSs||_||_dS)N)�mass�radius)r;r�r�rrrr�sz+TestEnum.test_init.<locals>.Planet.__init__cSsd}||j|j|jS)Ng
yдW�=)r�r�)r;�Grrr�surface_gravitysz2TestEnum.test_init.<locals>.Planet.surface_gravityN)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)rrrZMERCURYZVENUS�EARTHZMARSZJUPITERZSATURNZURANUSZNEPTUNEr�r�r�rrrr�Planetsr�rg������#@��o��E��TXA)r�r�)rrq�roundr�r�rv)r;r�rrr�	test_init
szTestEnum.test_initcCs�Gdd�dt�}Gdd�d|�}|jt|�|j|j|jg�xDt|td��D]2\}}|d7}|j|j|g�|j	||g�|�qLWdS)Nc@seZdZdd�ZdS)z6TestEnum.test_nonhash_value.<locals>.AutoNumberInAListcSs$t|j�dg}tj|�}||_|S)Nr)r�rprcror�)r�rvr/rrrro$s
z>TestEnum.test_nonhash_value.<locals>.AutoNumberInAList.__new__N)rrrrorrrr�AutoNumberInAList#sr�c@seZdZfZfZfZdS)z1TestEnum.test_nonhash_value.<locals>.ColorInAListN)rrrr�r�r�rrrr�ColorInAList)sr�rr)
rrqr�r�r�r��zipr*rvr�)r;r�r�r7rvrrr�test_nonhash_value"szTestEnum.test_nonhash_valuecCs^Gdd�dtt�}Gdd�d|�}|jt|�|j|jg�|j|jd�|j|d�|j�dS)Nc@seZdZdd�ZdS)zHTestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnumcWs$|\}}tj||�}||_||_|S)N)r�ro�labelr�)r�r�rvr�r/rrrro5s
zPTestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnum.__new__N)rrrrorrrr�LabelledIntEnum4sr�c@seZdZdZdZdS)zETestEnum.test_conflicting_types_resolved_in_new.<locals>.LabelledListr�Unprocessedr�Payment CompleteN)rr�)rr�)rrr�unprocessed�payment_completerrrr�LabelledList<sr�r)r�rrqr�r�r�)r;r�r�rrr�&test_conflicting_types_resolved_in_new3s
z/TestEnum.test_conflicting_types_resolved_in_newcCs`Gdd�dt�}|jt|�|j|j|jg�|j|jjd�|j|jjd�|j|jjd�dS)Nc@seZdZe�Ze�Ze�ZdS)z(TestEnum.test_auto_number.<locals>.ColorN)rrrr	r�r�r�rrrrr�Esr�rrr)rrqr�r�r�r�rv)r;r�rrr�test_auto_numberDs
zTestEnum.test_auto_numbercCs`Gdd�dt�}|jt|�|j|j|jg�|j|jjd�|j|jjd�|j|jjd�dS)Nc@s&eZdZdd�Ze�Ze�Ze�ZdS)z&TestEnum.test_auto_name.<locals>.ColorcSs|S)Nr)rur(�count�lastrrr�_generate_next_value_Qsz<TestEnum.test_auto_name.<locals>.Color._generate_next_value_N)rrrr�r	r�r�r�rrrrr�Psr�r�r�r�)rrqr�r�r�r�rv)r;r�rrr�test_auto_nameOs
zTestEnum.test_auto_namecCspGdd�dt�}Gdd�d|�}|jt|�|j|j|jg�|j|jjd�|j|jjd�|j|jjd�dS)Nc@seZdZdd�ZdS)z5TestEnum.test_auto_name_inherit.<locals>.AutoNameEnumcSs|S)Nr)rur(r�r�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>.ColorN)rrrr	r�r�r�rrrrr�`sr�r�r�r�)rrqr�r�r�r�rv)r;r�r�rrr�test_auto_name_inherit\szTestEnum.test_auto_name_inheritcCs$Gdd�dt�}|j|jjd�dS)Nc@seZdZdZe�ZdS)z)TestEnum.test_auto_garbage.<locals>.Colorr�N)rrrr�r	r�rrrrr�ksr�r)rrqr�rv)r;r�rrr�test_auto_garbagejszTestEnum.test_auto_garbagecCs`Gdd�dt�}|jt|�|j|j|jg�|j|jjd�|j|jjd�|j|jjd�dS)Nc@seZdZdZdZe�ZdS)z3TestEnum.test_auto_garbage_corrected.<locals>.Colorr�rN)rrrr�r�r	r�rrrrr�qsr�r�rr)rrqr�r�r�r�rv)r;r�rrr�test_auto_garbage_correctedps
z$TestEnum.test_auto_garbage_correctedcCs0Gdd�dt�}|j|j|j|jgt|��dS)Nc@s"eZdZe�ZZe�Ze�ZdS)z+TestEnum.test_duplicate_auto.<locals>.DupesN)rrrr	r��primeror�r�rrrr�Dupes|s
r�)rrqr�r�r�r�)r;r�rrr�test_duplicate_auto{szTestEnum.test_duplicate_autoN)krrrrmrtrwr~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�rrrrrrr	rrrrrrr r&r)r*r,r0r4r5r7r8r:r;r@rCrDrKrRrSrTrUrZrdrfrhrkr|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�rrrrrS{s�#				
	
	
				


$999957	


rSc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�	TestOrdercCsGdd�dt�}dS)Nc@seZdZdZdZdZdZdS)z*TestOrder.test_same_members.<locals>.Colorzred green bluerrrN)rrr�_order_r�r�r�rrrrr��sr�)r)r;r�rrr�test_same_members�szTestOrder.test_same_memberscCsGdd�dt�}dS)Nc@s eZdZdZdZdZdZeZdS)z7TestOrder.test_same_members_with_aliases.<locals>.Colorzred green bluerrrN)rrrr�r�r�r��verderrrrr��s
r�)r)r;r�rrr�test_same_members_with_aliases�sz(TestOrder.test_same_members_with_aliasescCs,|jtd��Gdd�dt�}WdQRXdS)Nz#member order does not match _order_c@seZdZdZdZdZdZdS)z6TestOrder.test_same_members_wrong_order.<locals>.Colorzred green bluerrrN)rrrr�r�r�r�rrrrr��sr�)�assertRaisesRegexr�r)r;r�rrr�test_same_members_wrong_order�sz'TestOrder.test_same_members_wrong_ordercCs,|jtd��Gdd�dt�}WdQRXdS)Nz#member order does not match _order_c@seZdZdZdZdZdZdS)z5TestOrder.test_order_has_extra_members.<locals>.Colorzred green blue purplerrrN)rrrr�r�r�r�rrrrr��sr�)rr�r)r;r�rrr�test_order_has_extra_members�sz&TestOrder.test_order_has_extra_memberscCs,|jtd��Gdd�dt�}WdQRXdS)Nz#member order does not match _order_c@s eZdZdZdZdZdZeZdS)zBTestOrder.test_order_has_extra_members_with_aliases.<locals>.Colorzred green blue purplerrrN)rrrr�r�r�r�rrrrrr��s
r�)rr�r)r;r�rrr�)test_order_has_extra_members_with_aliases�sz3TestOrder.test_order_has_extra_members_with_aliasescCs,|jtd��Gdd�dt�}WdQRXdS)Nz#member order does not match _order_c@s eZdZdZdZdZdZdZdS)z4TestOrder.test_enum_has_extra_members.<locals>.Colorzred green bluerrrrTN)rrrr�r�r�r��purplerrrrr��s
r�)rr�r)r;r�rrr�test_enum_has_extra_members�sz%TestOrder.test_enum_has_extra_memberscCs,|jtd��Gdd�dt�}WdQRXdS)Nz#member order does not match _order_c@s$eZdZdZdZdZdZdZeZdS)zATestOrder.test_enum_has_extra_members_with_aliases.<locals>.Colorzred green bluerrrrTN)	rrrr�r�r�r�rrrrrrr��sr�)rr�r)r;r�rrr�(test_enum_has_extra_members_with_aliases�sz2TestOrder.test_enum_has_extra_members_with_aliasesN)
rrrrrrrrrr	rrrrr��s		r�c@s�eZdZGdd�de�ZGdd�de�Zdd�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*�Zejed+�ejd,d-���Zd.S)/�TestFlagc@seZdZd\ZZZdS)z
TestFlag.PermrTrrN)rTrr)rrr�R�W�Xrrrr�Perm�src@s eZdZdZdZdZdZdZdS)z
TestFlag.Openrrrr�Ni)rrr�RO�WO�RW�AC�CErrrr�Open�s
rcCs�|j}|jt|j�d�|jt|j�d�|jt|j�d�|jt|j|jB�d�|jt|j|jB|jB�d�|jt|d��d�|jt|j�d�|jt|j�d	�|jt|j�d�|jt|j|jB�d�|jt|j|jB|jB�d�|jt|d��d�|j}|jt|j�d
�|jt|j�d�|jt|j	�d�|jt|j|j
B�d
�|jt|j|j
B�d�|jt|j�d�|jt|j�d�|jt|j	�d
�|jt|j|j
B�d�|jt|j|j
B�d�dS)NzPerm.RzPerm.WzPerm.XzPerm.R|Wz
Perm.R|W|XrzPerm.0zPerm.W|XzPerm.R|XzOpen.ROzOpen.WOzOpen.ACzOpen.CEz
Open.CE|WOzOpen.CE|AC|RW|WOz
Open.CE|RWzOpen.RW���)rrqrlrrr
rrrrr)r;rrrrr�test_str�s0 zTestFlag.test_strcCs�|j}|jt|j�d�|jt|j�d�|jt|j�d�|jt|j|jB�d�|jt|j|jB|jB�d�|jt|d��d�|jt|j�d�|jt|j�d	�|jt|j�d�|jt|j|jB�d�|jt|j|jB|jB�d�|jt|d��d�|j}|jt|j�d
�|jt|j�d�|jt|j	�d�|jt|j|j
B�d
�|jt|j|j
B�d�|jt|j�d�|jt|j�d�|jt|j	�d
�|jt|j|j
B�d�|jt|j|j
B�d�dS)Nz<Perm.R: 4>z<Perm.W: 2>z<Perm.X: 1>z
<Perm.R|W: 6>z<Perm.R|W|X: 7>rz<Perm.0: 0>z
<Perm.W|X: 3>z
<Perm.R|X: 5>z<Open.RO: 0>z<Open.WO: 1>z<Open.AC: 3>z<Open.CE: 524288>z<Open.CE|WO: 524289>z<Open.CE|AC|RW|WO: 524291>z<Open.CE|RW: 524290>z<Open.RW: 2>r)rrqr�rrr
rrrrr)r;rrrrr�	test_repr�s0 zTestFlag.test_reprcCs�|j}xd|D]\}xV|D]N}|j||B||j|jB��|j||Bj|j|jB�|jt||B�|�qWqWx|D]}|j||B|�qrW|j}|j|j|jB|j�dS)N)rrqrvr�r�rrr)r;rr��jrrrr�test_ors


zTestFlag.test_orc
Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}xH|D]@}x:|D]2}|j||@j|j|j@�|jt||@�|�qfWq\Wx<|D]4}|j||@|�|j||@|�|j||@|�q�W|j	}	|j|	j
|	j@|	j
�dS)Nr)rrrr
r�rqrvr�r�rrr)
r;rr�RX�WX�RWX�valuesr�rrrrr�test_ands 


zTestFlag.test_andcCs�|j}xH|D]@}x:|D]2}|j||Aj|j|jA�|jt||A�|�qWqWx4|D],}|j||d�A|�|j|d�|A|�qVW|j}|j|j|jA|j�|j|j|jA|j�dS)Nr)rrqrvr�r�rrr)r;rr�rrrrr�test_xor"s


zTestFlag.test_xorc	Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}x.|D]&}|jt|�|�|j||�q\Wx|D]}|j||�q�W|j}|j|j	|j	@|j
�|j|j	|jB|j	@|j�dS)Nr)rrrr
r�r�r�rqrrrr)	r;rrrrrrr�rrrr�test_invert/s

zTestFlag.test_invertcCsL|j}x|D]}|j|�qW|j}x"|D]}|jt|j�t|��q*WdS)N)rr:rrqr�rv)r;r�frrrrr�?s

zTestFlag.test_boolcCs�tdd�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�xrtdj��D]b\}}d|>}||�}|j|j	|�|jt
|j	�t�|j|j|�|j
||�|jt
|�|�q^WdS)NrzR W Xrr)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r��nr�r�rrr� test_programatic_function_stringGs
z)TestFlag.test_programatic_function_stringcCs�tdddd�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�xrtdj��D]b\}}d|>}||�}|j|j	|�|jt
|j	�t�|j|j|�|j
||�|jt
|�|�qbWdS)NrzR W Xr�)r(r)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrr�+test_programatic_function_string_with_startVsz4TestFlag.test_programatic_function_string_with_startcCs�tddddg�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�xrtdj��D]b\}}d|>}||�}|j|j	|�|jt
|j	�t�|j|j|�|j
||�|jt
|�|�qdWdS)Nrrrr
rzR W Xr)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrr�%test_programatic_function_string_listesz.TestFlag.test_programatic_function_string_listcCs�tdd�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�xztd	j��D]j\}}d
d|d
>}||�}|j|j	|�|jt
|j	�t�|j|j|�|j
||�|jt
|�|�q^WdS)Nrrrrr�r
� rzR W Xr�rr�rr��r
r')r(r)r*)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrr�"test_programatic_function_iterablets
z+TestFlag.test_programatic_function_iterablecCs�tdtd��}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�xztd	j	��D]j\}}d
d|d
>}||�}|j|j
|�|jt|j
�t�|j|j
|�|j||�|jt|�|�qbWdS)Nrrrrr�r
r'rzR W Xr�rr�rr��r
r')r,r-r.)rrr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrr�#test_programatic_function_from_dict�sz,TestFlag.test_programatic_function_from_dictcCs2ttt�rt�t|jtjtjB�t|jt�dS)N)r�rr�r.r�rr)r;rrr�test_pickle�s
zTestFlag.test_picklec	Cs�|j}|\}}}||B}||B}||B}||B|B}|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�dS)N)rr:r6)	r;rrrr
rrrrrrr�test_containment�s$
zTestFlag.test_containmentcCs`Gdd�dt�}|jt|�|j|j|jg�|j|jjd�|j|jjd�|j|jjd�dS)Nc@seZdZe�Ze�Ze�ZdS)z(TestFlag.test_auto_number.<locals>.ColorN)rrrr	r�r�r�rrrrr��sr�rrrT)rrqr�r�r�r�rv)r;r�rrrr��s
zTestFlag.test_auto_numbercCs,|jtd��Gdd�dt�}WdQRXdS)Nz Invalid Flag value: .not an int.c@seZdZdZe�ZdS)z0TestFlag.test_auto_number_garbage.<locals>.Colorz
not an intN)rrrr�r	r�rrrrr��sr�)rr�r)r;r�rrr�test_auto_number_garbage�sz!TestFlag.test_auto_number_garbagecCstGdd�dt�}|jtd|d�|jtd|d�|jtd|d�|jtd|d�|jtd|d�|jtd|d�dS)	Nc@seZdZdZdZdZdS)z0TestFlag.test_cascading_failure.<locals>.BizarrerrTr�N)rrrr��dr"rrrr�Bizarre�sr4z5 is not a valid Bizarrer]z2 is not a valid Bizarrerz1 is not a valid Bizarrer)rrr�)r;r4rrr�test_cascading_failure�szTestFlag.test_cascading_failurecCs0Gdd�dt�}|j|j|j|jgt|��dS)Nc@s"eZdZe�ZZe�Ze�ZdS)z+TestFlag.test_duplicate_auto.<locals>.DupesN)rrrr	r�r�r�r�rrrrr��s
r�)rrqr�r�r�r�)r;r�rrrr��szTestFlag.test_duplicate_autocCs(Gdd�dt�}|jt|d��d�dS)Nc@seZdZdZdZdZdS)z&TestFlag.test_bizarre.<locals>.BizarrerrTr�N)rrrr�r�r3rrrrr4�sr4r�z<Bizarre.d|c|b: 7>)rrqr�)r;r4rrr�test_bizarre�szTestFlag.test_bizarrez!Threading required for this test.csxGdd�dt��t��d����fdd���fdd�td�D�}tj|��WdQRX|j�d	�|jd
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||kS)Nr)r;r�rrrr�sz7TestFlag.test_unique_composite.<locals>.TestFlag.__eq__cSs
t|j�S)N)�hashr�)r;rrr�__hash__�sz9TestFlag.test_unique_composite.<locals>.TestFlag.__hash__N)rrrr	r�r�rE�four�five�six�seven�eightrr8rrrrr
�sr
FcsBy$xtd�D]}�j�|��qWWntk
r<d�YnXdS)N�T)r*�addr�)r�)r
�failed�seenrr�
cycle_enum�s
z2TestFlag.test_unique_composite.<locals>.cycle_enumcsg|]}tj�d��qS))r-)�	threading�Thread)r�rH)rBrrr��sz2TestFlag.test_unique_composite.<locals>.<listcomp>r�z;at least one thread failed while creating composite membersr>z"too many composite members created)rrrr*r�
start_threadsr6rqr�)r;�threadsr)r
rBr@rAr�test_unique_composite�s

zTestFlag.test_unique_compositeN)rrrrrrrrrrr r!r�r$r%r&r+r/r0r1r�r2r5r�r6�unittest�
skipUnlessrCr�reap_threadsrGrrrrr
�s.


r
c@s�eZdZGdd�de�ZGdd�de�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zejed%�ejd&d'���Zd(S))�TestIntFlagc@seZdZdZdZdZdS)zTestIntFlag.PermrrrNrrrT)rrrr
rrrrrrrsrc@s eZdZdZdZdZdZdZdS)zTestIntFlag.OpenrrrrrNi)rrrrrrrrrrrrrs
rcCs�|j}|j}x*|D]"}|jt||��|j||j�qW|jt|j|jB|��|j|j|jBd�x*|D]"}|jt||��|j||j�qjW|jt|j|j	B|��|j|j|j	Bd�dS)Nr)
rrr:r�rqrvrr
rr)r;rrr"rrr�	test_types

zTestIntFlag.test_typecCsn|j}|jt|j�d�|jt|j�d�|jt|j�d�|jt|j|jB�d�|jt|j|jB|jB�d�|jt|jdB�d�|jt|d��d	�|jt|d��d
�|jt|j�d�|jt|j�d�|jt|j�d�|jt|j|jB�d�|jt|j|jB|jB�d
�|jt|jdB�d�|jt|d��d�|jt|d��d�|j}|jt|j�d�|jt|j�d�|jt|j	�d�|jt|j|j
B�d�|jt|j|j
B�d�|jt|d��d�|jt|j�d�|jt|j�d�|jt|j	�d�|jt|j|j
B�d�|jt|j|j
B�d�|jt|d��d�dS)NzPerm.RzPerm.WzPerm.XzPerm.R|Wz
Perm.R|W|Xr�zPerm.8|RrzPerm.0zPerm.8zPerm.W|XzPerm.R|XzPerm.-8zOpen.ROzOpen.WOzOpen.ACzOpen.CEz
Open.CE|WOrTzOpen.4zOpen.CE|AC|RW|WOz
Open.CE|RWz
Open.AC|RW|WOzOpen.RWri�������)rrqrlrrr
rrrrr)r;rrrrrrs< zTestIntFlag.test_strcCsn|j}|jt|j�d�|jt|j�d�|jt|j�d�|jt|j|jB�d�|jt|j|jB|jB�d�|jt|jdB�d�|jt|d��d	�|jt|d��d
�|jt|j�d�|jt|j�d�|jt|j�d
�|jt|j|jB�d�|jt|j|jB|jB�d�|jt|jdB�d�|jt|d ��d�|jt|d!��d�|j}|jt|j�d�|jt|j�d�|jt|j	�d�|jt|j|j
B�d�|jt|j|j
B�d�|jt|d��d�|jt|j�d�|jt|j�d�|jt|j	�d�|jt|j|j
B�d�|jt|j|j
B�d�|jt|d"��d�dS)#Nz<Perm.R: 4>z<Perm.W: 2>z<Perm.X: 1>z
<Perm.R|W: 6>z<Perm.R|W|X: 7>r�z<Perm.8|R: 12>rz<Perm.0: 0>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>z<Perm.R|W|X: -1>z<Perm.R|W|X: -9>z<Open.RO: 0>z<Open.WO: 1>z<Open.AC: 3>z<Open.CE: 524288>z<Open.CE|WO: 524289>rTz<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>z<Open.CE|AC|RW|WO: -5>ri����rM)rrqr�rrr
rrrrr)r;rrrrrr?s< zTestIntFlag.test_reprcCs^|j}x�|D]�}xR|D]J}|j||B|j|jB�|j||Bj|j|jB�|jt||B�|�qWx�td�D]�}|j||B|j|B�|j||Bj|j|B�|jt||B�|�|j||B||jB�|j||Bj||jB�|jt||B�|�qnWqWx>|D]6}|j||B|�|j|dB|�|jd|B|��qW|j}|j|j|jB|j�dS)Nr�r)	rrqrvr�r�r*rrr)r;rr�rrrrrr`s&


zTestIntFlag.test_orc
Cs�|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}�x|D�]}xp|D]h}|j||@|j|j@d||f�|j||@j|j|j@d||f�|jt||@�|d||f�qjWx�t	d�D]�}|j||@|j|@�|j||@j|j|@�|jt||@�|�|j||@||j@�|j||@j||j@�|jt||@�|�q�Wq^Wx>|D]6}|j||@|�|j|d@|�|jd|@|��qvW|j
}	|j|	j|	j@|	j�dS)Nrzi is %r, j is %rr�r�)
rrrr
r�rqrvr�r�r*rrr)
r;rrrrrrr�rrrrrrus0
"$"
zTestIntFlag.test_andcCsd|j}x�|D]�}xR|D]J}|j||A|j|jA�|j||Aj|j|jA�|jt||A�|�qWx�td�D]�}|j||A|j|A�|j||Aj|j|A�|jt||A�|�|j||A||jA�|j||Aj||jA�|jt||A�|�qnWqWx.|D]&}|j|dA|�|jd|A|��qW|j}|j|j|jA|j�|j|j|jA|j�dS)Nr�r)	rrqrvr�r�r*rrr)r;rr�rrrrrr �s&


zTestIntFlag.test_xorc	Cs
|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t|�|||||d�g}xT|D]L}|j||j�|j|j|j�|jt|�|�|j||�q\Wx|D]}|j||�q�W|j	}|j|j
|j
@|j�|j|j
|jB|j
@|j�dS)Nr)
rrrr
r�rqrvr�r�rrrr)	r;rrrrrrr�rrrrr!�s 

zTestIntFlag.test_invertcCs�tdd�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�x~tdj��D]n\}}d|>}||�}|j|j	|�|jt
|j	�t�|j||�|j|j|�|j
||�|jt
|�|�q^WdS)NrzR W Xrr)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrrr$�s
z,TestIntFlag.test_programatic_function_stringcCs�tdddd�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�x~tdj��D]n\}}d|>}||�}|j|j	|�|jt
|j	�t�|j||�|j|j|�|j
||�|jt
|�|�qbWdS)NrzR W Xr�)r(r)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrrr%�sz7TestIntFlag.test_programatic_function_string_with_startcCs�tddddg�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�x~tdj��D]n\}}d|>}||�}|j|j	|�|jt
|j	�t�|j||�|j|j|�|j
||�|jt
|�|�qdWdS)Nrrrr
rzR W Xr)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrrr&�sz1TestIntFlag.test_programatic_function_string_listcCs�tdd�}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�x�td	j��D]v\}}d
d|d
>}||�}|j|j	|�|jt
|j	�t�|j||�|j|j|�|j
||�|jt
|�|�q^WdS)Nrrrrr�r
r'rzR W Xr�rr�rr��r
r')rNrOrP)rr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrrr+�s
z.TestIntFlag.test_programatic_function_iterablecCs�tdtd��}t|�}|jt|�t|��|jt|�d|�|j||j|j|jg�x�td	j	��D]v\}}d
d|d
>}||�}|j|j
|�|jt|j
�t�|j||�|j|j
|�|j||�|jt|�|�qbWdS)Nrrrrr�r
r'rzR W Xr�rr�rr��r
r')rQrRrS)rrr�rqr�rrr
r�r�rvr�r�rur�r�)r;rr�r�r#r�r�rrrr/�sz/TestIntFlag.test_programatic_function_from_dictcCsxtjdg�}t|�}|jt|�t|��|jt|�d|�tjdg�}t|�}|jt|�t|��|jt|�d|�dS)Nrr�Thing)r7rr�rqr�r)r;rr�rTrrr�)test_programatic_function_from_empty_list	sz5TestIntFlag.test_programatic_function_from_empty_listcCsptjdf�}t|�}|jt|�t|��|jt|�d|�tjdf�}|jt|�t|��|jt|�d|�dS)NrrrT)r7rr�rqr�r)r;rr�rTrrr�*test_programatic_function_from_empty_tuple	sz6TestIntFlag.test_programatic_function_from_empty_tuplec	Cs�|j}|\}}}||B}||B}||B}||B|B}|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�|j||k�dS)N)rr:r6)	r;rrrr
rrrrrrrr1	s$
zTestIntFlag.test_containmentcCsL|j}x|D]}|j|�qW|j}x"|D]}|jt|j�t|��q*WdS)N)rr:rrqr�rv)r;rr"rrrrr�/	s

zTestIntFlag.test_boolz!Threading required for this test.csxGdd�dt��t��d����fdd���fdd�td�D�}tj|��WdQRX|j�d	�|jd
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||kS)Nr)r;r�rrrrD	sz:TestIntFlag.test_unique_composite.<locals>.TestFlag.__eq__cSs
t|j�S)N)r7r�)r;rrrr8F	sz<TestIntFlag.test_unique_composite.<locals>.TestFlag.__hash__N)rrrr	r�r�rEr9r:r;r<r=rr8rrrrr
;	sr
FcsBy$xtd�D]}�j�|��qWWntk
r<d�YnXdS)Nr>T)r*r?r�)r�)r
r@rArrrBK	s
z5TestIntFlag.test_unique_composite.<locals>.cycle_enumcsg|]}tj�d��qS))r-)rCrD)r�rH)rBrrr�S	sz5TestIntFlag.test_unique_composite.<locals>.<listcomp>r�z;at least one thread failed while creating composite membersr>z"too many composite members created)rrrr*rrEr6rqr�)r;rFr)r
rBr@rArrG7	s

z!TestIntFlag.test_unique_compositeN)rrrrrrrLrrrrr r!r$r%r&r+r/rUrVr1r�rHrIrCrrJrGrrrrrKs(!!	
rKc@s$eZdZdd�Zdd�Zdd�ZdS)�
TestUniquecCs,tGdd�dt��}tGdd�dt��}dS)Nc@seZdZdZdZdZdS)z+TestUnique.test_unique_clean.<locals>.CleanrrHg@N)rrrr�r�rIrrrr�Cleanb	srXc@seZdZdZdZdZdS)z-TestUnique.test_unique_clean.<locals>.CleanerrrrN)rrr�single�double�triplerrrr�Cleanerg	sr\)rrr)r;rXr\rrr�test_unique_cleana	szTestUnique.test_unique_cleancCs\|jtd��tGdd�dt��}WdQRX|jtd��tGdd�dt��}WdQRXdS)Nz	tres.*onec@seZdZdZdZdZdS)z+TestUnique.test_unique_dirty.<locals>.DirtyrrHN)rrrr�r�rIrrrr�Dirtyo	sr^zdouble.*single.*turkey.*triplec@seZdZdZdZdZdZdS)z-TestUnique.test_unique_dirty.<locals>.DirtierrrN)rrrrYrZr[Zturkeyrrrr�Dirtierx	sr_)rr�rrr)r;r^r_rrr�test_unique_dirtym	szTestUnique.test_unique_dirtycCs,tGdd�dt��}tGdd�dt��}dS)Nc@seZdZdZdZdZdS)z/TestUnique.test_unique_with_name.<locals>.SillyrrHrN)rrrr�r�rurrrr�Silly�	srac@seZdZdZdZdZdZdS)z1TestUnique.test_unique_with_name.<locals>.SillierrrrrTN)rrrrYrur[rvrrrr�Sillier�	srb)rrr)r;rarbrrr�test_unique_with_name	sz TestUnique.test_unique_with_nameN)rrrr]r`rcrrrrrW_	srWauHelp on class Color in module %s:

class Color(enum.Enum)
 |  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.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors 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.aSHelp on class Color in module %s:

class Color(enum.Enum)
 |  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.ColorrrrN)rrrr�r�r�rrrrr��	sr�cCsTtjdkrtt}ntt}t�}tj|d�}||j�|j	�j
�}|j||�dS)N)�output)rro�!expected_help_output_without_docsr�expected_help_output_with_docsr
�pydocZHelperr��getvalue�striprq)r;Z
expected_textre�helper�resultrrr�
test_pydoc�	s


zTestStdLib.test_pydoccCs�tdtfdd|jjfdtfd|jjfd|jjfdtjdfd	|jj	fd
tjd
ff	�}tt
j|j��}|j|j
�|j
��d}xT|j
�D]H}||||kr�t�tdd
d|||||d
dfdd�d}q�W|r�|jd�dS)Nrnro�An enumeration.rprr�r�rur�rvFz.
%s
     key: %s
  result: %s
expected: %s
%s
�=�K�)�sepTz/result does not equal expected, see print above)rorn)�dictrr�rprr�r�r�__dict__r��inspectZ
getmembersrq�keysr��fail)r;rrlr@r�rrr�test_inspect_getmembers�	s*



&z"TestStdLib.test_inspect_getmemberscCs>ddlm}|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
tj|j��}|jdd�d�d}xBt||�D]4\}}||kr�tddd||ddfdd�d}q�W|�r:|jd�dS)Nr)�	Attributern�data)ru�kindZdefining_classrcrozAn enumeration.rpr�rr�r�r�rurvcSs|jS)N)ru)�itemrrr�<lambda>
sz>TestStdLib.test_inspect_classify_class_attrs.<locals>.<lambda>)�keycSs|jS)N)ru)r|rrrr}
sFz
%s
%s
%s
%s
rorprq)rrTz/result does not equal expected, see print above)ruryrcrr�rprr�r�r�rrt�sortr�Zclassify_class_attrsr�r�rw)r;ryrrlr@r��rrrr�!test_inspect_classify_class_attrs�	s:


 z,TestStdLib.test_inspect_classify_class_attrs)	rrrZmaxDiffrr�rmrxr�rrrrrd�	s
rdc@seZdZdd�ZdS)�MiscTestCasecCstj|t�dS)N)rZcheck__all__r7)r;rrr�test__all__ 
szMiscTestCase.test__all__N)rrrr�rrrrr�
sr�r]c@seZdZdd�Zdd�ZdS)�TestIntEnumConvertcCs4tjjdd	tdkdd�d�}|j|d�jd�dS)
N�UnittestConvert�test.test_enum�__main__cSs
|jd�S)N�
CONVERT_TEST_)�
startswith)r�rrrr}2
szGTestIntEnumConvert.test_convert_value_lookup_priority.<locals>.<lambda>)�filterr]�CONVERT_TEST_NAME_A)r�r�)r7r�_convertrrqru)r;rLrrr�"test_convert_value_lookup_priority.
s

z5TestIntEnumConvert.test_convert_value_lookup_prioritycCs�tjjddtdkdd�d�}|j|j|j�|j|jd�|j|jd�|j|j	d�|j|j
d�|jdd	�t|�D�gd
d�dS)
Nr��test.test_enumr�cSs
|jd�S)Nr�)r�)r�rrrr}<
sz1TestIntEnumConvert.test_convert.<locals>.<lambda>)r�r]cSs g|]}|dd�dkr|�qS)rr�COrI)r�rIr)r�rurrrr�E
sz3TestIntEnumConvert.test_convert.<locals>.<listcomp>z&Names other than CONVERT_TEST_* found.)�msg)r�r�)r7rr�rrq�CONVERT_TEST_NAME_Fr��CONVERT_TEST_NAME_B�CONVERT_TEST_NAME_C�CONVERT_TEST_NAME_D�CONVERT_TEST_NAME_Ers)r;rLrrr�test_convert8
s
zTestIntEnumConvert.test_convertN)rrrr�r�rrrrr�-
s
r�r�)N)=r7rurhrH�collectionsrrrrrrrr	�ior
�picklerrr
rr�rrC�ImportErrorrr��excr�rrkrrrlrr rr"r$r%r(r.r0ZTestCaser1rSr�r
rKrWrgrfrdr�r�r�r�r�r�r�r��mainrrrr�<module>s�$

>AaQP


Youez - 2016 - github.com/yon3zu
LinuXploit