Viewing File: /opt/hc_python/lib/python3.12/site-packages/aenum/__pycache__/test_v3.cpython-312.pyc

�

^��gO7���ddlmZmZmZmZmZmZmZmZm	Z	ddlm
Z
mZmZm
Z
mZmZmZddlmZmZmZmZmZmZmZddlmZmZmZmZmZmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%ddlm&Z&m'Z'ddl(m)Z)dd	l*m+Z+dd
l,m-Z-m.Z.m/Z/m0Z0ddl1m2Z2m3Z3ddl4Z4ddl5Z5ddl6Z6ddl7Z7ddl1Z1	ddl8Z8	e;Gd
�de2�Z>Gd�de2�Z?Gd�de2�Z@Gd�de2�ZAGd�de2�ZBGd�de2�ZCeDdk(re=d��y#e9e:f$rdZ8Y�^wxYw#e<$re=Z;Y�hwxYw)�)	�EnumMeta�Enum�IntEnum�Flag�IntFlag�StrEnum�
UniqueEnum�AutoEnum�AddValueEnum)�
NamedTuple�	TupleSize�
MagicValue�AddValue�NoAlias�Unique�
MultiValue)�AutoNumberEnum�MultiValueEnum�OrderedEnum�unique�skip�extend_enum�auto)�StdlibEnumMeta�
StdlibEnum�
StdlibIntEnum�
StdlibFlag�
StdlibIntFlag�
StdlibStrEnum)�pyver�PY3_3�PY3_4�PY3_5�PY3_6�PY3_7�PY3_11)�add_stdlib_integration�remove_stdlib_integration�)�OrderedDict)�	timedelta)�dumps�loads�
PicklingError�HIGHEST_PROTOCOL)�TestCase�mainNc�.�eZdZd�Zej
ed�d��Zej
ed�d��Zej
e	e
k\d�d��Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d �Z%d!�Z&d"�Z'd#�Z(d$�Z)d%�Z*d&�Z+d'�Z,d(�Z-d)�Z.d*�Z/d+�Z0d,�Z1d-�Z2d.�Z3d/�Z4d0�Z5d1�Z6d2�Z7d3�Z8d4�Z9d5�Z:d6�Z;d7�Z<e	e=k\rd8�Z>d9�Z?d:�Z@e	eAk(rd;�ZBne	e
k\rd<�ZBe	eAk\rd=�ZCd>�ZDd?�ZEy@)A�
TestEnumV3c��Gd�dt�}||_Gd�dtt�}||_Gd�dt�}||_Gd�dtt�}||_d	d
lm	}Gd�d|t�}||_
y)
Nc��eZdZdZdZdZdZy)� TestEnumV3.setUp.<locals>.Seasonr���N)�__name__�
__module__�__qualname__�SPRING�SUMMER�AUTUMN�WINTER���</opt/hc_python/lib/python3.12/site-packages/aenum/test_v3.py�Seasonr6!s���F��F��F��FrBrDc��eZdZdZdZdezZy)�#TestEnumV3.setUp.<locals>.KonstantsgB�
�@gJ�M�!	@r7N)r:r;r<�E�PI�TAUrArBrC�	KonstantsrF(s���A��B��b�&�CrBrJc� �eZdZdZdZdZdZdZy)� TestEnumV3.setUp.<locals>.Grades�r9r8r7r)N)r:r;r<�A�B�C�D�FrArBrC�GradesrL.s���A��A��A��A��ArBrSc��eZdZdZdZdZdZy)�%TestEnumV3.setUp.<locals>.Directional�east�west�north�southN)r:r;r<�EAST�WEST�NORTH�SOUTHrArBrC�DirectionalrU6s���D��D��E��ErBr^r))�datec��eZdZdZdZy)�!TestEnumV3.setUp.<locals>.Holiday)��rr)rbr8�N)r:r;r<�NEW_YEAR�
IDES_OF_MARCHrArBrC�Holidayra>s��!�H�'�MrBrf)rrD�floatrJrrS�strr^�datetimer_rf)�selfrDrJrSr^r_rfs       rC�setUpzTestEnumV3.setUp su��	�T�	�
���	��t�	�#���	�W�	����	�#�t�	�
'���!�	(�d�D�	(���rBzStdlib enum not availablec��|jt|jt��|jt	|jj
t��|jt|jt��|jt|jt��|jt	|jjt��|jt	|jjt��ttk\�r�Gd�dt�}|jt|t��|jt	|jt��|jt|t��|jt	|jt��Gd�dt�}|jt|t��|jt	|jt��|jt|t��|jt	|jt��|jt|t ��|jt	|jt ��tt"k\r�Gd�dt$�}|jt|t��|jt	|jt��|jt|t&��|jt	|jt&��yy)Nc��eZdZdZy)�1TestEnumV3.test_stdlib_inheritence.<locals>.AFlagrN�r:r;r<�onerArBrC�AFlagrnN����rBrqc��eZdZdZy)�5TestEnumV3.test_stdlib_inheritence.<locals>.AnIntFlagrNrorArBrC�	AnIntFlagrtUrrrBruc��eZdZdZy)�4TestEnumV3.test_stdlib_inheritence.<locals>.AStrEnum�1NrorArBrC�AStrEnumrw_s���rBry)�
assertTrue�
issubclassrDr�
isinstancer=rS�assertFalserrNr r$rrprrrr&rr)rjrqrurys    rC�test_stdlib_inheritencez"TestEnumV3.test_stdlib_inheritenceCs��	
���
�4�;�;�
�;�<����
�4�;�;�#5�#5�z�B�C����
�4�;�;�
�;�<�����D�K�K��?�@����
�4�;�;�=�=�*�=�>�����D�K�K�M�M�=�A�B��E�>�
��
��O�O�J�u�j�9�:��O�O�J�u�y�y�*�=�>��O�O�J�u�j�9�:��O�O�J�u�y�y�*�=�>�
�G�
��O�O�J�y�*�=�>��O�O�J�y�}�}�j�A�B��O�O�J�y�*�=�>��O�O�J�y�}�}�j�A�B����Z�	�=�A�B����Z�	�
�
�}�E�F��F�?�
�7�
��O�O�J�x��<�=��O�O�J�x�|�|�Z�@�A����Z��-�@�A����Z����m�D�E�
rBc��	t�Gd�dt�}|jtd�5Gd�dt�}Gd�d||��}ddd�t�Gd	�d
t|��}y#1swY�%xYw#t�wxYw)Nc���eZdZ�fd�Z�xZS)�<TestEnumV3.test_stdlib_bad_getattribute.<locals>.BadEnumTypec�^��t�|�|�}t||�r|j�|S�N)�super�__getattribute__r|�	deprecate)�cls�name�obj�	__class__s   �rCr�zMTestEnumV3.test_stdlib_bad_getattribute.<locals>.BadEnumType.__getattribute__ks*����'�2�4�8�C�!�#�s�+��
�
���JrB)r:r;r<r��
__classcell__)r�s@rC�BadEnumTyper�js
����rBr�zendless recursionc��eZdZy)�9TestEnumV3.test_stdlib_bad_getattribute.<locals>.BaseEnumN�r:r;r<rArBrC�BaseEnumr�qs��rBr�c��eZdZdZy)�8TestEnumV3.test_stdlib_bad_getattribute.<locals>.BadEnum�barN�r:r;r<�FOOrArBrC�BadEnumr�ss���CrBr���	metaclassc��eZdZdZy)�9TestEnumV3.test_stdlib_bad_getattribute.<locals>.OkayEnumr�Nr�rArBrC�OkayEnumr�xs���CrBr�)r'r�assertRaisesRegex�RecursionErrorrr()rjr�r�r�r�s     rC�test_stdlib_bad_getattributez'TestEnumV3.test_stdlib_bad_getattributefsu��	(�"�$�
�n�
��'�'��8K�L��z�� �h�+� �M�
&�'�	�z�[�	�M�L��
&�'�s"�/A>�A2�A>�2A;�7A>�>B
z+__qualname__ requires python 3.5 or greaterc��tddd��}|t�d<t|j|j�t|j|�y)N�Theoryzrule law supposition�spanish_inquisition)�qualname)r�globals�test_pickle_dump_loadrz�rule)rjr�s  rC�'test_pickle_enum_function_with_qualnamez2TestEnumV3.test_pickle_enum_function_with_qualname{s?���h� 6�AV�W��+1��	�'�(��d�o�o�v�{�{�;��d�o�o�v�6rBc���Gd�dtd��}|jt|jjd�d�|j|jj
d�y)Nc�<�eZdZdZdZdZdZdZdZdZ	dZ
ed	��Zy
)�)TestEnumV3.test_auto_init.<locals>.Planet)gI�Tf|�Dg
�BA)g�QX4Eg�WA�g�o��Eg�TXA)g���	��Dg(�IA)g�c�����Eg���A)g�[�\h}Eg,A)g#'?�T�QEg��_xA)g�J��-UEg��wAc�X�d}||jz|j|jzzS)Ng
yдW�=)�mass�radius)rj�Gs  rC�surface_gravityz9TestEnumV3.test_auto_init.<locals>.Planet.surface_gravity�s)�� ���4�9�9�}����d�k�k�(A�B�BrBN)
r:r;r<�MERCURY�VENUS�EARTH�MARS�JUPITER�SATURN�URANUS�NEPTUNE�propertyr�rArBrC�Planetr��s>��+�G�+�E�,�E�+�D�+�G�+�F�+�F�+�G�
�
C��
CrBr�zmass radius��initr7g������#@r�)r�assertEqual�roundr�r��value)rjr�s  rC�test_auto_initzTestEnumV3.test_auto_init�sP��
	C�T�
�
	C�	
����v�|�|�;�;�Q�?��F�������+�+�-C�DrBc���Gd�dtd��}|j|jjd�|j|jjd�|j|j
jd�|j|jjd�|j|jjd	�|j|j
jd
�y)Nc��eZdZdZdZdZy)�3TestEnumV3.test_auto_init_with_value.<locals>.Color)r�rr)r))r7�r)rr))r8�r)r)rN)r:r;r<�RED�BLUE�GREENrArBrC�Colorr��s���C��D� �ErBr�z
value, rgbr�rr7r8r�r�r�)rr�r�r�r�r��rgb�rjr�s  rC�test_auto_init_with_valuez$TestEnumV3.test_auto_init_with_value�s���	!�D�|�	!�	
��������!�,�������)�)�1�-�������*�*�A�.���������	�2����������3���������)�4rBc��|jt�5Gd�dtt��}ddd�|jt�5Gd�dtt��}ddd�y#1swY�=xYw#1swYyxYw)Nc�"�eZdZeeed�Zey)�-TestEnumV3.test_auto_turns_off.<locals>.Colorc�4�td|jz�y)NzHello!  My serial is %s.)�printr��rjs rC�helloz3TestEnumV3.test_auto_turns_off.<locals>.Color.hello�s���4�t�z�z�A�BrBN)r:r;r<�red�green�bluer��roserArBrCr�r��s�����C�rBr���settingsc�"�eZdZeeed�Zey)r�c��yr�rA)rj�argss  rC�__init__z6TestEnumV3.test_auto_turns_off.<locals>.Color.__init__�s��rBN)r:r;r<r�r�r�r�r�rArBrCr�z-TestEnumV3.test_auto_turns_off.<locals>.Color�s������rB)�assertRaises�	NameErrorrrr�s  rC�test_auto_turns_offzTestEnumV3.test_auto_turns_off�s[��
�
�
�y�
)�
��z�
�*��
�
�y�
)�
��z�
�*�
)�*�
)��*�
)�s�A(�	A4�(A1�4A=c���Gd�dtt��}|jt|�|j|j
|jg�|j|jjd�y)Nc��eZdZeeefy)�$TestEnumV3.test_magic.<locals>.ColorN�r:r;r<r�r�r�rArBrCr�r��������rBr�r�r�rrr��listr�r�r�r�r�s  rC�
test_magiczTestEnumV3.test_magic�sO��	�D�:�	�����e��u�y�y�%�+�+�u�z�z�&J�K���������!�,rBc�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nzobject is not callablec�$�eZdZdZeZed��Zy)�4TestEnumV3.test_ignore_not_overridden.<locals>.Color�
irreleventc�L�td|jj��y)Nz
I am light)r�r��lowerr�s rC�shadez:TestEnumV3.test_ignore_not_overridden.<locals>.Color.shade�s���,��	�	���(9�:rBN)r:r;r<�_ignore_r�
_settings_r�r�rArBrCr�r��s��'��'�
��;��;rBr��r��	TypeErrorrr�s  rC�test_ignore_not_overriddenz%TestEnumV3.test_ignore_not_overridden�s,��
�
#�
#�I�/G�
H�
;��
;�I�
H�
H���0�9c���Gd�dttd��}|jt|�|j|j
|jg�|j|jjd�y)Nc��eZdZeeefy)�*TestEnumV3.test_magic_start.<locals>.ColorNr�rArBrCr�r��r�rBr�r)�r��startr�r�s  rC�test_magic_startzTestEnumV3.test_magic_start�sQ��	�D�:�Q�	�����e��u�y�y�%�+�+�u�z�z�&J�K���������!�,rBc�z�|j}|jtt|��tgd���y)N)r��__doc__�__members__r;r=r>r?r@�__init_subclass__r:�__getitem__�__len__�__contains__�__iter__r<)rDr��set�dir�rjrDs  rC�test_dir_on_classzTestEnumV3.test_dir_on_class�s2�����������F�����
�	rBc��|j}|jtt|j��tgd���y)N)r�r��__eq__�__hash__r;r�r��values)rDr�rrr@rs  rC�test_dir_on_itemzTestEnumV3.test_dir_on_item�s3�����������F�M�M�"�#��g�h�	rBc���Gd�dt�}|jtt|��tgd���|jtt|j��tgd���y)Nc��eZdZdZdZd�Zy)�5TestEnumV3.test_dir_with_added_behavior.<locals>.Test�that�thosec� �d|jzS)NzWowser! I'm %s!)r�r�s rC�wowserz<TestEnumV3.test_dir_with_added_behavior.<locals>.Test.wowser�s��)�D�I�I�5�6rBN)r:r;r<�this�theserrArBrC�Testr�s���D��E�
7rBr)
r�r�r�r;rrr�r:rrrrr<)	r�r�r	r
r;r�r�rr)rr�rrr)rjrs  rC�test_dir_with_added_behaviorz'TestEnumV3.test_dir_with_added_behavior�s_��	7�4�	7�
	
����C��I�����	�	
����C��	�	�N�#��u�v�	rBc��Gd�dt�}Gd�d|�}|jtt|j��tgd���y)Nc��eZdZd�Zy)�DTestEnumV3.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnumc��y)Nzdid you see me?rAr�s rC�	invisiblezNTestEnumV3.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnum.invisible�s��(rBN)r:r;r<rrArBrC�	SuperEnumr�s��
)rBrc��eZdZdZy)�BTestEnumV3.test_dir_on_sub_with_behavior_on_super.<locals>.SubEnumrMN)r:r;r<�samplerArBrC�SubEnumr�s���FrBr!)	r�r�r	r
r;r�r�rr)rr�rrr )rjrr!s   rC�&test_dir_on_sub_with_behavior_on_superz1TestEnumV3.test_dir_on_sub_with_behavior_on_super�sB��	)��	)�	�i�	�����C����'�(��x�y�	rBc�v�Gd�dt�}|jt|j�tu�y)Nc��eZdZdZdZdZy)�ATestEnumV3.test_members_are_always_ordered.<locals>.AlwaysOrderedrr7r8N)r:r;r<�first�second�thirdrArBrC�
AlwaysOrderedr%�����E��F��ErBr))rrz�typer�r*)rjr)s  rC�test_members_are_always_orderedz*TestEnumV3.test_members_are_always_ordered�s,��	�D�	�	
����]�6�6�7�;�F�GrBc�0����fd�}|j�|j�jd�|jt|�Gd�dt
��|j�j�j���fd�}|jt|�y)Nc�$���jdkDy)Nr9)r=)rDs�rC�bad_comparez0TestEnumV3.test_comparisons.<locals>.bad_compare�s����M�M�A�rBrc��eZdZdZdZdZy)�)TestEnumV3.test_comparisons.<locals>.Partrr7r8N)r:r;r<r=�CLIP�BARRELrArBrC�Partr1s���F��D��FrBr4c�8���j�jkyr�)r=r2)r4rDs��rCr/z0TestEnumV3.test_comparisons.<locals>.bad_compare
s����M�M�D�I�I�%rB)rD�assertNotEqualr=r�r�r)rjr/r4rDs  @@rC�test_comparisonszTestEnumV3.test_comparisons�sp���	��������F�M�M�1�-����)�[�1�	�4�	�
	
���F�M�M�4�;�;�7�	&����)�[�1rBc�Z�|jt�5Gd�dt�}ddd�|jt�5Gd�dt�}ddd�|jt�5Gd�dt�}ddd�y#1swY�dxYw#1swY�CxYw#1swYyxYw)Nc��eZdZdZdZdZdZy)�.TestEnumV3.test_duplicate_name.<locals>.Color1rr7r8r9Nr�rArBrC�Color1r:s���������rBr;c��eZdZdZdZdZd�Zy)�.TestEnumV3.test_duplicate_name.<locals>.Color2rr7r8c��y)Nr�rAr�s rCr�z2TestEnumV3.test_duplicate_name.<locals>.Color2.reds�� rBNr�rArBrC�Color2r=s��������!rBr?c�(�eZdZed��ZdZdZdZy)�.TestEnumV3.test_duplicate_name.<locals>.Color3c��y)N�redderrAr�s rCr�z2TestEnumV3.test_duplicate_name.<locals>.Color3.red s��#rBrr7r8N)r:r;r<r�r�r�r�rArBrC�Color3rAs#���$��$������rBrD)r�r�r)rjr;r?rDs    rC�test_duplicate_namezTestEnumV3.test_duplicate_names���
�
�
�y�
)�
��
�*��
�
�y�
)�
!��
!�*��
�
�y�
)�
��
�*�
)�*�
)��*�
)��*�
)�s#�B	�B�0B!�	B�B�!B*c��|jt�5Gd�dtt��}ddd�y#1swYyxYw)Nc��eZdZdZdZdZdZy)�:TestEnumV3.test_duplicate_value_with_unique.<locals>.Colorrr7r8N�r:r;r<r�r�r��rojorArBrCr�rH)s���������rBr�r�)r��
ValueErrorrrr�s  rC� test_duplicate_value_with_uniquez+TestEnumV3.test_duplicate_value_with_unique's*��
�
�
�z�
*�
��v�
�+�
*�
*���5�>c���Gd�dtt��}|j|j|ju�|j|jjd�|j|jjd�|jt|�d�|jt|�|j|j|j|jg�y)Nc��eZdZdZdZdZdZy)�;TestEnumV3.test_duplicate_value_with_noalias.<locals>.Colorrr7r8NrIrArBrCr�rP0����C��E��D��DrBr�r�rr9)rrr}r�rJr�r��lenr�r�r�r�s  rC�!test_duplicate_value_with_noaliasz,TestEnumV3.test_duplicate_value_with_noalias/s���	�D�7�	�
	
������e�j�j�0�1���������!�,�������)�)�1�-�����U��Q�'�����e��u�y�y�%�+�+�u�z�z�5�:�:�&V�WrBc�\�Gd�dtt��}|jt|d�y)Nc��eZdZdZdZdZdZy)�3TestEnumV3.test_noalias_value_lookup.<locals>.Colorrr7r8NrIrArBrCr�rV<rQrBr�r�r7)rrr�r�r�s  rC�test_noalias_value_lookupz$TestEnumV3.test_noalias_value_lookup;s$��	�D�7�	�
	
���)�U�A�.rBc�
�Gd�dtt��}|j|jjd�|j|d�|j�|j|jjd�y)Nc��eZdZdZdZdZy)�)TestEnumV3.test_multivalue.<locals>.Color�rr��r7r��r8r�Nr�rArBrCr�rZDs���C��E��DrBr�r�rr�r])	rrr�r�r��assertIsr�r�rr�s  rC�test_multivaluezTestEnumV3.test_multivalueCsZ��	�D�:�	�	
��������!�,��
�
�e�G�n�e�k�k�2�������*�*�K�8rBc��|jt�5Gd�dtt��}ddd�y#1swYyxYw)Nc��eZdZdZdZdZy)�?TestEnumV3.test_multivalue_with_duplicate_values.<locals>.Colorr[r\�r8r�r�Nr�rArBrCr�rbN�����"��'�rBr�r�)r�rKrrr�s  rC�%test_multivalue_with_duplicate_valuesz0TestEnumV3.test_multivalue_with_duplicate_valuesLs*��
�
�
�z�
*�
(��z�
(�+�
*�
*�rMc��|jt�5Gd�dtttf��}ddd�y#1swYyxYw)Nc��eZdZdZdZdZy)�KTestEnumV3.test_multivalue_with_duplicate_values_and_noalias.<locals>.Colorr[r\rcNr�rArBrCr�rhUrdrBr�r�)r�r�rrrr�s  rC�1test_multivalue_with_duplicate_values_and_noaliasz<TestEnumV3.test_multivalue_with_duplicate_values_and_noaliasSs/��
�
�
�y�
)�
(��
�G�'<�
(�*�
)�
)�s	�;�Ac��|jtd�5Gd�dtttf��}ddd�y#1swYyxYw)Nz0MultiValue and MagicValue are mutually exclusivec��eZdZedZey)�2TestEnumV3.test_multivalue_and_auto.<locals>.Color)r8r�Nr�rArBrCr�rl\s
���"��rBr�r�)r�r�rrrr�s  rC�test_multivalue_and_autoz#TestEnumV3.test_multivalue_and_autoZs3��
�
#�
#�I�/b�
c�
��
�J�'?�
�d�
c�
c�s	�<�Ac�n�Gd�dttd��}|j|jd�|j|jd�|j|jj
d�|j|jj
d�|j
t|d	��y)
Nc��eZdZdZdZy)�2TestEnumV3.test_autonumber_and_init.<locals>.Field�Char, Date, Logical, etc.�Field offset in recordN�r:r;r<�TYPE�STARTrArBrC�Fieldrpb���.�D�,�ErBrvr��r�r�rr7rqrr�_order_)rrr�rtrur�r}�hasattr�rjrvs  rC�test_autonumber_and_initz#TestEnumV3.test_autonumber_and_initas���	-�G�h�Y�	-�	
������Q�'�������a�(�������+�+�-H�I�������,�,�.F�G������	�2�3rBc��Gd�dtd��}|j|jd�|j|jjd�y)Nc��eZdZdZdZy)�1TestEnumV3.test_autovalue_and_init.<locals>.FieldrqrrNrsrArBrCrvrlrwrBrv�
value __doc__r�rrr)rr�rtrur�r{s  rC�test_autovalue_and_initz"TestEnumV3.test_autovalue_and_initksA��	-�G�/�	-�	
������Q�'�������,�,�.F�GrBc�:�Gd�dtdtd��}|j|jd�|j|jd�|j|jj
d�|j|jj
d�y)	Nc��eZdZdZdZy)�3TestEnumV3.test_autonumber_and_start.<locals>.FieldrqrrNrsrArBrCrvr�srwrBrvr�r))r�r�r�rrqrr)rrr�rtrur�r{s  rC�test_autonumber_and_startz$TestEnumV3.test_autonumber_and_startrst��	-�G�)�h�a�	-�	
������Q�'�������a�(�������+�+�-H�I�������,�,�.F�GrBc�6�Gd�dtd��}|j|jd�|j|jd�|j|jd�|j|j
d�|j|jjd	�|j|jjd
�|j|jjd�|j|j
jd�y)
Nc��eZdZdZdZdZdZy)�BTestEnumV3.test_autonumber_and_init_and_some_values.<locals>.Fieldrqrr)rM�	test blah�
test belchN)r:r;r<rtru�BLAH�BELCHrArBrCrvr�|s��.�D�,�E�!�D� �ErBrvr�r�rr7rM�rqrrr�r�)rr�rtrur�r�r�r{s  rC�(test_autonumber_and_init_and_some_valuesz3TestEnumV3.test_autonumber_and_init_and_some_values{s���	!�G�/�	!�
	
������Q�'�������a�(�������Q�'�������a�(�������+�+�-H�I�������,�,�.F�G�������+�+�[�9�������,�,�l�;rBc�l�Gd�dtd��}|j|jjd�|j|jjd�|j|jj
d�|j|jjd�|j|jjd	�|j|jj
d
�|jtd�5Gd�dtd��}ddd�Gd
�dtd��}|j|jjd�|j|jjd�|j|jjd�y#1swY��xYw)Nc��eZdZdZdZy)�?TestEnumV3.test_autonumber_with_irregular_values.<locals>.Point���	)��
N�r:r;r<r&r'rArBrC�Pointr��s���E��FrBr�zx yr�rr�r�r7r�r�zI.*number of fields provided do not match init ...x., .y.. != .3, 11, 13..c��eZdZdZdZy)r�r�)r8r�r�Nr�rArBrCr�z?TestEnumV3.test_autonumber_with_irregular_values.<locals>.Point�s����"�rBc��eZdZdZdZdZy)�?TestEnumV3.test_autonumber_with_irregular_values.<locals>.ColorrAr�Nr�rArBrCr�r��s���C��E��DrBr�r�r�)rr�r&r��x�yr'r�r�rzr�r�r�r�)rjr�r�s   rC�%test_autonumber_with_irregular_valuesz0TestEnumV3.test_autonumber_with_irregular_values�s/��	�N��	�	
������*�*�A�.����������*����������*�������+�+�Q�/����������,����������,�
�
#�
#�I�/z�
{�
#��U�
#�|�	�N��	�
	
����	�	�)�)�1�-�������,�,�e�4�����
�
�*�*�A�.�|�
{�s�F*�*F3c�v�|jt�5Gd�dt�}ddd�y#1swYyxYw)Nc�2�eZdZdZdZdZdZedefd��Z	y)�6TestEnumV3.test_autonumber_and_property.<locals>.ColorrA�returnc�6�|jj�Sr��r��titler�s rC�cap_namez?TestEnumV3.test_autonumber_and_property.<locals>.Color.cap_name�����9�9�?�?�,�,rBN�
r:r;r<r�r�r�r�r�rhr�rArBrCr�r��s/�����������-�c�-��-rBr��r�r�r
r�s  rC�test_autonumber_and_propertyz'TestEnumV3.test_autonumber_and_property��(��
�
�
�y�
)�
-��
-�*�
)�
)���/�8c�^�Gd�dt�}|jt|�|j|j|j
g�|j|D�cgc]}|j��c}gd��|j|D�cgc]}|j��c}gd��ycc}wcc}w)Nc��eZdZeeey)�'TestEnumV3.test_autoenum.<locals>.ColorNr�rArBrCr�r��s����rBr�)rr7r8�r�r�r��r
r�r�r�r�r�r�r��rjr��ms   rC�
test_autoenumzTestEnumV3.test_autoenum�s���	�H�	�	
����e��u�y�y�%�+�+�u�z�z�&J�K����5�1�5�a�!�'�'�5�1�9�=����%�0�%�Q�!�&�&�%�0�2J�K��2��0��B%�B*c�^�Gd�dt�}|jt|�|j|j|j
g�|j|D�cgc]}|j��c}gd��|j|D�cgc]}|j��c}gd��ycc}wcc}w)Nc��eZdZd�Zeeey)�0TestEnumV3.test_autoenum_with_str.<locals>.Colorc��|Sr�rA)r�r��count�last_valuess    rC�_generate_next_value_zFTestEnumV3.test_autoenum_with_str.<locals>.Color._generate_next_value_�����rBN)r:r;r<r�r�r�r�rArBrCr�r��s��
���rBr�r�r�r�s   rC�test_autoenum_with_strz!TestEnumV3.test_autoenum_with_str�s���	�H�	�	
����e��u�y�y�%�+�+�u�z�z�&J�K����5�1�5�a�!�'�'�5�1�3K�L����%�0�%�Q�!�&�&�%�0�2J�K��2��0r�c�n�Gd�dt�}|j|jjd�y)Nc�(�eZdZeeeed��Zy)�:TestEnumV3.test_autoenum_and_default_ignore.<locals>.Colorc�6�|jj�Sr�r�r�s rCr�zCTestEnumV3.test_autoenum_and_default_ignore.<locals>.Color.cap_name�����y�y���(�(rBN)r:r;r<r�r�r�r�r�rArBrCr�r��s�����
�
)��
)rBr��Blue�r
r�r�r�r�s  rC� test_autoenum_and_default_ignorez+TestEnumV3.test_autoenum_and_default_ignore�s*��	)�H�	)�	
������,�,�f�5rBc�v�|jt�5Gd�dt�}ddd�y#1swYyxYw)Nc�2�eZdZdZeeeedefd��Z	y)�?TestEnumV3.test_autonumber_and_overridden_ignore.<locals>.Color�staticmethodr�c�6�|jj�Sr�r�r�s rCr�zHTestEnumV3.test_autonumber_and_overridden_ignore.<locals>.Color.cap_name�r�rBNr�rArBrCr�r��s)��)������-�c�-��-rBr�r�r�s  rC�%test_autonumber_and_overridden_ignorez0TestEnumV3.test_autonumber_and_overridden_ignore�r�r�c�n�Gd�dt�}|j|jjd�y)Nc�2�eZdZdZeeeZede	fd��Z
y)�ATestEnumV3.test_autonumber_and_multiple_assignment.<locals>.Colorr�r�c�6�|jj�Sr�r�r�s rCr�zJTestEnumV3.test_autonumber_and_multiple_assignment.<locals>.Color.cap_name�r�rBN)r:r;r<r�r�r��cyanr�r�rhr�rArBrCr�r��s+��!�H����D�
�
)�#�
)��
)rBr��Cyanr�r�s  rC�'test_autonumber_and_multiple_assignmentz2TestEnumV3.test_autonumber_and_multiple_assignment�s*��	)�H�	)�	
������,�,�f�5rBc���Gd�dttttfd��}|}|j	|j
d�|j
|j
|d�cxuxr|d�u�yc�y)Nc��eZdZdZdZdZy)�HTestEnumV3.test_multivalue_and_autonumber_inherited.<locals>.Measurement�20110721�20120911�20110518N�r:r;r<rp�two�threerArBrC�Measurementr������C��C��ErBr�r)r�r�)�intrrrr�rprz)rjr��Ms   rC�(test_multivalue_and_autonumber_inheritedz3TestEnumV3.test_multivalue_and_autonumber_inherited�s\��	�#�t�z�8�.D�A�	�
���������"��������1��6��:��6�7�6�7rBc��Gd�dtt��}|jt�5Gd�d|t��}ddd�y#1swYyxYw)Nc��eZdZy)�DTestEnumV3.test_combine_new_settings_with_old_settings.<locals>.AutoNr�rArBrC�Autor�����rBr�r�c��eZdZeedZy)�JTestEnumV3.test_combine_new_settings_with_old_settings.<locals>.AutoUniquerN)r:r;r<r��BLUH�ICKrArBrC�
AutoUniquer��s
�����rBr�)rrr�rKr)rjr�r�s   rC�+test_combine_new_settings_with_old_settingsz6TestEnumV3.test_combine_new_settings_with_old_settings�s8��	�4�&�	�
�
�
�z�
*�
�T�J�
�+�
*�
*�s�A�Ac� �Gd�dtt�}|jt|d��|jt|d��|jt|d��|j	t|jt��y)Nc���eZdZdZdZeZdZe�Z	e
d�D]Zedfe	dez<�e
d�D]Zedzd	fe	d
ez<�e
d�D]Zedzd
fe	dez<�eZ
eZy)�)TestEnumV3.test_timedelta.<locals>.Periodz3
            different lengths of time
            zvalue periodzPeriod i��dayzday_%drcr��weekzweek_%d���monthzmonth_%dN)r:r;r<r��_init_rr�r��vars�Period�range�i�day_1�OneDay�week_1�OneWeekrArBrCr�r��s���
�$�F� �J�!�H��V�F��2�Y��'(�%�x��x�!�|�$���2�Y��()�!��V���y�1�}�%���2�Y��)*�2��w���z�A�~�&���F��GrBr�r�r�)r+rr}rzrzr|r�)rjr�s  rC�test_timedeltazTestEnumV3.test_timedelta�sh��	�Y��	� 	
������4�5�������2�3�������-�.����
�6�<�<��;�<rBc�D�Gd�dt�}t|dd�|j|jjd�|j|jj
d�|j
|j|v�|jt|�d�y)Nc��eZdZdZdZdZy)�0TestEnumV3.test_extend_enum_plain.<locals>.Colorrr7r8Nr�rArBrCr�r	����C��E��DrBr��brownr9)r	rr�rr�r�rzrRr�s  rC�test_extend_enum_plainz!TestEnumV3.test_extend_enum_plainsy��	�J�	�	�E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����U��Q�'rBc��Gd�dt�}t|dd�|j|jjd�|j|jjd�|j|j|v�|jt
|�d�|j|jjd�y)Nc��eZdZdZdZdZy)�1TestEnumV3.test_extend_enum_shadow.<locals>.Colorrr7r8Nr�rArBrCr�rrrBr�r�r9r)r	rr�r�r�rzrRr�r�s  rC�test_extend_enum_shadowz"TestEnumV3.test_extend_enum_shadows���	�J�	�	�E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����U��Q�'���������!�,rBc��Gd�dt�}t|d�|j|jjd�|j|j
jd�|j|jjd�y)Nc��eZdZd�Zeey)�1TestEnumV3.test_extend_enum_generate.<locals>.Fooc��|Sr�rA)r�r�r�rr��kwdss      rCr�zGTestEnumV3.test_extend_enum_generate.<locals>.Foo._generate_next_value_!r�rBN)r:r;r<r��a�brArBrC�Foor s
��
�
�
rBr�crr)r
rr�rr�rr)rjrs  rC�test_extend_enum_generatez$TestEnumV3.test_extend_enum_generatesb��	�(�	�	�C�����������c�*���������c�*���������c�*rBc��|jt�5Gd�dtt��}t	|dd�ddd�y#1swYyxYw)Nc��eZdZdZdZdZy)�@TestEnumV3.test_extend_enum_unique_with_duplicate.<locals>.Colorrr7r8Nr�rArBrCr�r-��������rBr�r�r�r)r�rKrrrr�s  rC�&test_extend_enum_unique_with_duplicatez1TestEnumV3.test_extend_enum_unique_with_duplicate+s8��
�
�
�z�
*�
��v�
�
��w��*�+�
*�
*���#A�Ac��|jt�5Gd�dtt��}t	|dd�ddd�y#1swYyxYw)Nc��eZdZdZdZdZy)�DTestEnumV3.test_extend_enum_multivalue_with_duplicate.<locals>.Color)rrJ)r7�verde)r8�azulNr�rArBrCr�r5s����"�� �rBr�r�r�r7)r�rKrrrr�s  rC�*test_extend_enum_multivalue_with_duplicatez5TestEnumV3.test_extend_enum_multivalue_with_duplicate3s8��
�
�
�z�
*�
!��z�
!�
��w��*�+�
*�
*�rc��Gd�dtt��}t|dd�|jt|d�|j|j|ju�|j|jjd�y)Nc��eZdZdZdZdZy)�ATestEnumV3.test_extend_enum_noalias_with_duplicate.<locals>.Colorrr7r8Nr�rArBrCr�r"<rrBr�r�r�r8)	rrrr�r�r}r�r�rzr�s  rC�'test_extend_enum_noalias_with_duplicatez2TestEnumV3.test_extend_enum_noalias_with_duplicate;sc��	�D�7�	�	�E�7�A�(����)�U�A�.��������
�
�2�3�������)�)�1�-rBc�6�d�}|jt|�y)Nc�@�Gd�dt�}Gd�dt�}y)Nc��eZdZdZdZdZy��DTestEnumV3.test_no_duplicates.<locals>.bad_duplicates.<locals>.Colorrr7r8Nr�rArBrCr�r(GrrBr�c��eZdZdZdZdZdZyr')r:r;r<r�r�r��grenerArBrCr�zDTestEnumV3.test_no_duplicates.<locals>.bad_duplicates.<locals>.ColorKs���������rB)r	�r�s rC�bad_duplicatesz5TestEnumV3.test_no_duplicates.<locals>.bad_duplicatesFs��
�
�
�
�
�
rB)r�rK)rjr,s  rC�test_no_duplicateszTestEnumV3.test_no_duplicatesEs��		�	
���*�n�5rBc�J�Gd�dt�}Gd�dtt�}y)Nc��eZdZdZdZdZy)�2TestEnumV3.test_no_duplicates_kinda.<locals>.Sillyr�dosr8N)r:r;r<rpr�r�rArBrC�Sillyr0Ss���C��C��DrBr2c��eZdZdZdZdZdZy)�4TestEnumV3.test_no_duplicates_kinda.<locals>.Sillierrr7r8r9N)r:r;r<�singler��tripler�rArBrC�Sillierr4Ws���F��D��F��ErBr7)r	r)rjr2r7s   rC�test_no_duplicates_kindaz#TestEnumV3.test_no_duplicates_kindaRs��	�J�	�	�g�z�	rBc��Gd�dtt��}|jt|�|j|j
|jg�|j|jjd�|j|j
jd�|j|jjd�y)Nc��eZdZeeey)�*TestEnumV3.test_auto_number.<locals>.ColorN�r:r;r<r�r�r�rArBrCr�r;^�����rBr�r�rr7r8�rrr�r�r�r�r�r�r�s  rC�test_auto_numberzTestEnumV3.test_auto_number]s���	�D�:�	�
	
����e��u�y�y�%�*�*�e�k�k�&J�K���������!�,�������)�)�1�-�������*�*�A�.rBc��Gd�dtt��}|jt|�|j|j
|jg�|j|jjd�|j|j
jd�|j|jjd�y)Nc��eZdZd�Zeeey)�(TestEnumV3.test_auto_name.<locals>.Colorc��|Sr�rA�r�r�r��lasts    rCr�z>TestEnumV3.test_auto_name.<locals>.Color._generate_next_value_jr�rBN)r:r;r<r�r�r�r�rArBrCr�rBis��
���rBr�r�r�r�r�r>r�s  rC�test_auto_namezTestEnumV3.test_auto_namehs���	�D�:�	�	
����e��u�y�y�%�*�*�e�k�k�&J�K���������%�0�������)�)�6�2�������*�*�G�4rBc��Gd�dt�}Gd�d|t��}|jt|�|j|j
|jg�|j|jjd�|j|j
jd�|j|jjd�y)	Nc��eZdZd�Zy)�7TestEnumV3.test_auto_name_inherit.<locals>.AutoNameEnumc��|Sr�rArDs    rCr�zMTestEnumV3.test_auto_name_inherit.<locals>.AutoNameEnum._generate_next_value_wr�rBN)r:r;r<r�rArBrC�AutoNameEnumrIvs��
rBrKc��eZdZeeey)�0TestEnumV3.test_auto_name_inherit.<locals>.ColorNr<rArBrCr�rMyr=rBr�r�r�r�r�r>)rjrKr�s   rC�test_auto_name_inheritz!TestEnumV3.test_auto_name_inheritus���	�4�	�	�L�:�	�
	
����e��u�y�y�%�*�*�e�k�k�&J�K���������%�0�������)�)�6�2�������*�*�G�4rBc�n�Gd�dt�}|j|jjd�y)Nc��eZdZeZdZey)�+TestEnumV3.test_auto_garbage.<locals>.Colorr�N)r:r;r<rr�r�r�rArBrCr�rQ�s��#�J��C�rBr�r)rr�r�r�r�s  rC�test_auto_garbagezTestEnumV3.test_auto_garbage�s*��	�D�	�	
������)�)�1�-rBc��Gd�dtt��}|jt|�|j|j
|jg�|j|jjd�|j|j
jd�|j|jjd�y)Nc��eZdZdZdZey)�5TestEnumV3.test_auto_garbage_corrected.<locals>.Colorr�r7Nr<rArBrCr�rU�s���C��D�rBr�r�r�r7r8r>r�s  rC�test_auto_garbage_correctedz&TestEnumV3.test_auto_garbage_corrected�s���	�D�:�	�
	
����e��u�y�y�%�*�*�e�k�k�&J�K���������%�0�������)�)�1�-�������*�*�A�.rBc��Gd�dtt��}|j|j|j|j
gt
|��y)Nc��eZdZeZeey)�-TestEnumV3.test_duplicate_auto.<locals>.DupesN)r:r;r<�primeror&r'r(rArBrC�DupesrY�s
���E��rBr[r�)rrr�r&r'r(r�)rjr[s  rC�test_duplicate_autozTestEnumV3.test_duplicate_auto�s9��	�D�:�	�	
���%�+�+�u�|�|�U�[�[�A�4��;�OrBc�B�Gd�dt�}t|�D]!\}}|j||j��#|}|j|jj
d�|j|jjd�|j|jjd�|j|jj
d�|j|jjd�|j|jjd�|j|jj
d	�|j|jjd
�|j|jjd�|j|jj
d�|j|jjd
�|j|jjd�|j|jj
d�|j|jjd�|j|jjd�|j|jj
d�|j|jjd�|j|jjd�|j|jj
d�|j|jjd�|j|jjd�|j|jj
d�|j|jjd�|j|jjd�|j|jj
d�|j|jjd�|j|jjd�|j|jj
d�|j|jjd�|j|jjd �|j|j j
d!�|j|j jd"�|j|j jd#�Gd$�dt�}t|�D]$\}}|j||jd��&|}|j|jj
d�|j|jjd%�|j|jj
d�|j|jjd&�|j|jj
d	�|j|jjd'�|j|jj
d�|j|jjd(�|j|jj
d�|j|jjd)�|j|jj
d�|j|jjd*�|j|jj
d�|j|jjd+�|j|jj
d�|j|jjd,�|j|jj
d�|j|jjd-�|j|jj
d�|j|jjd.�|j|j j
d!�|j|j jd/�|j#t$�5Gd0�dt�}ddd�|j#t$�5Gd1�dt�}ddd�y#1swY�7xYw#1swYyxYw)2Nc�B�eZdZdZd�ZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
Zy)�7TestEnumV3.test_order_as_function.<locals>.TestSequencezvalue, sequencec��|jSr���sequence��members rC�<lambda>z@TestEnumV3.test_order_as_function.<locals>.TestSequence.<lambda>�s��V�_�_rB��An$(1,6)r)��An$(7,2)r��An$(9,4)r7��	Hn$(13,6)r8��	Cn$(19,3)r9��Zn$(1,1)rM��Bn(2,1)r���Fnr���Rn$(5,1)���Sn$(6,1)r���Qn$(7,2)�
N�r:r;r<r�ry�item_id�
company_id�warehouse_no�company�key_type�	available�
contract_item�sales_category�gl_category�warehouse_category�	inv_unitsrArBrC�TestSequencer_�sD��&�F�4�G�'9�G�'9�J�'9�L�'9�G�'9�H�'9�I�'9�M�'9�N�'9�K�'9��'9�IrBr�rrgr)r�rirr�rkr7r�rmr8r�ror9r�rqrMr�rsr�r�rur�r�rwrxr�rzr�r�r|r}c�>�eZdZd�ZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZy
)r_c� �|jdS)Nr�r�rcs rCrez@TestEnumV3.test_order_as_function.<locals>.TestSequence.<lambda>�s��V�\�\�!�_rBrfrhrjrlrnrprrrtrvryr{N)r:r;r<ryrr�r�r�r�r�r�r�r�r�r�rArBrCr�z7TestEnumV3.test_order_as_function.<locals>.TestSequence�s?��4�G�'9�G�'9�J�'9�L�'9�G�'9�H�'9�I�'9�M�'9�N�'9�K�'9��'9�IrBrfrhrjrlrnrprrrtrvryr{c�B�eZdZdZd�ZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
Zy)r_rbc��|jSr�rarcs rCrez@TestEnumV3.test_order_as_function.<locals>.TestSequence.<lambda>������rBrfrhrjrlrnrprrrtrvryr{Nr~rArBrCr�z7TestEnumV3.test_order_as_function.<locals>.TestSequence�sD��#��8��+=��+=�
�+=��+=��+=��+=�	�+=�
�+=��+=��+=�"�+=�	rBc�B�eZdZdZd�ZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
Zy)r_rbc��|jSr�rarcs rCrez@TestEnumV3.test_order_as_function.<locals>.TestSequence.<lambda>r�rBrfrjrlrhr{rprrrtrnrvryN)r:r;r<r�ryrr�r�r�r�r�r�r�r�r�r�rArBrCr�z7TestEnumV3.test_order_as_function.<locals>.TestSequence	sD��#��8��+=��+=��+=��+=�
�+=�	�+=�	�+=�
�+=��+=��+=��+=�"rB)r�	enumerater�rbrr�r�r�r�r�r�r�r�r�r�r�r�r�r�)rjr�r�rd�tss     rC�test_order_as_functionz!TestEnumV3.test_order_as_function�s���
	:�4�
	:�#�<�0�I�A�v����Q����0�1�
����������)�4�������)�)�:�6�������,�,�a�0�������+�+�\�:�������,�,�j�9�������/�/��3�������-�-�~�>�������.�.�
�;�������1�1�1�5���������)�4�������)�)�;�7�������,�,�a�0�������)�)�:�6�������*�*�K�8�������-�-�q�1�������*�*�K�8�������+�+�Z�8�������.�.��2�����)�)�.�.��@�����)�)�/�/��;�����)�)�2�2�A�6�����*�*�/�/�1A�B�����*�*�0�0�$�7�����*�*�3�3�Q�7�������,�,�m�<�������-�-�z�:�������0�0�!�4�����.�.�3�3�5I�J�����.�.�4�4�j�A�����.�.�7�7��;�������*�*�K�8�������+�+�Z�8�������.�.��3�	:�4�	:�#�<�0�I�A�v����Q����Q��0�1�
����������)�4�������)�)�?�;�������+�+�\�:�������,�,�o�>�������-�-�~�>�������.�.��@���������)�4�������)�)�+;�<�������)�)�:�6�������*�*�,<�=�������*�*�K�8�������+�+�_�=�����)�)�.�.��@�����)�)�/�/��@�����*�*�/�/�1A�B�����*�*�0�0�)�<�������,�,�m�<�������-�-��?�����.�.�3�3�5I�J�����.�.�4�4�o�F�������*�*�K�8�������+�+�-=�>�
�
�
�y�
)�

>�t�

>�*� �
�
�y�
)�

>�t�

>�*�
)�!*�
)�� *�
)�s�d	�0d�	d�dc���Gd�dt�}|j|d�|j�|jtd|d�|jt
d|d�|j
t|d�y)	Nc�(�eZdZdZdZdZed��Zy)�&TestEnumV3.test_missing.<locals>.Colorrr7r8c�H�|dk(r|jS|dk(ry|dk(rt�y)Nr��
bad returnrM�	error out)r��ZeroDivisionError)r��items  rC�	_missing_z0TestEnumV3.test_missing.<locals>.Color._missing_s0���w��"�x�x����-� ���,�/�/� $rBN)r:r;r<r�r�r��classmethodr�rArBrCr�r�s#���������
$��
$rBr�r�z7 is not a valid Colorr�zerror in .*_missing_r�r�)rr^r�r�rKr�r�r�r�s  rC�test_missingzTestEnumV3.test_missingsd��
$��
$� 
�M�M�%��.�%�*�*�5��"�"�:�/G��PQ�R��"�"�9�.D�e�\�Z����/���DrBc�����Gd�dt�}|j|jjt�|j|j
jt�|j|jjt�Gd�d��Gd�d��G��fd�dt�}|j|jj��|j|jj��Gd	�d
��G�fd�dt�}|j|jj��y
)z2Support using Enum to refer to types deliberately.c��eZdZeZeZeZy)�.TestEnumV3.test_enum_of_types.<locals>.MyTypesN)	r:r;r<r�r�rg�frh�srArBrC�MyTypesr�1s���A��A��ArBr�c��eZdZy)�*TestEnumV3.test_enum_of_types.<locals>.FooNr�rArBrCrr�8r�rBrc��eZdZy)�*TestEnumV3.test_enum_of_types.<locals>.BarNr�rArBrC�Barr�:r�rBr�c���eZdZW�ZW�Zy)�/TestEnumV3.test_enum_of_types.<locals>.MyTypes2N)r:r;r<rr)r�rs��rC�MyTypes2r�<s
����A��ArBr�c��eZdZy)�7TestEnumV3.test_enum_of_types.<locals>.SpamEnumNotInnerNr�rArBrC�SpamEnumNotInnerr�Ar�rBr�c���eZdZW�Zy)�/TestEnumV3.test_enum_of_types.<locals>.SpamEnumN)r:r;r<�spam)r�s�rC�SpamEnumr�Cs���#�DrBr�N)rr�r�r�r�r�rgr�rhrrr�)rjr�r�r�r�rr�s    @@@rC�test_enum_of_typeszTestEnumV3.test_enum_of_types/s����	�d�	�	
��������#�.���������%�0���������#�.�	�	�	�	�	�t�	�	
������)�)�3�/�������)�)�3�/�	�	�	$�t�	$�������,�,�.>�?rBc� �Gd�dt�}|jt|jt��|j|jjd�|j|jjjd�|jt|j�|jj|jjg�|jt|�|j|jg�y)z'Support locally-defined nested classes.c�.�eZdZdZdZdZGd�de�Zy)�KTestEnumV3.test_nested_classes_in_enum_do_not_create_members.<locals>.Outer�Outerrr7c��eZdZdZdZdZy)�QTestEnumV3.test_nested_classes_in_enum_do_not_create_members.<locals>.Outer.InnerzOuter.Innerr}r�N)r:r;r<�foor�rArBrC�Innerr�Ns��,�����rBr�N)r:r;r<rrrr�rArBrCr�r�Js��"�L��A��A�
��
rBr�rr}N)rrzr|r�r+r�rr�r�r�r�r)rjr�s  rC�1test_nested_classes_in_enum_do_not_create_membersz<TestEnumV3.test_nested_classes_in_enum_do_not_create_membersGs���	�D�	�	
���
�5�;�;��5�6����������*���������.�.��3���������
�[�[�_�_�e�k�k�o�o�.�	�	
�����K�
�W�W�e�g�g��	rBc�Z�Gd�dt�}||j_d|jjz|j_t|jt|jjd��t|j|jjdtf��y)Nc��eZdZdZdZy��NTestEnumV3.test_class_nested_enum_and_pickle_protocol_four.<locals>.NestedEnum�common�rareN�r:r;r<�twigs�shinyrArBrC�
NestedEnumr�a��� ���rBr��
%s.NestedEnum)r)r8��protocolr9)rr�r�r:r<�test_pickle_exceptionr�r.r�r�rzr/�rjr�s  rC�/test_class_nested_enum_and_pickle_protocol_fourz:TestEnumV3.test_class_nested_enum_and_pickle_protocol_four_s~��
�T�
�)3�D�N�N�%�+:�T�^�^�=T�=T�+T�D�O�O�(�!��%�%�}�d�o�o�6K�6K�#�
%�
"�$�/�/�4�?�?�3H�3H��!1�2�
4rBc��Gd�dt�}||j_d|jjz|j_t|j|jjdtf��y)Nc��eZdZdZdZyr�r�rArBrCr�zNTestEnumV3.test_class_nested_enum_and_pickle_protocol_four.<locals>.NestedEnumpr�rBr�r�r)r�)	rr�r�r:r<r�rzr�r/r�s  rCr�z:TestEnumV3.test_class_nested_enum_and_pickle_protocol_fournsZ��
�T�
�)3�D�N�N�%�+:�T�^�^�=T�=T�+T�D�O�O�(�!�$�/�/�4�?�?�3H�3H��!1�2�
4rBc�"��G�fd�dt��|j�j�jgt	���|j�jj
d�|j�jjd�y)Nc�@��eZdZdZW�dd�ZW�dd�Zd�Zy)�-TestEnumV3.test_enum_injection.<locals>.ColorzBLACK WHITE�blackz#000�white�#fffc� �||_||_yr�)�label�hex)rjr�r�s   rCr�z6TestEnumV3.test_enum_injection.<locals>.Color.__init__�s��!&�D�J�"�D�HrBN)r:r;r<ry�BLACK�WHITEr�r+s�rCr�r�{s%���'���g�v�.���g�v�.��#rBr�r�r�)rr�r�r�r�r�r�r�s @rC�test_enum_injectionzTestEnumV3.test_enum_injectionzsd���
#��
#�
���e�k�k�5�;�;�7��e��E����U�[�[�_�_�f�5����U�[�[�.�.��8rBc�D��G�fd�dt��Gd�d�t�}|j|jtj�|j	t|j|jz�d��t�d<|t�d<�dd�}|j	|d�t|j|ddtf�	�|j	|jjd
�t|j|jdtf�	�y)Nc�D��eZdZdZd�Zd�Zed��Zd�Zd�Z�fd�Zy)	�?TestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NamedInt�NamedIntc��|}t|�dkrtd��|d|dd}}tj|g|���}||_||_|S)Nr7z name and value must be specifiedr)r)rRr�r��__new__�_intname�_args)r�r�r�r�rjs     rCr�zGTestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__new__�sW�� �E��4�y�1�}�'�(J�K�K�!%�a��$�q�r�(�$�D��;�;�s�2�T�2�D�$(�D�M�!&�D�J��KrBc��|jifSr�)r�r�s rC�__getnewargs_ex__zQTestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__getnewargs_ex__�s���:�:�r�>�)rBc��|jSr�)r�r�s rCr:zHTestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__name__�s���=�=�(rBc��djt|�j|jtj	|��S)Nz{}({!r}, {}))�formatr+r:r��__repr__r�s rCr�zHTestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__repr__�s6��)�0�0��d��1D�1D�15���14���d�1C�E�ErBc�|�t}|j}|jtur|j	|�S||�Sr�)r��__str__�__objclass__�objectr�)rj�base�base_strs   rCr�zGTestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__str__�s7���D�#�|�|�H��,�,��6�#�}�}�T�2�2�#�D�>�)rBc���t|�t|�z}t|��r9t|��r-�dj|j|j�|�S|S)Nz({0} + {1}))r�r|r�r:)rj�other�tempr�s   �rC�__add__zGTestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__add__�sW����t�9�s�E�{�2�D�!�$��1�j���6Q�'�)�0�0�������O� � #�#� $�rBN)	r:r;r<r�r�r�r�r�r�)r�s�rCr�r��s4���)�� �*��)��)�E�
*�$rBr�c��eZdZdZdZdZy)�:TestEnumV3.test_subclasses_with_getnewargs_ex.<locals>.NEI�NEI)zthe-xr)zthe-yr7N)r:r;r<r�r�rArBrCr�r��s��$�� �� �rBr�zNamedInt('(the-x + the-y)', 3)�testrMr9r�r7)
r�rr^r�r��reprr�r�r�r�r/r�rz)rjr��NI5r�s   @rC�"test_subclasses_with_getnewargs_exz-TestEnumV3.test_subclasses_with_getnewargs_ex�s����%
$�3�%
$�N
!�h��
!�
�M�M�#�+�+�t�|�|�4����T�#�%�%�#�%�%�-�0�2R�S�$,�G�I�j�!�"�G�I�e���6�1�%�C����S�!�$�!�$�"2�"2�C��a�IY�EZ�[����S�U�U�[�[�!�,�!�$�/�/�3�5�5�A�GW�CX�YrBc��Gd�dt��}Gd�d|t�}|jt|j�d�y)Nc��eZdZy)�CTestEnumV3.test_multiple_superclasses_repr.<locals>._EnumSuperClassNr�rArBrC�_EnumSuperClassr�r�rBrr�c��eZdZdZy)�5TestEnumV3.test_multiple_superclasses_repr.<locals>.ErN)r:r;r<rNrArBrCrGr�s���ArBrGz<E.A: 1>)rrr�r�rN)rjrrGs   rC�test_multiple_superclasses_reprz*TestEnumV3.test_multiple_superclasses_repr�s4��	��	�	���	�����a�c�c��J�/rBN)Fr:r;r<rk�unittest�
skipUnlessrr~r�r r#r�r�r�r�r�r�r�rrrr"r,r7rErLrSrWr_rerirmr|r�r�r�r�r�r�r�r�r�r�r�r�r�rr	rrrr#r-r8r?rFrNrRrVr\r�r!r�r�r�r"r�r�r�rrArBrCr3r3s���!�F�X����)D�E� F�F� F�D�X����)D�E��F��(�X����%��)V�W�7�X�7�E�$
5��$-�;�-����$
�H�2�"�2�
X�/�9�(�(��4�H�H�
<�/�.	-�L�	L�6�	-�	6�8��=�,	(�
-�
+�+�+�.�6�	�	/�5�5�.�	/�P�z>�x
��~�	E�,@�0�.
��~�	4�
�%��		4�
��~�	9�6	Z�p0rBr3c�d�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�TestOrderV3z5
    Test definition order versus _order_ order.
    c�"�Gd�dt�}y)Nc��eZdZdZdZdZdZy)�,TestOrderV3.test_same_members.<locals>.Color�red green bluerr7r8N�r:r;r<ryr�r�r�rArBrCr�r����&�G��C��E��DrBr��rr�s  rC�test_same_memberszTestOrderV3.test_same_members����	�D�	rBc�"�Gd�dt�}y)Nc� �eZdZdZdZdZdZeZy)�9TestOrderV3.test_same_members_with_aliases.<locals>.Colorrrr7r8N�r:r;r<ryr�r�r�rrArBrCr�r����&�G��C��E��D��ErBr�rr�s  rC�test_same_members_with_aliasesz*TestOrderV3.test_same_members_with_aliases����	�D�	rBc�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)N�#member order does not match _order_c��eZdZdZdZdZdZy)�8TestOrderV3.test_same_members_wrong_order.<locals>.Colorrrr8r7N�r:r;r<ryr�r�r�rArBrCr�r����*�������rBr��r�r�rr�s  rC�test_same_members_wrong_orderz)TestOrderV3.test_same_members_wrong_order��,��
�
#�
#�I�/T�
U�
��
�V�
U�
U�r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc��eZdZdZdZdZdZy)�7TestOrderV3.test_order_has_extra_members.<locals>.Color�red green blue purplerr7r8Nr
rArBrCr�r$����1�������rBr�rr�s  rC�test_order_has_extra_membersz(TestOrderV3.test_order_has_extra_members��,��
�
#�
#�I�/T�
U�
��
�V�
U�
U�r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc� �eZdZdZdZdZdZeZy)�DTestOrderV3.test_order_has_extra_members_with_aliases.<locals>.Colorr%rr7r8NrrArBrCr�r+����1���������rBr�rr�s  rC�)test_order_has_extra_members_with_aliasesz5TestOrderV3.test_order_has_extra_members_with_aliases��,��
�
#�
#�I�/T�
U�
��
�V�
U�
U�r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc� �eZdZdZdZdZdZdZy)�6TestOrderV3.test_enum_has_extra_members.<locals>.Colorrrr7r8r9N�r:r;r<ryr�r�r��purplerArBrCr�r1����*���������rBr�rr�s  rC�test_enum_has_extra_membersz'TestOrderV3.test_enum_has_extra_members��,��
�
#�
#�I�/T�
U�
��
�V�
U�
U�r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc�$�eZdZdZdZdZdZdZeZy)�CTestOrderV3.test_enum_has_extra_members_with_aliases.<locals>.Colorrrr7r8r9N�	r:r;r<ryr�r�r�r3rrArBrCr�r9� ��*�����������rBr�rr�s  rC�(test_enum_has_extra_members_with_aliasesz4TestOrderV3.test_enum_has_extra_members_with_aliases��,��
�
#�
#�I�/T�
U�
��
�V�
U�
U�r�c�"�Gd�dt�}y)Nc��eZdZdZdZdZdZy)�1TestOrderV3.test_same_members_flag.<locals>.Colorrrr7r9Nr
rArBrCr�r@	rrBr��rr�s  rC�test_same_members_flagz"TestOrderV3.test_same_members_flagrrBc�"�Gd�dt�}y)Nc� �eZdZdZdZdZdZeZy)�>TestOrderV3.test_same_members_with_aliases_flag.<locals>.Colorrrr7r9NrrArBrCr�rErrBr�rAr�s  rC�#test_same_members_with_aliases_flagz/TestOrderV3.test_same_members_with_aliases_flagrrBc�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc��eZdZdZdZdZdZy)�=TestOrderV3.test_same_members_wrong_order_falg.<locals>.Colorrrr9r7NrrArBrCr�rIrrBr�r�r�s  rC�"test_same_members_wrong_order_falgz.TestOrderV3.test_same_members_wrong_order_falgr!r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc��eZdZdZdZdZdZy)�<TestOrderV3.test_order_has_extra_members_flag.<locals>.Colorr%rr7r9Nr
rArBrCr�rM!r&rBr�r�r�s  rC�!test_order_has_extra_members_flagz-TestOrderV3.test_order_has_extra_members_flagr(r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc� �eZdZdZdZdZdZeZy)�ITestOrderV3.test_order_has_extra_members_with_aliases_flag.<locals>.Colorr%rr7r9NrrArBrCr�rQ)r,rBr�r�r�s  rC�.test_order_has_extra_members_with_aliases_flagz:TestOrderV3.test_order_has_extra_members_with_aliases_flag'r.r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc� �eZdZdZdZdZdZdZy)�;TestOrderV3.test_enum_has_extra_members_flag.<locals>.Colorrrr7r9rxNr2rArBrCr�rU2r4rBr�r�r�s  rC� test_enum_has_extra_members_flagz,TestOrderV3.test_enum_has_extra_members_flag0r6r�c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)Nrc�$�eZdZdZdZdZdZdZeZy)�HTestOrderV3.test_enum_has_extra_members_with_aliases_flag.<locals>.Colorrrr7r9rxNr:rArBrCr�rY;r;rBr�r�r�s  rC�-test_enum_has_extra_members_with_aliases_flagz9TestOrderV3.test_enum_has_extra_members_with_aliases_flag9r=r�N)r:r;r<r�rrr r'r-r5r<rBrFrJrNrRrVrZrArBrCrr�sM����������������rBrc��eZdZd�Zd�Zd�Zy)�TestNamedTupleV3c��Gd�dttj��}|ddd�}|jd|v�|jd|v�|jd|v�|j	|j
d�|j	|jd�|jt|dd�|jt|d�y)Nc��eZdZdZdZdZy)�.TestNamedTupleV3.test_fixed_size.<locals>.Bookr)rr7N�r:r;r<r��author�genrerArBrC�Bookr_Gr*rBrc��size�Teckla�Steven Brust�fantasy)	rr
�fixedrzr�r�rar�r��rjrcrs   rC�test_fixed_sizez TestNamedTupleV3.test_fixed_sizeFs���	�:�I�O�O�	�
��>�9�5������A�
�&�����!�+�,����	�Q��'�������(�+�������>�2����)�T�8�^�D����)�T�8�4rBc�^�Gd�dttj��}|ddd�}|jd|v�|jd|v�|jd|v�|j	|j
d�|j	|jd�|j	|dd�|dd�}|jd|v�|jd|v�|j	|j
d�|j	|jd�|jt|d�y)Nc��eZdZdZdZy)�0TestNamedTupleV3.test_minimum_size.<locals>.Bookr)rN)r:r;r<r�rarArBrCrcrnUs���E��FrBrcrdrfrgrhr7)	rr
�minimumrzr�r�rar�r�rjs   rC�test_minimum_sizez"TestNamedTupleV3.test_minimum_sizeTs���	�:�I�$5�$5�	�
��>�9�5������A�
�&�����!�+�,����	�Q��'�������(�+�������>�2�����1��y�)���>�*������A�
�&�����!�+�,�������(�+�������>�2����)�T�8�4rBc���Gd�dttj��}|ddd�}|jd|v�|jd|v�|jd|v�|j	|j
d�|j	|jd�|j	|jd�|dd�}|jd|v�|jd|v�|j	|j
d�|j	|jd�|jtt|d�|jt|dd��|jt|d�	�y)
Nc��eZdZdZdZdZy)�1TestNamedTupleV3.test_variable_size.<locals>.Bookr)rr7Nr`rArBrCrcrsgr*rBrcrdrfrgrhrb)r�rb)ra)rr
�variablerzr�r�rarbr��AttributeError�getattrr�rjs   rC�test_variable_sizez#TestNamedTupleV3.test_variable_sizefs(��	�:�I�$6�$6�	�
��>�9�5������A�
�&�����!�+�,����	�Q��'�������(�+�������>�2�������)�,���>�*������A�
�&�����!�+�,�������(�+�������>�2����.�'�1�g�>����)�T����K����)�T�.��ArBN)r:r;r<rkrprwrArBrCr\r\Ds��5�5�$BrBr\c�V�eZdZd�Zd�Zd�Zd�Zeje	d�d��Z
y)�TestStackoverflowAnswersV3c�6�Gd�dt�}|}|j|jjd�|j	|jj
|ju�|j	|jj|ju�y)Nc�"�eZdZdZdZdZdZd�Zy)�OTestStackoverflowAnswersV3.test_self_referential_directions.<locals>.Directions�rr))r)r)���r))r)r~c���||_||_t|j�r<t	|j�}|d|d}}||_||_||_||_yy�Nr)r~)r�r�rRr�r��left�right)rjr�r��allr�r�s      rCr�zXTestStackoverflowAnswersV3.test_self_referential_directions.<locals>.Directions.__init__�s\���������t�~�~�&��t�~�~�.�C�"%�a�&�#�b�'�%�D� $�D�I�!&�D�J�!%�D�J�!%�E�J�'rBN)r:r;r<r\r[r]rZr�rArBrC�
Directionsr|�s���E��D��E��D�

&rBr�r})	rr�r\r�rzr�r[r]r�)rjr�rQs   rC� test_self_referential_directionsz;TestStackoverflowAnswersV3.test_self_referential_directionssg��	&��	&�&
�����������/������������.�/�������
�
����/�0rBc�H�Gd�dt�}|j|jj|ju�|j|jj|j
u�|j|j
j|ju�y)Nc��eZdZdZdZdZd�Zy)�QTestStackoverflowAnswersV3.test_self_referential_rock_paper_scissors.<locals>.RPS�rock�paper�scissorsc��t|j�r.t|j�}|d|d}}||_||_yyr�)rRr�r��beats)rjr�r�r&�previouss     rCr�zZTestStackoverflowAnswersV3.test_self_referential_rock_paper_scissors.<locals>.RPS.__init__�s@���t�~�~�&��t�~�~�.�C�&)�!�f�c�"�g�8�E�"&�E�K�!)�D�J�'rBN)r:r;r<�Rock�Paper�Scissorsr�rArBrC�RPSr��s���D��E�!�H�
*rBr�)rrzr�r�r�r�)rjr�s  rC�)test_self_referential_rock_paper_scissorszDTestStackoverflowAnswersV3.test_self_referential_rock_paper_scissors�si��	*�$�	*�	
��������#�,�,�6�7�������*�*�c�i�i�7�8�����	�	���3�8�8�3�4rBc�&�Gd�dt�}Gd�d|�}ttjj	t
d��5}|j
�}ddd�|jtjd��y#1swY�/xYw)Nc��eZdZd�Zy)�@TestStackoverflowAnswersV3.test_arduino_headers.<locals>.CHeaderc	��|j}t|d|z�}t|d�5}|jd�|D].}|jd|j�d|j
�d���0	ddd�y#1swYyxYw)Nz_%s__header�wzinitial header stuff here
z#define � �
)r:rv�open�writer�r�)r�r�cls_name�header_path�fh�enums      rCr�zRTestStackoverflowAnswersV3.test_arduino_headers.<locals>.CHeader.__init_subclass__�sd���<�<��%�c�=�8�+C�D���+�s�+�r��H�H�:�;� #�����d�i�i����!L�M�!$�,�+�+�s�AA7�7BN)r:r;r<r�rArBrC�CHeaderr��s��
NrBr�c�L�eZdZejjed�ZdZdZ	y)�@TestStackoverflowAnswersV3.test_arduino_headers.<locals>.Arduino�	arduino.hrr7N)
r:r;r<�os�path�join�tempdir�_Arduino__header�ONE�TWOrArBrC�Arduinor��s ���w�w�|�|�G�[�9�H��C��CrBr�r�zv                initial header stuff here
                #define ONE 1
                #define TWO 2
                )
rr�r�r�r�r��readr��textwrap�dedent)rjr�r�r��datas     rC�test_arduino_headersz/TestStackoverflowAnswersV3.test_arduino_headers�ss��	N�d�	N�	�g�	��"�'�'�,�,�w��4�
5���w�w�y��6�������*��
�	�6�
5�s�B�Bc��Gd�dttd��}|j|jjd�|j|j
jd�|j|jjd�|j|jjd�|j|jjd�|j|jjd	�y)
Nc�X�eZdZeeeeedZe	e
edZe
eedZeeeeey)�>TestStackoverflowAnswersV3.test_create_C_like_Enum.<locals>.Id�iiN)r:r;r<�NONE�	HEARTBEAT�FLUID_TRANSFER_REQUEST�FLUID_TRANSFER_STATUS_MSG�FLUID_TRANSFER_ERROR_MSG�START_SENDING_PICTURES�STOP_SENDING_PICTURES�START_RECORDING_VIDEO_REQ�STOP_RECORDING_VIDEO_REQ�VOLUME_REQUEST�	START_CAL�CLI_COMMAND_REQUEST�CLI_COMMAND_RESPONSE�NEW_DELIVERY_REQ�GET_DELIVERY_FILE_REQ�GET_FILE_REQ�ACK_NACK�RESPONSE�LAST_IDrArBrC�Idr��sI����"�%�$�&.�"�!�%�$�&�N��� � '��!����rBr�r)r�r9r�iii)
rrr�r�r�r�r�r�r�r�)rjr�s  rC�test_create_C_like_Enumz2TestStackoverflowAnswersV3.test_create_C_like_Enum�s���	��
�!�	�@	
���������*�����4�4�:�:�A�>�����2�2�8�8�(�C�����4�4�:�:�H�E�������+�+�X�6�������)�)�7�3rBzpyparsing not installedc�6������	�
���
�ttjjtd�d�5}|jd�ddd�ddlm�m�m	�m
�	m�
ddlm�m
�m�
d�G������	�
���
f
d�dt��Gd	�d
t ����Gd�d
��}Gd�d��}|j#t%|�|j&|j(|j*|j,|j.|j0|j2g�|j#|j&j4d�|j#|j,j4d�|j#|j0j4d�|j#|j2j4d�|j#t%|�|j6|j8|j:|j<g�|j#|j6j4d�|j#|j8j4d�|j#|j:j4d�|j#|j<j4d�y#1swY��ExYw)N�
c_plus_plus.hr�a]
                    stuff before
                    enum hello {
                        Zero,
                        One,
                        Two,
                        Three,
                        Five=5,
                        Six,
                        Ten=10
                        };
                    in the middle
                    enum blah
                        {
                        alpha,
                        beta,
                        gamma = 10 ,
                        zeta = 50
                        };
                    at the end
                    r))�Group�Optional�Suppress�Word�
ZeroOrMore)�alphas�	alphanums�numsc�P�
��eZdZed��Z��fd�Z����������	�
fd�Z�xZS)�ETestStackoverflowAnswersV3.test_c_header_scanner.<locals>.CPPEnumTypec��iSr�rA)�metacls�clsname�basesrs    rC�__prepare__zQTestStackoverflowAnswersV3.test_c_header_scanner.<locals>.CPPEnumType.__prepare__s	���	rBc���t�|�|�yr�)r�r�)r�r�r�CPPEnumTyper�s   ��rCr�zNTestStackoverflowAnswersV3.test_c_header_scanner.<locals>.CPPEnumType.__init__s����k�7�4�d�;rBc	�`����5t�|�||fi|��}|j|�t�|�||||fi|��Sg}	|j	d�}|j	d|j��}t|�5}	|	j�}
ddd�t�!d�\}}}
}�!d�}�"�&�%dz�}�"�'�}�|d�� |
|d�z�z�}�|�#||z�z�}||d�z|z|d	�z|z}|j
�D]}\}}}|j|k7r�d
}|jD]V}|jdk7rt|j�}|j!|j"j%�|f�|dz
}�X�t�|�||fi|��}t'|j)��}|j+d
���|D]
\}}|||<�|D]
\}}|||<�t�|�||||fi|��S#t
$rt
d��wxYw#1swY���xYw)N�_filez_file not specified�_namez{}=,r��_r�r��namesr)�rc�(�|dddk(rd|fSd|fS)Nr)r�rrA)�ps rCrez_TestStackoverflowAnswersV3.test_c_header_scanner.<locals>.CPPEnumType.__new__.<locals>.<lambda>@s��q��t�A�w�#�~�!�a�)H�1�a�)HrB)�key)r�r��updater��pop�KeyErrorr�r�r�r��map�
scanStringr�r�r�r��appendr��upperr��items�sort)(r�r�r��clsdictr�	enum_dict�members�file�
cpp_enum_namer��
file_contents�LBRACE�RBRACE�EQ�COMMA�_enum�
identifier�integer�	enumValue�enumListr�r�r��stop�id�entryr�r�r��CPPEnumr�r�r�r�r�r�r�r�r�r�s(                             �����������rCr�zMTestStackoverflowAnswersV3.test_c_header_scanner.<locals>.CPPEnumType.__new__sb����?� %�k�7� G��QV� _�Z^� _�I��$�$�W�-� ��g�>�w��QV�Xa�j�ei�j�j���;�"�;�;�w�/�D�!(���G�W�]�]�_� E�
��$�Z�2�$&�G�G�I�M� �-0��&�,A�)����E� ��(��!�&�)�c�/�:�
��t�*��!�*�V�"4�x��W�W�EU�@U�7V�"V�W�	� ��Z��	�8I�-J�!J�K���z�&�1�1�F�:�X�g�=N�N�QW�W��*.����)G�%�D�%���y�y�M�1� ��B�!%���� �;�;�"�,�!$�U�[�[�!1�B�����
�
�(8�(8�(:�B�'?�@��a���	",�	*H�"�+�w�C�G�U�[�VZ�[�	��W�]�]�_�-���
�
�H�
�I�#(�K�D�%�&+�I�d�O�$)�$+�K�D�%�&+�I�d�O�$+��[�'�:�7�G�U�T]�f�ae�f�f��I �;�#�$9�:�:�;�� �Z�s�H�8H#�H �#H-)r:r;r<r�r�r�r�r�)r�rr�r�r�r�r�r�r�r�r�s@����������rCr�r�
s,���
�
��
�
<�/
g�/
g�/
grBr�c��eZdZy)�ATestStackoverflowAnswersV3.test_c_header_scanner.<locals>.CPPEnumNr�rArBrCrrHr�rBrr�c�D�eZdZejjed�Zy)�?TestStackoverflowAnswersV3.test_c_header_scanner.<locals>.Hellor�N)r:r;r<r�r�r�r�r�rArBrC�HellorKs���G�G�L�L��/�:�ErBrc�H�eZdZejjed�ZdZy)�>TestStackoverflowAnswersV3.test_c_header_scanner.<locals>.Blahr��blahN)	r:r;r<r�r�r�r�r�r�rArBrC�Blahr	Ns���G�G�L�L��/�:�E��ErBrr8r�r}r�2)r�r�r�r�r�r��	pyparsingr�r�r�r�r�r�r�r�rrr�r��ZEROr�r��THREE�FIVE�SIX�TENr��ALPHA�BETA�GAMMA�ZETA)rjr�rrrr�r�r�r�r�r�r�r�r�s    @@@@@@@@@@rC�test_c_header_scannerz0TestStackoverflowAnswersV3.test_c_header_scanner�s������"�'�'�,�,�w��8�#�
>�"��H�H��
�?�,	J�I�5�5���9	g�9	g�(�9	g�v	�g��	�	;�G�	;�	�7�	�	
����U�����U�Y�Y��	�	�5�;�;��
�
�E�I�I�W\�W`�W`�a�	�	
������)�)�1�-�������*�*�A�.���������!�,���������"�-�����T�
����T�Y�Y��
�
�D�I�I�>�	�	
������)�)�1�-���������!�,�������)�)�2�.���������"�-�_?�
>�s�J�JN)r:r;r<r�r�r�r�rrr
rrArBrCryry}s=��1�45�(�2'4�T�X����$=�>�q.�?�q.rBryc�"�eZdZdZd�Zd�Zd�Zy)�TestIssuesV3z.
    Problems that were stated in issues.
    c��Gd�dtttd��}|j|D�cgc]}|j��c}gd��|j|D�cgc]}|j
��c}gd��|j
|d�|j�|j
|d�|j�|j
|d�|j�|j
|d	�|j�|j
|d
�|j�|j
|d�|j�ycc}wcc}w)Nc��eZdZdZdZdZy)�7TestIssuesV3.test_auto_multi_int_1.<locals>.Measurementr�r�r�Nr�rArBrCr�rjr�rBr�r))r��r)rr7�rpr�r�r�rr�r7r�)
r�rrr�r�r�r^rpr�r��rjr�r�s   rC�test_auto_multi_int_1z"TestIssuesV3.test_auto_multi_int_1is���	�#�|�^�1�	�	
���;�7�;�a�!�'�'�;�7��C����+�6�+�Q�!�&�&�+�6�8O�P��
�
�k�!�n�k�o�o�6��
�
�k�*�-�{���?��
�
�k�!�n�k�o�o�6��
�
�k�*�-�{���?��
�
�k�!�n�k�&7�&7�8��
�
�k�*�-�{�/@�/@�A��8��6s�E�Ec��Gd�dttttfd��}|j	|D�cgc]}|j
��c}gd��|j	|D�cgc]}|j��c}gd��|j|d�|j�|j|d�|j�|j|d�|j�|j|d	�|j�|j|d
�|j�|j|d�|j�ycc}wcc}w)Nc��eZdZdZdZdZy)�7TestIssuesV3.test_auto_multi_int_2.<locals>.Measurementr�r�r�Nr�rArBrCr�r#xr�rBr�r)r�rrr�rr�r7r�)r�rrrr�r�r�r^rpr�r�rs   rC�test_auto_multi_int_2z"TestIssuesV3.test_auto_multi_int_2ws���	�#�t�z�8�.D�A�	�	
���;�7�;�a�!�'�'�;�7��C����+�6�+�Q�!�&�&�+�6�8O�P��
�
�k�!�n�k�o�o�6��
�
�k�*�-�{���?��
�
�k�!�n�k�o�o�6��
�
�k�*�-�{���?��
�
�k�!�n�k�&7�&7�8��
�
�k�*�-�{�/@�/@�A��8��6s�E�Ec���Gd�dttd��}|j|jjd�|j|jj
d�|j|jjd�t|ddd	�|jt|�|j|j|j|jg�|j|jjd�|j|jjd�|j|d�|ju�|j|d	�|ju�y)
Nc��eZdZdZdZdZy)�6TestIssuesV3.test_extend_enum_with_init.<locals>.Color)rx�yes)�2�no)�3�maybeNr�rArBrCr�r'�s���C��E��DrBr�zfoo barrxrxr(�opacity�4�never)rrr�r�r�r�r�rr�r�r�r-r�rzr�s  rC�test_extend_enum_with_initz'TestIssuesV3.test_extend_enum_with_init�s���	 �D�:�I�	 �	
��������#�.����������,����������.��E�9�c�7�3�����e��u�y�y�%�+�+�u�z�z�5�=�=�&Y�Z�������,�,�c�2�������+�+�Y�7�����c�
�e�m�m�3�4�����g��%�-�-�7�8rBN)r:r;r<r�r r$r0rArBrCrrds���B�B�
9rBrc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zej&ed�d��Zej&ed�d��Zej&ed�d��Zej&ed�d��Zej&ed�d��Zej&ed�d��Zej&ed�d��Zej&ed�d��Zej&exree kd�d��Z!ej&exree k\d�d��Z!ej&e"d�d��Z#ej&e"d�d��Z$ej&e%d �d!��Z&y")#�TestExtendEnumV3c��Gd�dt�}|jtdt|dd�t|dd�|j	|j
jd�|j	|j
jd�|j|j
|v�|j	|d�|j
�|j	|d|j
�|j	t|�d�t|d�|j	|jjd�|j	|jjd�|j|j|v�|j	|d�|j�|j	|d|j�|j	t|�d�y)	Nc��eZdZdZdZdZy)�6TestExtendEnumV3.test_extend_enum_plain.<locals>.Colorrr7r8Nr�rArBrCr�r5�rrBr�z(.blue. already in use as .Color.blue: 3.r�rMrr9�mauve)rr�r�rr�rr�r�rzrRr6r�s  rCrz'TestExtendEnumV3.test_extend_enum_plain�s]��	�D�	�	
���y�*T�Va�ch�jp�rs�t��E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'��E�7�#�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'rBc���Gd�dt�}t|dd�|j|jjd�|j|jj
d�|j
|j|v�|j|d�|j�|j|d|j�|jt|�d�y)Nc��eZdZdZdZdZy)�6TestExtendEnumV3.test_extend_enum_alias.<locals>.Colorrr7r8Nr�rArBrCr�r9�rrBr�rJrr�r8)	rrr�rJr�r�rzr�rRr�s  rC�test_extend_enum_aliasz'TestExtendEnumV3.test_extend_enum_alias�s���	�D�	�	�E�6�1�%���������%�0�������)�)�1�-�����
�
�e�+�,�����q��5�:�:�.�����v���	�	�2�����U��Q�'rBc���Gd�dt�}|jtdt|dd�|j	|j
jd�|j	|j
jd�|j|j
|v�|j	|d�|j
�|j	|d|j
�|j	|jjd�|j	|jjd�|j|j|v�|j	|d�|j�|j	|d	|j�|j	|jjd	�|j	|jjd
�|j|j|v�|j	|d
�|j�|j	t|�d
�t|dd�|j	|jjd�|j	|jjd�|j|j|v�|j	|d�|j�|j	|d|j�|j	t|�d�|jtd
t|dd�t|d�|j	|jjd�|j	|jjd�|j|j|v�|j	|d�|j�|j	|d|j�|j	t|�d�y)Nc��eZdZdZdZdZy)�7TestExtendEnumV3.test_extend_enum_unique.<locals>.Colorrr7r8Nr�rArBrCr�r=�rrBr�z0<Color.rojo: 1> is a duplicate of <Color.red: 1>rJrr�r�r7r�r8rr9z3<Color.verde: 2> is a duplicate of <Color.green: 2>rr6rM)r	r�rKrr�r�r�r�rzr�r�rRrr6r�s  rC�test_extend_enum_uniquez(TestExtendEnumV3.test_extend_enum_unique�s���	�J�	�	
���z�+^�`k�mr�tz�|}�~����������/���������!�,�����	�	�U�*�+�����q��5�9�9�-�����u��u�y�y�1�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����v���
�
�3���������&�1�������)�)�1�-�����
�
�e�+�,�����q��5�:�:�.�����U��Q�'��E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'����z�+`�bm�ot�v}�@A�	B��E�7�#�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'rBc��Gd�dt�}t|dd�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�|jt
|�d�|j|jjd�y)Nc��eZdZdZdZdZy)�@TestExtendEnumV3.test_extend_enum_shadow_property.<locals>.Colorrr7r8Nr�rArBrCr�rA�rrBr�r�r9r)rrr�r�r�rzrRr�r�s  rC� test_extend_enum_shadow_propertyz1TestExtendEnumV3.test_extend_enum_shadow_property�s���	�D�	�	�E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'���������!�,rBc�,�Gd�dt�}Gd�d|t�}|jtdt|dd�|jt
|�d�|jt|�|j|j|jg�y)	Nc��eZdZd�Zy)�<TestExtendEnumV3.test_extend_enum_shadow_base.<locals>.hohumc��|jS�zcyanize a colorr�r�s rCr�zATestExtendEnumV3.test_extend_enum_shadow_base.<locals>.hohum.cyan�����z�z�!rBN�r:r;r<r�rArBrC�hohumrE����
"rBrJc��eZdZdZdZdZy)�<TestExtendEnumV3.test_extend_enum_shadow_base.<locals>.Colorrr7r8Nr�rArBrCr�rM�rrBr��already in use in superclassr�r9r8)r�rr�r�rr�rRr�r�r�r��rjrJr�s   rC�test_extend_enum_shadow_basez-TestExtendEnumV3.test_extend_enum_shadow_base�su��	"�F�	"�	�E�4�	�	
���y�*I�;�X]�_e�gh�i�����U��Q�'�����e��u�y�y�%�+�+�u�z�z�&J�KrBc�F�Gd�dt�}t|ddd�|j|jjd�|j|jj
d�|j
|j|v�|j|d�|j�|j|d�|j�|j|d|j�|jt|�d�|jtdt|d�y)	Nc��eZdZdZdZdZy)�;TestExtendEnumV3.test_extend_enum_multivalue.<locals>.Color�rr9r��r7rMrx�r8r�r�Nr�rArBrCr�rS����C��E��DrBr�rr}�r9z'no values specified for MultiValue enumr6)
rrr�rr�r�rzrRr�rKr�s  rC�test_extend_enum_multivaluez,TestExtendEnumV3.test_extend_enum_multivalue�s���	�N�	�	�E�7�B��+�������)�)�7�3�������*�*�B�/�������u�,�-�����r��E�K�K�0�����r��E�K�K�0�����w�����5�����U��Q�'����z�+T�Va�ch�jq�rrBc���Gd�dt�}|jtdt|dd�|j	|j
jd�|j	|j
jd�|j|j
|v�|j	|d�|j
�|j	|d�|j
�|j	|d�|j
�|j	|d|j
�|j	|jjd	�|j	|jjd
�|j|j|v�|j	|d
�|j�|j	|d�|j�|j	|d�|j�|j	|d
|j�|j	|jjd
�|j	|jjd�|j|j|v�|j	|d�|j�|j	|d�|j�|j	|d�|j�|j	t|�d�y)Nc��eZdZdZdZdZy)�ATestExtendEnumV3.test_extend_enum_multivalue_alias.<locals>.ColorrTrUrVNr�rArBrCr�r\rWrBr�z0<Color.rojo: 7> is a duplicate of <Color.red: 1>rJr�r�rr9r�r7rMrxr�r8r�r�)rr�rKrr�r�r�r�rzr�r�rRr�s  rC�!test_extend_enum_multivalue_aliasz2TestExtendEnumV3.test_extend_enum_multivalue_aliass��	�N�	�	
���z�+^�`k�mr�tz�|}�~����������/���������!�,�����	�	�U�*�+�����q��5�9�9�-�����q��5�9�9�-�����q��5�9�9�-�����u��u�y�y�1�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����q��5�;�;�/�����q��5�;�;�/�����v���
�
�3���������&�1�������)�)�1�-�����
�
�e�+�,�����q��5�:�:�.�����q��5�:�:�.�����q��5�:�:�.�����U��Q�'rBc�D�Gd�dtt�}|j|jtu�t	|ddd�|jt
|�|j|j|j|jg�|j|d�|ju�|j|d�|ju�|j|jjdk(�|j|jjdk(�y)Nc��eZdZdZdZdZy)�;TestExtendEnumV3.test_extend_enum_multivalue_str.<locals>.M)�value_1�VALUE_1)�value_2�VALUE_2)�value_3�VALUE_3N)r:r;r<rbrdrfrArBrCr�r`,s��*�G�*�G�*�GrBr��VALUE_4�value_4)
rhrrz�
_member_type_rr�r�rbrdrfrgr�r�)rjr�s  rC�test_extend_enum_multivalue_strz0TestExtendEnumV3.test_extend_enum_multivalue_str+s���	+��^�	+�	
������3�.�/��A�y�)�Y�7�����a��1�9�9�a�i�i����A�I�I�"N�O�����)���	�	�1�2�����)���	�	�1�2�����	�	���)�3�4�����	�	���9�4�5rBc���Gd�dt�}dD]\}}t|||��|jt|�d�|jt	|�|j
|j|j|j|jg�|j|j
jd�|j|jjd�y)Nc��eZdZdZdZy)�3TestExtendEnumV3.test_extend_intenum.<locals>.Index��N�r:r;r<�
DeviceType�
ErrorRegisterrArBrC�Indexrm9���"�J�"�MrBrs�)�ControlWordi@`)�
StatusWord�A`)�
OperationModei``rMrnrx)rrr�rRr�rqrrrvrwryr��rjrsr�r�s    rC�test_extend_intenumz$TestExtendEnumV3.test_extend_intenum8s���	#�G�	#��K�D�%�

��t�U�+��	
����U��Q�'�����e��u�'7�'7��9L�9L�e�N_�N_�af�aq�aq�sx�tG�tG�'H�	I�����)�)�/�/��8�����)�)�/�/��8rBc�f�Gd�dt�}d}t|dddd�t|dd	d
d�|jt|�|dz�|jt	|�d
d|j
|jg�|j|j
jd�|j|j
jd�|j|j
jd�|j|j
jd�|j|jjd	�|j|jjd�|j|jjd
�|j|jjd�y)Nc��eZdZd�ZdZdZdZy)�;TestExtendEnumV3.test_extend_multi_init.<locals>.HTTPStatusc�\�tj||�}||_||_||_|Sr��r�r��_value_�phrase�description�r�r�r�r�r�s     rCr�zCTestExtendEnumV3.test_extend_multi_init.<locals>.HTTPStatus.__new__K�,���k�k�#�u�-��#���#��
�"-����
rB��d�Continuez!Request received, please continue��ezSwitching Protocolsz.Switching to new protocol; obey Upgrade header��f�
Processingr�N�r:r;r<r��CONTINUE�SWITCHING_PROTOCOLS�
PROCESSINGrArBrC�
HTTPStatusr~J���
�L�H�"n��.�JrBr�r8�BAD_SPAM��
Too greasy�for a train�BAD_EGGS��	Too greenr�r7���)rrr�rRr�r�r�r�r�r�r��rjr��lengths   rC�test_extend_multi_initz'TestExtendEnumV3.test_extend_multi_initIs`��
	/��
	/����J�
�C��}�M��J�
�C��b�A�����Z��&��(�3�����Z� ���%��$�$�j�&9�&9�:�	�	
����,�,�2�2�C�8�����,�,�1�1�:�>�����,�,�3�3�\�B�����,�,�8�8�-�H�����,�,�2�2�C�8�����,�,�1�1�:�>�����,�,�3�3�[�A�����,�,�8�8�"�=rBc�J�Gd�dt�}t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��y)Nc��eZdZdZdZdZdZy)�0TestExtendEnumV3.test_extend_flag.<locals>.Colorr)rr7r9N�r:r;r<r�r�r�r�rArBrCr�r�g����E��C��E��DrBr��MAGENTArx�PURPLEr�)	rrrzr�r|r�r�r�r{r�s  rC�test_extend_flagz!TestExtendEnumV3.test_extend_flagfs���	�D�	�
	�E�9�%�����a��E�M�M�1�2����
�5�=�=�%�8�9�������,�,�a�0��E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�$�/�0rBc���Gd�dt�}t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|d�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�|jt|�d	�y)
Nc��eZdZdZdZdZdZy)�:TestExtendEnumV3.test_extend_flag_backwards.<locals>.Colorr)rr7r9Nr�rArBrCr�r�wr�rBr�r�r�r�rxr6�rM)rrrzr�r|r�r�r{r�r6r�rRr�s  rC�test_extend_flag_backwardsz+TestExtendEnumV3.test_extend_flag_backwardsvsd��	�D�	�
	�E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�$�/�0��E�9�%�����a��E�M�M�1�2����
�5�=�=�%�8�9�������,�,�a�0��E�7�#�������)�)�7�3�������*�*�B�/�������u�,�-�����r��E�K�K�0�����w�����5�����U��Q�'rBc���Gd�dt�}t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��t|d�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�|jt|�d	�y)
Nc��eZdZdZdZdZdZy)�3TestExtendEnumV3.test_extend_intflag.<locals>.Colorr)rr7r9Nr�rArBrCr�r��r�rBr�r�rxr�r�r6r�rM)
rrrzr�r|r�r�r�r{rr6r�rRr�s  rC�test_extend_intflagz$TestExtendEnumV3.test_extend_intflag�sd��	�G�	�
	�E�9�%�����a��E�M�M�1�2����
�5�=�=�%�8�9�������,�,�a�0��E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�$�/�0��E�7�#�������)�)�7�3�������*�*�B�/�������u�,�-�����r��E�K�K�0�����w�����5�����U��Q�'rBc���Gd�dt�}t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|d�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�|jt|�d	�y)
Nc��eZdZdZdZdZdZy)�=TestExtendEnumV3.test_extend_intflag_backwards.<locals>.Colorr)rr7r9Nr�rArBrCr�r��r�rBr�r�r�r�rxr6r�rM)
rrrzr�r|r�r�r{rr�r6r�rRr�s  rC�test_extend_intflag_backwardsz.TestExtendEnumV3.test_extend_intflag_backwards�sd��	�G�	�
	�E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�$�/�0��E�9�%�����a��E�M�M�1�2����
�5�=�=�%�8�9�������,�,�a�0��E�7�#�������)�)�7�3�������*�*�B�/�������u�,�-�����r��E�K�K�0�����w�����5�����U��Q�'rBc��Gd�dt�}t|d�|j|jjd�|j|jj
d�|jt
|�d�y)Nc�6�eZdZe�Ze�Ze�Zy)�3TestExtendEnumV3.test_extend_strenum.<locals>.ColorN�r:r;r<rr�r�r�rArBrCr�r������&�C��F�E��6�DrBr�r�r�r9�rrr�r�r�r�rRr�s  rC�test_extend_strenumz$TestExtendEnumV3.test_extend_strenum�sb��	�G�	�	�E�7�#�������)�)�7�3�������*�*�G�4�����U��Q�'rBzStdlib Enum not availablec��Gd�dt�}|jt|jdd�d�t	|dd�|j|j
jd�|j|j
jd�|j|j
|v�|j|d�|j
�|j|d|j
�|jt|�d�y)Nc��eZdZdZdZdZy)�7TestExtendEnumV3.test_extend_enum_stdlib.<locals>.Colorrr7r8Nr�rArBrCr�r��rrBr��_values_rr9)
rr�rvr�rrr�r�rzrRr�s  rC�test_extend_enum_stdlibz(TestExtendEnumV3.test_extend_enum_stdlib�s���	�J�	�	
�������J��=�t�D��E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'rBc��Gd�dt�}|jtdt|dd�t|dd�|j	|j
jd�|j	|j
jd�|j|j
|v�|j	|d�|j
�|j	|d|j
�|j	t|�d�|j	t|�|j|j|j|j
g�|j	|D�cgc]}|j��c}gd��t|d	�|j	|jjd	�|j	|jjd�|j|j|v�|j	|d�|j�|j	|d	|j�|j	t|�d�ycc}w)
Nc��eZdZdZdZdZy)�=TestExtendEnumV3.test_extend_enum_plain_stdlib.<locals>.Colorrr7r8Nr�rArBrCr�r��rrBr�zalready in use asr�rMrr9)rr7r8r9r6)rr�r�rr�rr�r�rzrRr�r�r�r�r6)rjr�rs   rC�test_extend_enum_plain_stdlibz.TestExtendEnumV3.test_extend_enum_plain_stdlib�s���	�J�	�	
���y�*=�{�E�SY�[\�]��E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'�����e��u�y�y�%�+�+�u�z�z�5�;�;�&W�X����5�1�5�a�!�'�'�5�1�<�@��E�7�#�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'��2s�Ic���Gd�dt�}t|dd�|j|jjd�|j|jj
d�|j
|j|v�|j|d�|j�|j|d|j�|jt|�d�y)Nc��eZdZdZdZdZy)�=TestExtendEnumV3.test_extend_enum_alias_stdlib.<locals>.Colorrr7r8Nr�rArBrCr�r��rrBr�rJrr�r8)	rrr�rJr�r�rzr�rRr�s  rC�test_extend_enum_alias_stdlibz.TestExtendEnumV3.test_extend_enum_alias_stdlib�s���	�J�	�	�E�6�1�%���������%�0�������)�)�1�-�����
�
�e�+�,�����q��5�:�:�.�����v���	�	�2�����U��Q�'rBc��Gd�dt�}t|dd�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�|jt
|�d�|j|jjd�y)Nc��eZdZdZdZdZy)�GTestExtendEnumV3.test_extend_enum_shadow_property_stdlib.<locals>.Colorrr7r8Nr�rArBrCr�r�rrBr�r�r9r)rrr�r�r�rzrRr�r�s  rC�'test_extend_enum_shadow_property_stdlibz8TestExtendEnumV3.test_extend_enum_shadow_property_stdlibs���	�J�	�	�E�7�A�&�������)�)�7�3�������*�*�A�.�������u�,�-�����q��5�;�;�/�����w�����5�����U��Q�'���������!�,rBc�,�Gd�dt�}Gd�d|t�}|jtdt|dd�|jt
|�d�|jt|�|j|j|jg�y)	Nc��eZdZd�Zy)�CTestExtendEnumV3.test_extend_enum_shadow_base_stdlib.<locals>.hohumc��|jSrGr�r�s rCr�zHTestExtendEnumV3.test_extend_enum_shadow_base_stdlib.<locals>.hohum.cyanrHrBNrIrArBrCrJr�rKrBrJc��eZdZdZdZdZy)�CTestExtendEnumV3.test_extend_enum_shadow_base_stdlib.<locals>.Colorrr7r8Nr�rArBrCr�r�rrBr�rNr�r9r8)r�rr�r�rr�rRr�r�r�r�rOs   rC�#test_extend_enum_shadow_base_stdlibz4TestExtendEnumV3.test_extend_enum_shadow_base_stdlibsu��	"�F�	"�	�E�:�	�	
���y�*I�;�X]�_e�gh�i�����U��Q�'�����e��u�y�y�%�+�+�u�z�z�&J�KrBzStdlib IntEnum not availablec���Gd�dt�}dD]\}}t|||��|jt|�d�|jt	|�|j
|j|j|j|jg�|j|j
jd�|j|jjd�y)Nc��eZdZdZdZy)�:TestExtendEnumV3.test_extend_intenum_stdlib.<locals>.IndexrnroNrprArBrCrsr� rtrBrsrurMrnrx)rrr�rRr�rqrrrvrwryr�rzs    rC�test_extend_intenum_stdlibz+TestExtendEnumV3.test_extend_intenum_stdlibs���	#�M�	#��K�D�%�

��t�U�+��	
����U��Q�'�����e��u�'7�'7��9L�9L�e�N_�N_�af�aq�aq�sx�tG�tG�'H�	I�����)�)�/�/��8�����)�)�/�/��8rBc�f�Gd�dt�}d}t|dddd�t|dd	d
d�|jt|�|dz�|jt	|�d
d|j
|jg�|j|j
jd�|j|j
jd�|j|j
jd�|j|j
jd�|j|jjd	�|j|jjd�|j|jjd
�|j|jjd�y)Nc��eZdZd�ZdZdZdZy)�BTestExtendEnumV3.test_extend_multi_init_stdlib.<locals>.HTTPStatusc�\�tj||�}||_||_||_|Sr�r�r�s     rCr�zJTestExtendEnumV3.test_extend_multi_init_stdlib.<locals>.HTTPStatus.__new__3r�rBr�r�r�Nr�rArBrCr�r�2r�rBr�r8r�r�r�r�r�r�r�r�r7r�)rrr�rRr�r�r�r�r�r�r�r�s   rC�test_extend_multi_init_stdlibz.TestExtendEnumV3.test_extend_multi_init_stdlib0s`��
	/��
	/����J�
�C��}�M��J�
�C��b�A�����Z��&��(�3�����Z� ���%��$�$�j�&9�&9�:�	�	
����,�,�2�2�C�8�����,�,�1�1�:�>�����,�,�3�3�\�B�����,�,�8�8�-�H�����,�,�2�2�C�8�����,�,�1�1�:�>�����,�,�3�3�[�A�����,�,�8�8�"�=rBzStdlib Flag not availablec�J�Gd�dt�}t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��y)Nc��eZdZdZdZdZdZy)�7TestExtendEnumV3.test_extend_flag_stdlib.<locals>.Colorr)rr7r9Nr�rArBrCr�r�Pr�rBr�r�rxr�r�)	rrrzr�r|r�r�r�r{r�s  rC�test_extend_flag_stdlibz(TestExtendEnumV3.test_extend_flag_stdlibNs���	�J�	�
	�E�9�%�����a��E�M�M�1�2����
�5�=�=�%�8�9�������,�,�a�0��E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�*�5�6rBc��Gd�dt�}t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|d�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�y)	Nc��eZdZdZdZdZdZy��ATestExtendEnumV3.test_extend_flag_backwards_stdlib.<locals>.Colorr)rr7r9Nr�rArBrCr�r�ar�rBr�r�r�r�r�r6� �rrrzr�r|r�r�r{r�r6r�r�s  rC�!test_extend_flag_backwards_stdlibz2TestExtendEnumV3.test_extend_flag_backwards_stdlib_sP��	�J�	�
	�E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�*�5�6��E�9�%�����b�	�U�]�]�2�3����
�5�=�=�%�8�9�������,�,�R�0��E�7�#�������)�)�7�3�������*�*�B�/�������u�,�-�����r��E�K�K�0�����w�����5rBc��Gd�dt�}t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|d�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�y)	Nc��eZdZdZdZdZdZyr�r�rArBrCr�zATestExtendEnumV3.test_extend_flag_backwards_stdlib.<locals>.Colorzr�rBr�r�r�r�rxr6r�r�r�s  rCr�z2TestExtendEnumV3.test_extend_flag_backwards_stdlibxsP��	�J�	�
	�E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�*�5�6��E�9�%�����a��E�M�M�1�2����
�5�=�=�%�8�9�������,�,�Q�/��E�7�#�������)�)�7�3�������*�*�B�/�������u�,�-�����r��E�K�K�0�����w�����5rBzStdlib IntFlag not availablec��Gd�dt�}t|d�|j|d�|ju�|jt	|j|��|j|jjd�t|dd�|j|d�|ju�|jt	|j|��|j|jjd�|jt|t��t|d�|j|jjd�|j|jjd�|j|j|v�|j|d�|j�|j|d|j�y)	Nc��eZdZdZdZdZdZy)�:TestExtendEnumV3.test_extend_intflag_stdlib.<locals>.Colorr)rr7r9Nr�rArBrCr�r��r�rBr�r�rxr�r�r6r�)rrrzr�r|r�r�r�r{rr6r�r�s  rC�test_extend_intflag_stdlibz+TestExtendEnumV3.test_extend_intflag_stdlib�sP��	�M�	�
	�E�9�%�����a��E�M�M�1�2����
�5�=�=�%�8�9�������,�,�a�0��E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�*�5�6��E�7�#�������)�)�7�3�������*�*�B�/�������u�,�-�����r��E�K�K�0�����w�����5rBc�4�Gd�dt�}ttk\rd}d}d}nd}d}d}t|dd	�|j	|d	�|j
u�|j	t
|j
|��|j|j
jd	�|j	t|t��t|d
�|j	||�|ju�|j	t
|j|��|j|jj|�t|d�|j|jjd�|j|jj|�|j	|j|v�|j||�|j�|j|d|j�|jt|�|t|��y)Nc��eZdZdZdZdZdZy)�DTestExtendEnumV3.test_extend_intflag_backwards_stdlib.<locals>.Colorr)rr7r9Nr�rArBrCr�r��r�rBr�rMrxr�r�r�r�r�r�r6)rr r&rrzr�r|r�r�r{rr�r6r�rRr�)rjr�r�r�r6s     rC�$test_extend_intflag_backwards_stdlibz5TestExtendEnumV3.test_extend_intflag_backwards_stdlib�s���	�M�	�
�F�?��F��G��E��F��G��E��E�8�R�(�����b�	�U�\�\�1�2����
�5�<�<��7�8�������+�+�R�0����
�5�*�5�6��E�9�%�����g��%�-�-�7�8����
�5�=�=�%�8�9�������,�,�g�6��E�7�#�������)�)�7�3�������*�*�E�2�������u�,�-�����u��u�{�{�3�����w�����5�����U��V�T�%�[�9rBzStdlib StrEnum not availablec��Gd�dt�}t|d�|j|jjd�|j|jj
d�|jt
|�d�y)Nc�6�eZdZe�Ze�Ze�Zy)�:TestExtendEnumV3.test_extend_strenum_stdlib.<locals>.ColorNr�rArBrCr�r��r�rBr�r�r�r9r�r�s  rC�test_extend_strenum_stdlibz+TestExtendEnumV3.test_extend_strenum_stdlib�sb��	�G�	�	�E�7�#�������)�)�7�3�������*�*�G�4�����U��Q�'rBN)'r:r;r<rr:r>rBrPrYr]rjr{r�r�r�r�r�r�rrrr�r�r�r�r�rr�r�rr�r r&r�rr�r�rr�rArBrCr2r2�sF��(�.(�'(�T-�L�s� (�86�9�">�:1� (�2(�0(�2(��X����%@�A�(�B�(��X����%@�A�(�B�(�2�X����%@�A�(�B�(��X����%@�A�-�B�-��X����%@�A�L�B�L��X����(F�G�9�H�9�"�X����(F�G�>�H�>�:�X����%@�A�7�B�7� �X����6����8S�T�6�U�6�0�X����7����9T�U�6�V�6�0�X����(F�G�6�H�6�.�X����(F�G� :�H� :�D�X����(F�G�(�H�(rBr2�__main__zD'test_v3.py' should not be run by itself; it's included in 'test.py')Er�rrrrrrr	r
rrr
rrrrrrrrrrrrr�rrrrrrr r!r"r#r$r%r&r'r(�collectionsr*rir+�pickler,r-r.r/rr0r1r��sys�tempfiler�r
�ImportError�SyntaxErrorr�r��RuntimeErrorr3rr\ryrr2r:rArBrC�<module>r�s��a�a�a�V�V�V�Y�Y�Y�f�f�>�>�>�?�#��@�@�#�	�
������"��
g0��g0�Ty�(�y�x5B�x�5B�re.��e.�N.9�8�.9�`A	(�x�A	(�H�z��
�]�
^�^���G>	�[�!���I���
�"�!�N�"�s$�C1�D�1	C=�<C=�D
�	D

Back to Directory File Manager