
    z%i-                    N   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Zd dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZm Z m!Z!m"Z"m#Z# d dlm$Z$m%Z%m&Z& d dl'm(Z( d d	l)m*Z*m+Z+m,Z,m-Z- d d
l.m/Z/ d dl0m1Z1 d dl0m2Z2 d dlm3Z3 ejh                  dd Z5d Z6e7Z8e8js                  d      d   Z:	  G d de      Z;	  G d de>e      Z?	  G d de@e      ZA	  G d de      ZB G d de      ZC G d de      ZD G d de      ZE G d  d!e      ZF	  ed"d#e7$      ZG	  ed%d&      ZH	  ed'd(d)*      ZI	  G d+ d,e      ZJdd-ZKd. ZL G d/ d0ej                        ZN G d1 d2      ZOej                   G d3 d4eej8                  5             ZQej                   G d6 d7eej4                  5             ZRej                   G d8 d9e             ZS G d: d;      ZT G d< d=      ZU G d> d?      ZV G d@ dA      ZW G dB dC      ZX G dD dEeTeUej                        ZY G dF dGeTeUej                        ZZ G dH dIeTeUeXej                        Z[ G dJ dKeTeUeXej                        Z\ G dL dMeTeWej                        Z] G dN dOeTeWej                        Z^ G dP dQeTeWej                        Z_ G dR dSeTeWej                        Z` G dT dUeTeWeXej                        Za G dV dWeTeWeXej                        Zb G dX dYeTeVej                        Zc G dZ d[eTeVej                        Zd G d\ d]eTeVej                        Ze G d^ d_eTeVej                        Zf G d` daeTeVeXej                        Zg G db dceTeVeXej                        Zh G dd deeTeVej                        Zi G df dgeTeVej                        Zj G dh dieTeWej                        Zk G dj dkeTeWej                        Zl G dl dmeTeVej                        Zm G dn doeTeVej                        Zn G dp dqeTeWej                        Zo G dr dseTeWej                        Zp G dt duej                        Zq G dv dwej                        Zr G dx dyej                        Zs G dz d{ej                        Zt G d| d}ej                        Zu G d~ dej                        Zv G d dej                        Zw G d dej                        Zx G d dej                        ZydZzdZ{ G d dej                        Z| G d dej                        Z}dZ~dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ G d dej                        Zd Zd Ze7dk(  r ej*                          yy# e<$ rZ=e=Z;Y dZ=[=dZ=[=ww xY w# e<$ rZ=e=Z?Y dZ=[=dZ=[=ww xY w# e<$ rZ=e=ZAY dZ=[=dZ=[=ww xY w# e<$ rZ=e=ZBY dZ=[=dZ=[=ww xY w# e<$ rZ=e=ZGY dZ=[=dZ=[=ww xY w# e<$ rZ=e=ZHY dZ=[=dZ=[=ww xY w# e<$ rZ=e=ZIY dZ=[=dZ=[=ww xY w# e<$ r Y w xY w)    N)OrderedDictdate)	EnumEnumMetaIntEnumStrEnumEnumTypeFlagIntFlaguniqueauto)STRICTCONFORMEJECTKEEP_simple_enum_test_simple_enum)verifyUNIQUE
CONTINUOUSNAMED_FLAGSReprEnum)member	nonmember_iter_bits_lsb)StringIO)dumpsloadsPicklingErrorHIGHEST_PROTOCOL)support)	ALWAYS_EQ)threading_helper)	timedelta   c                    |j                  t        j                  t                     t        j
                  j                  d      rE|j                  t        j                  dt        j                  t        j                  z               t        j
                  j                  d      rE|j                  t        j                  dt        j                  t        j                  z               |S )NzDoc/library/enum.rstz../../Doc/library/enum.rst)optionflagszDoc/howto/enum.rstz../../Doc/howto/enum.rst)
addTestsdoctestDocTestSuiteenumospathexistsDocFileSuiteELLIPSISNORMALIZE_WHITESPACE)loadertestsignores      B/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/test_enum.py
load_testsr7      s    	NN7''-.	ww~~,-w++,#,,W-I-II 	 
ww~~*+w++*#,,W-I-II 	 L    .c                       e Zd ZdZdZdZy)Stooges   r&      N__name__
__module____qualname__LARRYCURLYMOE r8   r6   r<   r<   .       r8   r<   c                       e Zd ZdZdZdZy)
IntStoogesr=   r&   r>   Nr?   rF   r8   r6   rI   rI   6   rG   r8   rI   c                       e Zd ZdZdZdZy)FloatStoogesg=
ףp=?g(\@gR$_	$	@Nr?   rF   r8   r6   rK   rK   >   s    r8   rK   c                       e Zd ZdZdZdZdZy)FlagStoogesr=   r&        Nr@   rA   rB   rC   rD   rE   BIGrF   r8   r6   rM   rM   F   s    r8   rM   c                        e Zd ZdZdZdZdZdZy)FlagStoogesWithZeror   r=   r&   rN   rO   Nr@   rA   rB   NOFLAGrC   rD   rE   rQ   rF   r8   r6   rS   rS   N       FEE
C
Cr8   rS   c                       e Zd ZdZdZdZdZy)IntFlagStoogesr=   r&   rN   rO   NrP   rF   r8   r6   rX   rX   U   s    EE
C
Cr8   rX   c                        e Zd ZdZdZdZdZdZy)IntFlagStoogesWithZeror   r=   r&   rN   rO   NrT   rF   r8   r6   rZ   rZ   [   rV   r8   rZ   c                       e Zd ZdZdZy)NameGuido van RossumzBarry WarsawN)r@   rA   rB   BDFLFLUFLrF   r8   r6   r\   r\   c   s    DEr8   r\   Questionzwho what when where whymoduleAnswerzhim this then there becauseTheoryzrule law suppositionspanish_inquisition)qualnamec                       e Zd ZdZdZdZy)Fruitr=   r&   r>   N)r@   rA   rB   TOMATOBANANACHERRYrF   r8   r6   rh   rh   x   s    r8   rh   c           	      t    ||}t        t        dz         D ]  } | t        t        ||            |       ! y Nr=   )protocol)ranger!   r   r   )	assertionsourcetargetrn   s       r6   test_pickle_dump_loadrs      s>    ~*Q./ C%fx896BCr8   c                     t        t        dz         D ]   } | |      5  t        ||       d d d        " y # 1 sw Y   -xY wrm   )ro   r!   r   )rp   	exceptionobjrn   s       r6   test_pickle_exceptionrw      sH    *Q./ *y! 	*#)	* 	**	* 	*s	   7A 	c                   >    e Zd ZdZdZdZdZdZd Zd Z	d Z
d	 Zd
 Zy)TestHelpers_bad__good_	_what_ho___mal____bien____que_que___MyEnum__private_MyEnum__still_private_MyEnum__private__MyEnum__also_private_okay_semi_private_weird__	_MyEnum__c                      G d d      }dD ]^  } |       }| j                  t        j                  |             t        ||d       | j	                  t        j                  |             ` y )Nc                       e Zd Zy)+TestHelpers.test_is_descriptor.<locals>.fooNr@   rA   rB   rF   r8   r6   foor          r8   r   )__get____set__
__delete__r=   )assertFalser,   _is_descriptorsetattr
assertTrue)selfr   attrrv   s       r6   test_is_descriptorzTestHelpers.test_is_descriptor   s^    	 	6 	6D%CT0056Cq!OOD//45		6r8   c                    | j                   | j                  z   D ]*  }| j                  t        j                  |      d|z         , | j
                  | j                  z   | j                  z   D ]*  }| j                  t        j                  |      d|z         , dD ]&  }| j                  t        j                  |             ( dD ]&  }| j                  t        j                  |             ( y )N%r is a not sunder name?%r is a sunder name?)_a__aa_)aa__a__aa____a___a____a________________	sunder_namesprivate_and_sunder_namesr   r,   
_is_sunderdunder_namesprivate_namesrandom_namesr   r   namess      r6   test_sunderzTestHelpers.test_sunder   s    %%(E(EE 	VDOODOOD13MPT3TU	V%%(:(::T=N=NN 	SDT__T24JT4QR	S  	0AOODOOA./	0/ 	1AT__Q/0	1r8   c                    | j                   D ]*  }| j                  t        j                  |      d|z         , | j                  | j
                  z   | j                  z   | j                  z   D ]*  }| j                  t        j                  |      d|z         , dD ]&  }| j                  t        j                  |             ( dD ]&  }| j                  t        j                  |             ( y )N%r is a not dunder name?%r is a dunder name?)r   __aa__)r   r   r   r   r   r   r   r   r   r   r   r   r   	r   r   r,   
_is_dunderr   r   r   r   r   r   s      r6   test_dunderzTestHelpers.test_dunder   s    %% 	VDOODOOD13MPT3TU	V%%(:(::T=Z=ZZ]a]n]nn 	SDT__T24JT4QR	S$ 	0AOODOOA./	0/ 	1AT__Q/0	1r8   c                 .   | j                   | j                  z   D ](  }| j                  t        j                  d|      d       * | j
                  | j                  z   | j                  z   D ](  }| j                  t        j                  d|      d       * y NMyEnumz%r is a not private name?z%r is a private name?	r   r   r   r,   _is_privater   r   r   r   r   r   s     r6   test_is_privatezTestHelpers.test_is_private       &&)F)FF 	[DOOD,,Xt<>YZ	[%%(9(99D<M<MM 	XDT--h=?VW	Xr8   c                     | j                  t        t        d            g d       | j                  t        dt        t        d             y )N   r=   r&   rN   z-8 is not a positive integer)assertEquallistr   assertRaisesRegex
ValueErrorr   s    r6   test_iter_bits_lsbzTestHelpers.test_iter_bits_lsb   s8    nQ/0)<z+I4Q_`bQcdr8   N)r@   rA   rB   r   r   r   r   r   r   r   r   r   r   rF   r8   r6   ry   ry      s9     2L7L@MLCL6	1	1Xer8   ry   c                       e Zd ZddZd Zy)classpropertyNc                 \    || _         || _        || _        |||j                  }|| _        y N)fgetfsetfdel__doc__)r   r   r   r   docs        r6   __init__zclassproperty.__init__   s1    			;4+,,Cr8   c                 $    | j                  |      S r   )r   )r   instance
ownerclasss      r6   r   zclassproperty.__get__   s    yy$$r8   )NNNN)r@   rA   rB   r   r   rF   r8   r6   r   r      s    %r8   r   c                   :    e Zd ZdZ e       Z e       Z e       Zy)HeadlightsKr   N)r@   rA   rB   OFF_Kr   
LOW_BEAM_KHIGH_BEAM_KFOG_KrF   r8   r6   r   r          EJ&KFEr8   r   boundaryc                   :    e Zd ZdZ e       Z e       Z e       Zy)HeadlightsCr   N)r@   rA   rB   OFF_Cr   
LOW_BEAM_CHIGH_BEAM_CFOG_CrF   r8   r6   r   r      r   r8   r   c                       e Zd ZdZdZy)NoNamer=   r&   Nr@   rA   rB   ONETWOrF   r8   r6   r   r      s    
C
Cr8   r   c                       e 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 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 Z!d  Z"d! Z#d" Z$y)#
_EnumTestsNc           	           j                   j                  dd  dk(  r G d d j                        } G  fdd|      }| _         G d d j                        }| _         G d	 d
 j                        }| _         G d d j                        }| _         G d d j                        }| _         G d d|      }| _         G d d j                        }| _	         G d d j                        }	|	 _
        d _        g d _        t        |t              r j                   _        nk|j                   t"        u r
g d _        nOt         j                  t$              rg d _        d _         |d       _        n j                  xs g d _        t)         dd      s j                   _        y y  j                   j                  dd  dk(  rHt,        j.                  d        }
 j                  dd |
i      }t1               }
t1               }t1               }t         j                  t$              rd!}n|} |dt3        |
|||"            x _        }d# }t1               }
 j                  dd |
fd$|ff       _        d% }t1               }
 j                  d
d |
fd&|fg       _        d' }d( }t1               }
 j                  dt3        |
||)             _        d* }d+ } j                  dt3        ||,             _         j                  dd        _        d- } j                  dd.|i       _	        t4        d/        } j                  dd.|i       _
        d _        g d _        t        |t              r j                   _        nk|j                   t"        u r
g d _        nOt         j                  t$              rg d _        d _         |d       _        n j                  xs g d _        t)         dd      s j                   _        y y t7        d0 j                   j                  z        )1NClassc                   0    e Zd Zej                  d        Zy)"_EnumTests.setUp.<locals>.BaseEnumc                      d| j                   z  S Nz%s is first!r   r   s    r6   firstz(_EnumTests.setUp.<locals>.BaseEnum.first   s    )DII55r8   N)r@   rA   rB   r,   propertyr   rF   r8   r6   BaseEnumr      s    6 6r8   r   c                   j    e Zd Z e       Z e       Z e       Z eW  j                  e	      rdZ
yeZ
y)"_EnumTests.setUp.<locals>.MainEnumr>   N)r@   rA   rB   r   r   secondthird
issubclass	enum_typer   duper   s   r6   MainEnumr     s0    dnnd3D Dr8   r  c                        e Zd Zd Z e       Zy)$_EnumTests.setUp.<locals>.NewStrEnumc                 6    | j                   j                         S r   r   upperr   s    r6   __str__z,_EnumTests.setUp.<locals>.NewStrEnum.__str__       99??,,r8   N)r@   rA   rB   r  r   r   rF   r8   r6   
NewStrEnumr
         -r8   r  c                        e Zd Zd Z e       Zy)'_EnumTests.setUp.<locals>.NewFormatEnumc                 6    | j                   j                         S r   r  r   specs     r6   
__format__z2_EnumTests.setUp.<locals>.NewFormatEnum.__format__  r  r8   N)r@   rA   rB   r  r   r   rF   r8   r6   NewFormatEnumr    r  r8   r  c                   &    e Zd Zd Zd Z e       Zy)*_EnumTests.setUp.<locals>.NewStrFormatEnumc                 6    | j                   j                         S r   r   titler   s    r6   r  z2_EnumTests.setUp.<locals>.NewStrFormatEnum.__str__  r  r8   c                 J    dj                  t        | j                              S N joinreversedr   r  s     r6   r  z5_EnumTests.setUp.<locals>.NewStrFormatEnum.__format__      778DII#677r8   N)r@   rA   rB   r  r  r   r   rF   r8   r6   NewStrFormatEnumr  
  s    -8r8   r%  c                       e Zd Zd Zd Zy)%_EnumTests.setUp.<locals>.NewBaseEnumc                 6    | j                   j                         S r   r  r   s    r6   r  z-_EnumTests.setUp.<locals>.NewBaseEnum.__str__  r  r8   c                 J    dj                  t        | j                              S r  r!  r  s     r6   r  z0_EnumTests.setUp.<locals>.NewBaseEnum.__format__  r$  r8   N)r@   rA   rB   r  r  rF   r8   r6   NewBaseEnumr'    s    -8r8   r*  c                       e Zd Z e       Zy)$_EnumTests.setUp.<locals>.NewSubEnumN)r@   rA   rB   r   r   rF   r8   r6   
NewSubEnumr,    s	    r8   r-  c                       e Zd Zd Zy)!_EnumTests.setUp.<locals>.LazyGNVc                      y r   rF   r   startlastvaluess       r6   _generate_next_value_z7_EnumTests.setUp.<locals>.LazyGNV._generate_next_value_  s    r8   Nr@   rA   rB   r5  rF   r8   r6   LazyGNVr/    s    r8   r7  c                       e Zd Zed        Zy)!_EnumTests.setUp.<locals>.BusyGNVc                      y r   rF   r1  s       r6   r5  z7_EnumTests.setUp.<locals>.BusyGNV._generate_next_value_"  s    r8   Nr@   rA   rB   staticmethodr5  rF   r8   r6   BusyGNVr9  !  s     r8   r=  F)r   r  r  )123r   T   r=   r&   r>   source_valuesr   Functionc                      d| j                   z  S r   r   r   s    r6   r   z_EnumTests.setUp.<locals>.first7  s    %		11r8   r   r>   )r   r  r  r  c                 6    | j                   j                         S r   r  r   s    r6   r  z!_EnumTests.setUp.<locals>.__str__E      yy((r8   r  c                 6    | j                   j                         S r   r  r  s     r6   r  z$_EnumTests.setUp.<locals>.__format__J  rG  r8   r  c                 6    | j                   j                         S r   r  r   s    r6   r  z!_EnumTests.setUp.<locals>.__str__O  rG  r8   c                 J    dj                  t        | j                              S r  r!  r  s     r6   r  z$_EnumTests.setUp.<locals>.__format__Q      wwx		233r8   )r   r  r  c                 6    | j                   j                         S r   r  r   s    r6   r  z!_EnumTests.setUp.<locals>.__str__V  rG  r8   c                 J    dj                  t        | j                              S r  r!  r  s     r6   r  z$_EnumTests.setUp.<locals>.__format__X  rK  r8   )r  r  c                      y r   rF   r1  s       r6   r5  z/_EnumTests.setUp.<locals>._generate_next_value_]      r8   r5  c                      y r   rF   r1  s       r6   r5  z/_EnumTests.setUp.<locals>._generate_next_value_a  s    r8   zunknown enum style: %r)	__class__r@   r  r  r  r  r%  r*  r-  r7  r=  is_flagnamesr  r	   r4  _member_type_strr   dupe2getattrrC  r,   r   r   dictr<  r   )r   r   r  r  r  r%  r*  r-  r7  r=  r   r  r  r  r  r  r5  s   `                r6   setUpz_EnumTests.setUp   s   >>""23'7264>> 6!8 ! %DMT^^  )DO  "/D4>>  %5D!8dnn 8
  +D[ (DO$..  #DL$..  #DL DL5DJ(G,"jj''3.-DNND1'#%a[
"kk6Y4%8%)[[" 9^^$$RS)Z7]]2 2~~j75/BHFEVFFE$..$/'/
DuU[chos<t'uuDMH)FE"nn\WUOYW^L_;`aDO)FE!%75/S_`jRkAl!mD)4FE$(NN3EtRWdnx  HA  %BD!)4#~~mTZah=ijD"..|WEDO>>)6MNc5deDL >>)6MNc5deDL DL5DJ(G,"jj''3.-DNND1'#%a[
"kk6Y4%8%)[[" 9 58O8OOPPr8   c                 x    | j                  |j                  |      |j                  |j                               y r   )r   formatvaluer   r  r   s      r6   assertFormatIsValuez_EnumTests.assertFormatIsValuex  s(    V,dkk&,,.GHr8   c                 v    | j                  |j                  |      |j                  t        |                   y r   )r   r[  rU  r]  s      r6   assertFormatIsStrz_EnumTests.assertFormatIsStr{  s(    V,dkk#f+.FGr8   c                     G d d| j                         }| j                  t        |d             |`| j	                  t        |d             | j                  t              5  |`d d d        | j                  t              5  |`d d d        | j                  t              5  |j                  `	d d d        y # 1 sw Y   TxY w# 1 sw Y   @xY w# 1 sw Y   y xY w)Nc                   <    e Zd Z e       Z e       Z e       Zd Zy)2_EnumTests.test_attribute_deletion.<locals>.Seasonc                      y r   rF   )clss    r6   spamz7_EnumTests.test_attribute_deletion.<locals>.Season.spam  rO  r8   N)r@   rA   rB   r   SPRINGSUMMERAUTUMNrf  rF   r8   r6   Seasonrc    s    VFVFVFr8   rj  rf  )
r  r   hasattrrf  r   assertRaisesAttributeErrorrg  DRYr   r   rj  s     r6   test_attribute_deletionz"_EnumTests.test_attribute_deletion~  s    	T^^ 	 	/0K01~. 		~. 	
	~. 	#"	# 	#		 		 		# 	#s$   #B9C#C9CCCc                     | j                  t        d      5   G d d| j                        }d d d        y # 1 sw Y   y xY w)Nzhas no members definedc                   "     e Zd Z fdZdZ xZS )/_EnumTests.test_bad_new_super.<locals>.BadSuperc                 (    t         |   | |      }|S r   super__new__)re  r\  rv   rQ  s      r6   rw  z7_EnumTests.test_bad_new_super.<locals>.BadSuper.__new__  s    '/#u5CJr8   r=   )r@   rA   rB   rw  failed__classcell__rQ  s   @r6   BadSuperrs    s     r8   r{  )r   	TypeErrorr  )r   r{  s     r6   test_bad_new_superz_EnumTests.test_bad_new_super  s;    ##( 	4>> 		 	 	s   6?c                 z   | j                   }| j                  ru| j                  t        |      d       | j                  t	        |      d       | j                  t        |      d       | j                   |d      | j                  u        nQ| j                  t        |      d       | j                  t	        |      d       | j                  t        |      d       | j                  t        |      |j                  |j                  |j                  g       | j                  |D cg c]  }|j                   c}| j                         | j                  |D cg c]  }|j                   c}| j                         | j                  |D cg c]  }|j                   c}g d       t!        || j                  d      D ]  \  }}| j#                  ||   |        t!        || j                  d      D ]  \  }}| j#                   ||      |        t%        |t&              r6| j                  |j(                   |d      cxu xr |d   u        y c        y |j*                  t        u r6| j                  |j(                   |d	      cxu xr |d   u        y c        y t%        |t,              r6| j                  |j(                   |d
      cxu xr |d   u        y c        y | j                  |j(                   || j                  d         cxu xr |d   u nc        y c c}w c c}w c c}w )Nz<flag 'MainEnum'>rA  z<enum 'MainEnum'>)zfirst is first!zsecond is first!zthird is first!Tstrictr  r  r@  r>   r&   )r  rR  r   reprrU  r[  r   rV  r   r   r  r  r   rS  r\  r4  zipassertIsr  r	   r  rT  r   )r   TEmr   r   r\  s         r6   test_basicsz_EnumTests.test_basics  s   ]]<<T"X':;SW&9:VBZ)<=OOBqETZZ/0T"X':;SW&9:VBZ)<=bBHHbii#BC!#$A$

	 	"$%Q%	 	"$%Q%J	  DJJt< 	,LFDMM"T(F+	, T[[> 	-MFEMM"U)V,	-b'"OOBGGr'{@bj@A@A$OOBGGr#w<"V*<=<=D!OOBGGr!u:6
:;:;OOBGGr$++a.'9GRZGH- % & &s   *L.L3L8c                      G d d| j                         }| j                  |       | j                  | j                         | j                  D ]  }| j                  |        y )Nc                       e Zd Zy)+_EnumTests.test_bool_is_true.<locals>.EmptyNr   rF   r8   r6   Emptyr    r   r8   r  )r  r   r  )r   r  r   s      r6   test_bool_is_truez_EnumTests.test_bool_is_true  sM    	DNN 	&mm 	$FOOF#	$r8   c                     | j                   }| j                  t              5  d| j                   _        d d d        y # 1 sw Y   y xY w)Nzreally first)r  rl  rm  r  )r   r  s     r6   test_changing_member_failsz%_EnumTests.test_changing_member_fails  s:    ==~. 	2#1DMM 	2 	2 	2s	   =Ac                      j                   } j                  |j                  |        j                   j                  d   |v        t               t        t        fvr j                  d|v        |j                  } j                  ||        G d dt              } j                  |j                  |       |j                  t        u rP G  fdd j                        } j                  |j                   |        j                  |j"                  |       y  G  fdd j                        } j                  |j                   |        j                  |j"                  |       y )	Nr   r   c                   (    e Zd Z e       Z e       Zy)._EnumTests.test_contains_tf.<locals>.OtherEnumN)r@   rA   rB   r   onetworF   r8   r6   	OtherEnumr    s    &C&Cr8   r  c                   N    e Zd ZW  j                  d   ZW  j                  d   Zy)1_EnumTests.test_contains_tf.<locals>.NotEqualEnumr   r=   Nr@   rA   rB   rC  thisthatr   s   r6   NotEqualEnumr    #    ))!,))!,r8   r  c                   N    e Zd ZW  j                  d   ZW  j                  d   Zy)._EnumTests.test_contains_tf.<locals>.EqualEnumr   r=   Nr  r   s   r6   	EqualEnumr    r  r8   r  )r  assertInr   r   r4  typeTestStrEnumClassTestStrEnumFunctionr   r  r   assertNotInr  rT  objectr  r  r  )r   r  valr  r  r  s   `     r6   test_contains_tfz_EnumTests.test_contains_tf  s   ==hnnh/A(23:.0CDDW01mmc8$	 	 	1!!V+-t~~ - \..9\..9-DNN - MM)..(3MM)..(3r8   c                    | j                   } G d dt              }| j                  |j                  |       | j                  |j                  |       | j                  |j
                  |       | j                  |j                  |       | j                  |j                  |       | j                  |j
                  |       | j                  |j                  |       | j                  |j                  |       | j                  |j
                  |       | j                  |j                  |       | j                  |j                  |       | j                  |j
                  |       y )Nc                       e Zd ZdZdZdZy)K_EnumTests.test_contains_same_name_diff_enum_diff_values.<locals>.OtherEnumbrandnewr4  Nr@   rA   rB   r   r  r  rF   r8   r6   r  r    s    EFEr8   r  )r  r   r  r   r  r  r  )r   r  r  s      r6   -test_contains_same_name_diff_enum_diff_valuesz8_EnumTests.test_contains_same_name_diff_enum_diff_values  s   ==	 	
 	hnnh/hoox0hnnh/3)43iooy1i&&	2iooy1(3))84(3r8   c                     | j                   }| j                  t        t        |            t        t	        |                   y r   )r  r   setdirenum_dirr   r  s     r6   test_dir_on_classz_EnumTests.test_dir_on_class  s,    ]]SWs8B<'89r8   c                     | j                   }| j                  t        t        |j                              t        t        |j                                     y r   )r  r   r  r  r   
member_dirr  s     r6   test_dir_on_itemz_EnumTests.test_dir_on_item  s6    ]]S]+SBHH1E-FGr8   c                      G d d| j                         }| j                  dt        |      v       | j                  dt        |j                        v        y )Nc                   .    e Zd Z e       Z e       Zd Zy)5_EnumTests.test_dir_with_added_behavior.<locals>.Testc                      d| j                   z  S )NzWowser! I'm %s!r   r   s    r6   wowserz<_EnumTests.test_dir_with_added_behavior.<locals>.Test.wowser  s    )DII56r8   N)r@   rA   rB   r   r  theser  rF   r8   r6   Testr    s    6DFE7r8   r  r  )r  r   r  r  )r   r  s     r6   test_dir_with_added_behaviorz'_EnumTests.test_dir_with_added_behavior  sB    	74>> 	7
 	D	12C		N23r8   c                      G d d| j                         } G d d|      }| j                  dt        |      v       | j                  dt        |j                        v        y )Nc                       e Zd Zd Zy)D_EnumTests.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnumc                      y)Nzdid you see me?rF   r   s    r6   	invisiblezN_EnumTests.test_dir_on_sub_with_behavior_on_super.<locals>.SuperEnum.invisible  s    (r8   N)r@   rA   rB   r  rF   r8   r6   	SuperEnumr    s    )r8   r  c                       e Zd Z e       Zy)B_EnumTests.test_dir_on_sub_with_behavior_on_super.<locals>.SubEnumN)r@   rA   rB   r   samplerF   r8   r6   SubEnumr    s	    VFr8   r  r  r  r   r  r  r   r  r  s      r6   &test_dir_on_sub_with_behavior_on_superz1_EnumTests.test_dir_on_sub_with_behavior_on_super  sM    	) 	)	i 	3w<78s7>>'::;r8   c                       G  fdd j                         } G  fdd|      } j                  dt        |      v        j                  dt        |j                        v t        |j                               y )Nc                       e Zd Z fdZy)\_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SuperEnumc                     j                   j                  j                  }j                   j                  t        u r	 ||       }n&t	        |d   t
              r|d   \  }n|} || g| }t        |      dk(  r|d   n||_        d|_        |S )Nr   r=   ztest description)	r  rT  rw  r  
isinstancetuplelen_value_description)re  r\  kwdsr  rv   create_valuer   s         r6   rw  zd_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SuperEnum.__new__!  s    nn22::>>//69c(C!%(E2(-a',c1L1C*-e*/eAhu"4
r8   Nr@   rA   rB   rw  r   s   r6   r  r     s    r8   r  c                   .    e Zd ZW  j                  d   Zy)Z_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super.<locals>.SubEnumr=   N)r@   rA   rB   rC  r  r   s   r6   r  r  .  s    ''*Fr8   r  r  r  r  s   `  r6   >test_dir_on_sub_with_behavior_including_instance_dict_on_superzI_EnumTests.test_dir_on_sub_with_behavior_including_instance_dict_on_super  sY    	 		+i 	+S\9:W^^)<<c'..>QRr8   c                 |    | j                  t        d      5  | j                  d       d d d        y # 1 sw Y   y xY w)Nz#<.... 'NewBaseEnum'> has no membersr   )r   r|  r*  r   s    r6   test_empty_enum_has_no_valuesz(_EnumTests.test_empty_enum_has_no_values3  s6    ##I/TU 	 Q	  	  	 s   2;c                 t    | j                   }| j                   ||j                        |j                         y r   )r  r  r   )r   Mains     r6   test_enum_in_enum_outz _EnumTests.test_enum_in_enum_out7  s&    }}d4::&

3r8   c                     | j                   }| j                  }| j                  t        |j                  d         t
        u        | j                  t        |j                  d         t
        u        y )Nr5  )r7  r=  r   r  __dict__r<  )r   lazybusys      r6   test_gnv_is_staticz_EnumTests.test_gnv_is_static;  sT    ||||T]]+BCDTUT]]+BCDTUr8   c                     | j                   }i }d||j                  <   d||j                  <   d||j                  <   | j	                  ||j                     d       y )N122503150704)r  r   r  r  r   )r   r  mappings      r6   	test_hashz_EnumTests.test_hashA  sS    =="(#) "(16:r8   c                 z   | j                  t              5   G d d| j                        }d d d        | j                  t              5   G d d| j                        }d d d        | j                  t              5   G d d| j                        }d d d        | j                  t              5   G d d| j                        }d d d        | j                  t              5   G d d| j                        }d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   axY w# 1 sw Y   y xY w)Nc                       e Zd ZdZy,_EnumTests.test_invalid_names.<locals>.Wrong	   N)r@   rA   rB   mrorF   r8   r6   Wrongr  K      r8   r  c                       e Zd ZdZy)r     N)r@   rA   rB   _create_rF   r8   r6   r  z,_EnumTests.test_invalid_names.<locals>.WrongN  s    r8   c                       e Zd ZdZyr  )r@   rA   rB   _get_mixins_rF   r8   r6   r  z,_EnumTests.test_invalid_names.<locals>.WrongQ  s     r8   c                       e Zd ZdZy)r  r=   N)r@   rA   rB   
_find_new_rF   r8   r6   r  z,_EnumTests.test_invalid_names.<locals>.WrongT      
r8   c                       e Zd ZdZyr  )r@   rA   rB   
_any_name_rF   r8   r6   r  z,_EnumTests.test_invalid_names.<locals>.WrongW  r  r8   )rl  r   r  r   r  s     r6   test_invalid_namesz_EnumTests.test_invalid_namesI  s   z* 	 	 z* 	 	 z* 	!! !	! z* 	 	 z* 	 	 		 		 		! 	!	 		 	s;   D	D<D/D%"D1D
DD"%D.1D:c                      	  G  fdd j                         } j                  t        |j                        d       y )Nc                   L    e Zd ZW  j                  d   Zd Zej                  Zy)4_EnumTests.test_object_str_override.<locals>.Genericr&   c                      | j                   dS )Nz.test_name_r   s    r6   __repr__z=_EnumTests.test_object_str_override.<locals>.Generic.__repr__^  s    $(KK22r8   N)r@   rA   rB   rC  itemr  r  r  r   s   r6   Genericr   \  s!    %%a(D3nnGr8   r  z	item.test)r  r   rU  r  r   r  s   ` r6   test_object_str_overridez#_EnumTests.test_object_str_overrideZ  s1    G	%dnn 	%
 	W\\*K8r8   c                 8   | j                   }| j                  t        |j                        |j                  j                  j                                | j                  t        |j                        |j                  j                  j                                y r   )r  r   rU  r   r   r  r[  )r   NSs     r6   test_overridden_strz_EnumTests.test_overridden_strc  s^    __RXX(;(;(=>)288==+>+>+@Ar8   c                 L   | j                   }| j                  t        |j                        |j                  j                  j                                | j                  t        |j                        dj                  t        |j                  j                                     y r  )	r%  r   rU  r   r   r  r[  r"  r#  )r   NSFs     r6   test_overridden_str_formatz%_EnumTests.test_overridden_str_formath  se    ##SYY)=)=)?@		*BGGHSYY^^4L,MNr8   c                 L   | j                   }| j                  t        |j                        |j                  j                  j                                | j                  t        |j                        dj                  t        |j                  j                                     y r  )	r-  r   rU  r   r   r  r[  r"  r#  )r   NSEs     r6   $test_overridden_str_format_inheritedz/_EnumTests.test_overridden_str_format_inheritedm  sc    ooSYY)=)=)?@		*BGGHSYY^^4L,MNr8   c                 ^   | j                  dd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  |j                  |j
                  |j                  g|       | j                  }| j                   t        u rg d}t        dj                         |      D ]  \  }}||   }| j                  |j                  |t        |             | j                  |j                  |       |j                  t        ur)t        ||j                        r| j                  ||       n| j!                  ||       | j#                  ||       | j%                  t'        |      |       | j%                  | ||              y )N	MinorEnumjune july augustr>   junejulyaugustr  r   r   r  r  r  r  r4  r	   r  splitr\  r   rT  r  r  assertNotEqualr  r  r  r   r  lstr4  monthaves          r6   !test_programmatic_function_stringz,_EnumTests.test_programmatic_function_stringr  sZ   NN;0BC	9oS3y>2YI61A1AB	 >>W$-F/557@ 
	,IE2% AQWWb$y/:QVVU+&&f4IyOfOf9g  B'##Ar*MM!Y'MM$q'9-MM!Yr]+
	,r8   c                 N   | j                  dg d      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  |j                  |j
                  |j                  g|       | j                  }| j                   t        u rg d}t        dj                         |      D ]  \  }}||   }| j                  |j                  |       | j                  |j                  |       |j                  t        ur)t        ||j                        r| j                  ||       n| j!                  ||       | j#                  ||       | j%                  t'        |      |       | j%                  | ||              y )Nr  r  r>   r  r  r  s          r6   &test_programmatic_function_string_listz1_EnumTests.test_programmatic_function_string_list  sT   NN;0JK	9oS3y>2YI61A1AB	 >>W$-F/557@ 
	,IE2% AQWWb)QVVU+&&f4IyOfOf9g  B'##Ar*MM!Y'MM$q'9-MM!Yr]+
	,r8   c                 z   | j                  dd| j                  d   fd| j                  d   fd| j                  d   ff      }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       | j                  |j
                  |j                  |j                  g|       t        d	j                         | j                        D ]  \  }}||   }| j                  |j                  |       | j                  |j                  |       |j                  t        ur)t        ||j                        r| j                  ||       n| j!                  ||       | j#                  ||       | j%                  t'        |      |       | j%                  | ||              y 
Nr  r  r   r  r=   r  r&   r>   r  )r  rC  r   r   r  r  r  r  r  r  r4  r\  r   rT  r  r  r  r  r  r  r   r  r  r  r  r   s         r6   #test_programmatic_function_iterablez._EnumTests.test_programmatic_function_iterable  s}   NN$,,Q/064;M;Ma;P2QT\^b^p^pqr^sStu	 9oS3y>2YI61A1AB	 /557E 
	,IE2% AQWWb)QVVU+&&f4IyOfOf9g  B'##Ar*MM!Y'MM$q'9-MM!Yr]+
	,r8   c           
         | j                  dt        d| j                  d   fd| j                  d   fd| j                  d   ff            }t        |      }| j	                  t        |      t        |             | j	                  t        |      d|       | j	                  |j                  |j                  |j                  g|       t        d	j                         | j                        D ]  \  }}||   }|j                  t        ur)t        ||j                        r| j	                  ||       n| j                  ||       | j!                  ||       | j#                  t%        |      |       | j#                  | ||              y r%  )r  r   rC  r   r   r  r  r  r  r  r  r4  rT  r  r  r  r  r  r  r&  s         r6   $test_programmatic_function_from_dictz/_EnumTests.test_programmatic_function_from_dict  se   NNfd&8&8&;<vtGYGYZ[G\>]`hjnj|j|}~j  `A  B  C	 9oS3y>2YI61A1AB	 /557E 	,IE2% A&&f4IyOfOf9g  B'##Ar*MM!Y'MM$q'9-MM!Yr]+	,r8   c           	         | j                   }| j                  rl| j                  t         |d            d       | j                  t        |j                        d       | j                  t        | j
                        d       nwt        |t              r&| j                  t        |j                        d       nA| j                  t        |j                        d| j                  d   d|j                         t        | j                  | j                  |d	
      D ]<  \  }}}| j                  t        |      d|j                  d|j                  d       > y )Nr   z<MainEnum: 0>z<MainEnum.dupe: 3>z<MainEnum.first|third: 5>z<MainEnum.third: 'third'>z<MainEnum.third: r&   >Tr  z
<MainEnum.z: )r  rR  r   r  r  rV  r  r	   r4  _value_repr_r  rS  r   r\  r   r  r   r\  r   s        r6   	test_reprz_EnumTests.test_repr  s    ]]<<T"Q%[/:T"''],@AT$**-/JKG$T"''],GHT"'']dkkRSn,WY[YhYhi#&tzz4;;4#P 	^D%T&\&++v||+\]	^r8   c                 x     G d d| j                         }| j                  t        |j                        d       y )Nc                   <    e Zd Z e       Z e       Z e       Zd Zy)._EnumTests.test_repr_override.<locals>.Genericc                      d| j                   z  S )Nz!don't you just love shades of %s?r   r   s    r6   r  z7_EnumTests.test_repr_override.<locals>.Generic.__repr__  s    :TYYFFr8   N)r@   rA   rB   r   r   r  r  r  rF   r8   r6   r  r1    s    FEVFFEGr8   r  z$don't you just love shades of third?)r  r   r  r  r  s     r6   test_repr_overridez_EnumTests.test_repr_override  s3    	Gdnn 	G 	W]]#6	r8   c                      G d d| j                         } G d d|      }| j                  t        |j                        d       y )Nc                       e Zd Zd Zy)._EnumTests.test_inherited_repr.<locals>.MyEnumc                      d| j                   z  S )NzMy name is %s.r   r   s    r6   r  z7_EnumTests.test_inherited_repr.<locals>.MyEnum.__repr__  s    '$))33r8   Nr@   rA   rB   r  rF   r8   r6   r   r6        4r8   r   c                   6    e Zd Z e       Z e       Z e       Zy)1_EnumTests.test_inherited_repr.<locals>.MySubEnumN)r@   rA   rB   r   r  r  theotherrF   r8   r6   	MySubEnumr;    s    6D6DvHr8   r=  zMy name is that.)r  r   r  r  )r   r   r=  s      r6   test_inherited_reprz_EnumTests.test_inherited_repr  s:    	4T^^ 	4	 	 	inn-/ABr8   c                      G d dt               } G d d|t              }| j                  t        |j                        d       y )Nc                       e Zd Zy)C_EnumTests.test_multiple_superclasses_repr.<locals>._EnumSuperClassNr   rF   r8   r6   _EnumSuperClassrA    r   r8   rB  	metaclassc                       e Zd ZdZy)5_EnumTests.test_multiple_superclasses_repr.<locals>.Er=   N)r@   rA   rB   ArF   r8   r6   ErF        Ar8   rH  z<E.A: 1>)r   r   r   r  rG  )r   rB  rH  s      r6   test_multiple_superclasses_reprz*_EnumTests.test_multiple_superclasses_repr  s4    	 		 	accJ/r8   c                     | j                  t        t        | j                              | j                  j                  | j                  j
                  | j                  j                  g       y r   )r   r   r#  r  r  r  r   r   s    r6   test_reversed_iteration_orderz(_EnumTests.test_reversed_iteration_order  sI    Xdmm,-$$dmm&:&:DMM<O<OP	r8   )%r@   rA   rB   r4  rY  r^  r`  rp  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.  r3  r>  rJ  rL  rF   r8   r6   r   r      s     FHQTIH#(	#IJ$2
4:4,:H4<S* 4V;"9B
O
O
,0,0,0,,^
C0r8   r   c                   $    e Zd Zd Zd Zd Zd Zy)_PlainOutputTestsc                    | j                   }| j                  rl| j                  t         |d            d       | j                  t        |j                        d       | j                  t        | j
                        d       n%| j                  t        |j                        d       t        | j                  | j                  |d      D ].  \  }}}| j                  t        |      d|j                         0 y )	Nr   zMainEnum(0)MainEnum.dupeMainEnum.first|thirdMainEnum.thirdTr  	MainEnum.
r  rR  r   rU  r  rV  r  rS  r4  r   r-  s        r6   test_strz_PlainOutputTests.test_str  s    ]]<<SAZ7S\?;S_.DES\+;<#&tzz4;;4#P 	KD%S[6;;*IJ	Kr8   c                    | j                   }| j                  rK| j                  t        |j                        d       | j                  t        | j
                        d       n%| j                  t        |j                        d       t        | j                  | j                  |d      D ].  \  }}}| j                  t        |      d|j                         0 y NrP  rQ  rR  Tr  rS  
r  rR  r   r[  r  rV  r  rS  r4  r   r-  s        r6   test_formatz_PlainOutputTests.test_format      ]]<<VBGG_o>VDJJ/1GHVBGG_.>?#&tzz4;;4#P 	ND%VF^fkk-LM	Nr8   c                     | j                   }| j                  t        |j                        d|j                  d|j                         | j                  t        |j                        d       y )NNewFormatEnum.first FIRST)r  r   rU  r   r  r[  r   NFs     r6   test_overridden_formatz(_PlainOutputTests.test_overridden_format  sQ    RXX(="**VXV^V^?_`)73r8   c                    | j                   }| j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         y N{}{:}{:20}{:^20}{:>20}{:<20}{:5.2})r  r`  r  r  s     r6   test_format_specsz#_PlainOutputTests.test_format_specs  s    ]]tRYY/ubii0w		2x3x3x3x3r8   Nr@   rA   rB   rU  rY  ra  rk  rF   r8   r6   rN  rN     s    	KN4
4r8   rN  c                   $    e Zd Zd Zd Zd Zd Zy)_MixedOutputTestsc                    | j                   }| j                  rK| j                  t        |j                        d       | j                  t        | j
                        d       n%| j                  t        |j                        d       t        | j                  | j                  |d      D ].  \  }}}| j                  t        |      d|j                         0 y rW  rT  r-  s        r6   rU  z_MixedOutputTests.test_str)  s    ]]<<S\?;S_.DES\+;<#&tzz4;;4#P 	KD%S[6;;*IJ	Kr8   c                    | j                   }| j                  rK| j                  t        |j                        d       | j                  t        | j
                        d       n%| j                  t        |j                        d       t        | j                  | j                  |d      D ].  \  }}}| j                  t        |      d|j                         0 y rW  rX  r-  s        r6   rY  z_MixedOutputTests.test_format3  rZ  r8   c                     | j                   }| j                  t        |j                        d       | j                  t	        |j                        d       y )Nr\  r^  )r  r   rU  r   r[  r_  s     r6   ra  z(_MixedOutputTests.test_overridden_format=  s?    RXX(=>)73r8   c                    | j                   }| j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         y rc  )r  r`  r   r  s     r6   rk  z#_MixedOutputTests.test_format_specsB  s    ]]tRXX.ubhh/w1x2x2x2x2r8   Nrl  rF   r8   r6   rn  rn  '  s    KN4
3r8   rn  c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)_MinimalOutputTestsc                    | j                   }| j                  rK| j                  t        |j                        d       | j                  t        | j
                        d       n;| j                  t        |j                        t        | j                  d                t        | j                  | j                  |d      D ]*  \  }}}| j                  t        |      t        |             , y Nr@  5r&   Tr  )	r  rR  r   rU  r  rV  r4  r  rS  r-  s        r6   rU  z_MinimalOutputTests.test_strO  s    ]]<<S\3/S_c2S\3t{{1~+>?#&tzz4;;4#P 	6D%S[#e*5	6r8   c                    | j                   }| j                  rK| j                  t        |j                        d       | j                  t        | j
                        d       n;| j                  t        |j                        t        | j                  d                t        | j                  | j                  |d      D ]*  \  }}}| j                  t        |      t        |             , y rv  )	r  rR  r   r[  r  rV  r4  r  rS  r-  s        r6   rY  z_MinimalOutputTests.test_formatY  s    ]]<<VBGG_c2VDJJ/5VBGG_fT[[^.DE#&tzz4;;4#P 	<D%VF^VE];	<r8   c                     | j                   }| j                  t        |j                        t        | j                  d                | j                  t        |j                        d       y )Nr   r^  )r  r   rU  r   r4  r[  r_  s     r6   ra  z*_MinimalOutputTests.test_overridden_formatc  sK    RXXDKKN(;<)73r8   c                 :   | j                   }| j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         | j                  d|j                         |j                  t        u rU| j                  d|j                         | j                  d|j                         | j                  d	|j                         y y )
Nrd  re  rf  rg  rh  ri  z{:n}rj  z{:f})r  r^  r  rT  floatr  s     r6   rk  z%_MinimalOutputTests.test_format_specsh  s    ]]  rxx0  1  "((3  2884  2884  2884u$$$VRXX6$$Xrxx8$$VRXX6 %r8   c                     | j                   }t        j                  |      }| j                  ||       | j                  ||       t        j                  |      }| j                  ||       | j                  ||       y r   )r  copyr   r  deepcopyr   r  copieddeeps       r6   	test_copyz_MinimalOutputTests.test_copyu  sb    ]]2$fb!}}R r"dBr8   c                    | j                   }t        j                  |j                        }| j                  ||j                         t        j                  |j                        }| j                  ||j                         y r   )r  r}  r   r  r~  r  s       r6   test_copy_memberz$_MinimalOutputTests.test_copy_member~  sS    ]]288$fbhh'}}RXX&dBHH%r8   N)	r@   rA   rB   rU  rY  ra  rk  r  r  rF   r8   r6   rt  rt  M  s     6<4
7 &r8   rt  c                       e Zd Zd Zd Zd Zy)
_FlagTestsc                     | j                  t        d      5 }| j                  d       d d d        | j                  j                  j
                  d        y # 1 sw Y   0xY w)Nz'RED' is not a valid RED)r   r   r  r  ru   __context__)r   ctxs     r6   *test_default_missing_with_wrong_type_valuez5_FlagTests.test_default_missing_with_wrong_type_value  sV    ### 	! MM% 		!
 	cmm//6	! 	!s   AA!c                 B    G d d| j                         }|\  }}|j                  }| j                  | |       | j                  | |       | j                  ||z    |d             | j                  |  |d             | j                   |d       ||z          G d d| j                         }|\  }}}|j                  }	| j                  | ||z         | j                  | ||z         | j                  | ||z         | j                  ||z   |       | j                  ||z   |       | j                  ||z   |       | j                  ||z  |z    |d             | j                  |	  |d             | j                   |d       ||z  |z         y )Nc                       e Zd ZdZdZdZy)<_FlagTests.test_closed_invert_expectations.<locals>.ClosedABr=   r&   r>   Nr@   rA   rB   rG  BMASKrF   r8   r6   ClosedABr    s    AADr8   r  r   c                       e Zd ZdZdZdZdZy)=_FlagTests.test_closed_invert_expectations.<locals>.ClosedXYZrN   r&   r=   r   Nr@   rA   rB   XYZr  rF   r8   r6   	ClosedXYZr    s    AAADr8   r  )r  r  r  )
r   r  rG  r  AB_MASKr  r  r  r  XYZ_MASKs
             r6   test_closed_invert_expectationsz*_FlagTests.test_closed_invert_expectations  st   	t~~ 	 1--qb!qb!!fhqk*wh,x{lQqS*	 	
 1a>>qb!A#qb!A#qb!A#!fa !fa !fa !Ah	!-xi1.y|mac!e-r8   c                     G d d| j                         }|\  }}|j                  }|j                  t        t        fv r| j                  |  |d             | j                  |  |d             | j                  ||z    |d             | j                  |  |d             | j                   |d       |       nw| j                  | |       | j                  | |       | j                  ||z    |d             | j                  |  |d             | j                   |d       ||z          G d d| j                         }|\  }}}|j                  }	|j                  t        t        fv r| j                  |  |d	             | j                  |  |d
             | j                  |  |d             | j                  ||z    |d             | j                  ||z    |d             | j                  ||z    |d             | j                  ||z  |z    |d             | j                  |	  |d             | j                   |d       |	       y | j                  | ||z         | j                  | ||z         | j                  | ||z         | j                  ||z   |       | j                  ||z   |       | j                  ||z   |       | j                  ||z  |z    |d             | j                  |	  |d             | j                   |d       ||z  |z         y )Nc                       e Zd ZdZdZdZy)8_FlagTests.test_open_invert_expectations.<locals>.OpenABr=   r&      Nr  rF   r8   r6   OpenABr    s    AADr8   r           r   c                       e Zd ZdZdZdZdZy)9_FlagTests.test_open_invert_expectations.<locals>.OpenXYZrN   r&   r=      Nr  rF   r8   r6   OpenXYZr    s    AAADr8   r                       )r  r  
_boundary_r   r   r  r   )
r   r  rG  r  r  r  r  r  r  r  s
             r6   test_open_invert_expectationsz(_FlagTests.test_open_invert_expectations  s   	T^^ 	 1++-MM1"fSk*MM1"fSk*MMAaC&&+.MM7(F1I.MM6!9*g.MM1"a MM1"a MMAaC&&),MM7(F1I.MM6!9*qs,	dnn 	
 1a<<%.MM1"gbk*MM1"gbk*MM1"gbk*MMAaC&'"+.MMAaC&'"+.MMAaC&'"+.MMAaCE(GBK0MM8)WQZ0OOWQZK2MM1"ac"MM1"ac"MM1"ac"MMAaC&!$MMAaC&!$MMAaC&!$MMAaCE(GAJ/MM8)WQZ0OOWQZK!A#a%1r8   N)r@   rA   rB   r  r  r  rF   r8   r6   r  r    s    7.@02r8   r  c                       e Zd ZeZy)TestPlainEnumClassNr@   rA   rB   r   r  rF   r8   r6   r  r        Ir8   r  c                       e Zd ZeZy)TestPlainEnumFunctionNr  rF   r8   r6   r  r    r  r8   r  c                       e Zd ZeZy)TestPlainFlagClassNr@   rA   rB   r   r  rF   r8   r6   r  r    r  r8   r  c                       e Zd ZeZy)TestPlainFlagFunctionNr  rF   r8   r6   r  r    r  r8   r  c                       e Zd ZeZd Zy)TestIntEnumClassc                      G d dt               }| j                  |j                  j                  d       | j	                  |j                  j                  |j                         y )Nc                       e Zd ZdZdZy)3TestIntEnumClass.test_shadowed_attr.<locals>.Numberr=   r&   N)r@   rA   rB   divisor	numeratorrF   r8   r6   Numberr    s    GIr8   r  r=   r   r   r  r  r  r   r  s     r6   test_shadowed_attrz#TestIntEnumClass.test_shadowed_attr  sH    	W 	 	1115f&&..?r8   Nr@   rA   rB   r   r  r  rF   r8   r6   r  r    s    I@r8   r  c                       e Zd ZeZd Zy)TestIntEnumFunctionc                     t        dd      }| j                  |j                  j                  d       | j	                  |j                  j                  |j                         y )Nr  )r  r  r=   r  r  s     r6   r  z&TestIntEnumFunction.test_shadowed_attr  sG    #;<1115f&&..?r8   Nr  rF   r8   r6   r  r    s    I@r8   r  c                       e Zd ZeZd Zy)r  c                 *    G d dt               }| j                  |j                  j                         d       | j                  |j                  j                         d       | j	                  |j                  j                  |j                         y )Nc                       e Zd ZdZdZy)1TestStrEnumClass.test_shadowed_attr.<locals>.Bookauthorr  N)r@   rA   rB   r  r  rF   r8   r6   Bookr    s    FEr8   r  AuthorTitler	   r   r  r  r  r   r  s     r6   r  z#TestStrEnumClass.test_shadowed_attr  sf    	7 	 	**,h7))+W5djj''5r8   Nr@   rA   rB   r	   r  r  rF   r8   r6   r  r    s    I6r8   r  c                       e Zd ZeZd Zy)r  c                 $   t        dd      }| j                  |j                  j                         d       | j                  |j                  j                         d       | j	                  |j                  j                  |j                         y )Nr  )r  r  r  r  r  r  s     r6   r  z&TestStrEnumFunction.test_shadowed_attr  se    v23**,h7))+W5djj''5r8   Nr  rF   r8   r6   r  r    s    I6r8   r  c                       e Zd ZeZy)TestIntFlagClassNr@   rA   rB   r   r  rF   r8   r6   r  r         Ir8   r  c                       e Zd ZeZy)TestIntFlagFunctionNr  rF   r8   r6   r  r  $  r  r8   r  c                   $    e Zd Z G d dee      Zy)TestMixedIntClassc                       e Zd Zy)TestMixedIntClass.enum_typeNr   rF   r8   r6   r  r  )      r8   r  N)r@   rA   rB   intr   r  rF   r8   r6   r  r  (      $C$r8   r  c                        e Zd Z ede      Zy)TestMixedIntFunctionr  r  N)r@   rA   rB   r   r  r  rF   r8   r6   r  r  ,      [s+Ir8   r  c                   $    e Zd Z G d dee      Zy)TestMixedStrClassc                       e Zd Zy)TestMixedStrClass.enum_typeNr   rF   r8   r6   r  r  1  r  r8   r  N)r@   rA   rB   rU  r   r  rF   r8   r6   r  r  0  r  r8   r  c                        e Zd Z ede      Zy)TestMixedStrFunctionr  r  N)r@   rA   rB   r   rU  r  rF   r8   r6   r  r  4  r  r8   r  c                   $    e Zd Z G d dee      Zy)TestMixedIntFlagClassc                       e Zd Zy)TestMixedIntFlagClass.enum_typeNr   rF   r8   r6   r  r  9  r  r8   r  N)r@   rA   rB   r  r   r  rF   r8   r6   r  r  8  r  r8   r  c                        e Zd Z ede      Zy)TestMixedIntFlagFunctionr  r  N)r@   rA   rB   r   r  r  rF   r8   r6   r  r  <  r  r8   r  c                   f    e Zd Z eddd       eddd       eddd	      gZg d
Z G d dee      Zy)TestMixedDateClass     r    r>        r  r  )r  r  r  )r  r>   r  )r  r  r  c                       e Zd Zed        Zy)TestMixedDateClass.enum_typec                     g d}||   S Nr  rF   r   r2  countlast_valuesr4  s        r6   r5  z2TestMixedDateClass.enum_type._generate_next_value_F  s    DF%= r8   Nr;  rF   r8   r6   r  r  E  s    		! 
	!r8   r  N)r@   rA   rB   r   r4  rC  r   r  rF   r8   r6   r  r  @  s<    4R $tQ"3T$B5GHFCM!D$ !r8   r  c                   n    e Zd Z eddd       eddd       eddd	      gZg d
Zd Z eddeie      Zy)TestMixedDateFunctionr  r  r  r  r>   r  r  r  r  r  c                     g d}||   S r  rF   r  s        r6   r5  z+TestMixedDateFunction._generate_next_value_R  s    @e}r8   r  r5  r  N)	r@   rA   rB   r   r4  rC  r5  r   r  rF   r8   r6   r  r  L  sK    4R $tQ"3T$B5GHFCM [#:;P"QX\]Ir8   r  c                   f    e Zd Z eddd       eddd       eddd      gZg dZ G d	 d
ee      Zy)TestMinimalDateClass  r  r=     r&   r    )r
  r  r=   )r  r&   r  )r  r=   r=   c                       e Zd Zd Zy)TestMinimalDateClass.enum_typec                     g d}||   S Nr  rF   r  s        r6   r5  z4TestMinimalDateClass.enum_type._generate_next_value_`  s    AF%= r8   Nr6  rF   r8   r6   r  r  ^  s    	!r8   r  N)r@   rA   rB   r   r4  rC  r   r  rF   r8   r6   r	  r	  Y  s<    4QdAr!2Dq!4DEF@M!D( !r8   r	  c                   x    e Zd Z eddd       eddd       eddd      gZg dZed	        Z ed
deie      Z	y)TestMinimalDateFunctionr
  r  r=   r  r&   r  r  r  c                     g d}||   S r  rF   r  s        r6   r5  z-TestMinimalDateFunction._generate_next_value_j  s    =e}r8   r  r5  r  N)
r@   rA   rB   r   r4  rC  r<  r5  r   r  rF   r8   r6   r  r  e  sX    4QdAr!2Dq!4DEF@M  '>?T&U\`aIr8   r  c                   ,    e Zd Zg dZ G d dee      Zy)TestMixedFloatClassg?g@gffffff
@c                       e Zd Zd Zy)TestMixedFloatClass.enum_typec                     g d}||   S Nr  rF   r  s        r6   r5  z3TestMixedFloatClass.enum_type._generate_next_value_w      $F%= r8   Nr6  rF   r8   r6   r  r  v      	!r8   r  N)r@   rA   rB   r4  r{  r   r  rF   r8   r6   r  r  r  s    F!E4 !r8   r  c                   4    e Zd Zg dZd Z eddeie      Zy)TestMixedFloatFunctionr  c                     g d}||   S r  rF   r  s        r6   r5  z,TestMixedFloatFunction._generate_next_value_       e}r8   r  r5  r  N)r@   rA   rB   r4  r5  r   r{  r  rF   r8   r6   r  r  |  s$    F [#:;P"QX]^Ir8   r  c                   ,    e Zd Zg dZ G d dee      Zy)TestMinimalFloatClassg@g      @gffffff@c                       e Zd Zd Zy)TestMinimalFloatClass.enum_typec                     g d}||   S Nr$  rF   r  s        r6   r5  z5TestMinimalFloatClass.enum_type._generate_next_value_  r  r8   Nr6  rF   r8   r6   r  r&    r  r8   r  N)r@   rA   rB   r4  r{  r   r  rF   r8   r6   r#  r#    s    F!E8 !r8   r#  c                   4    e Zd Zg dZd Z eddeie      Zy)TestMinimalFloatFunctionr$  c                     g d}||   S r(  rF   r  s        r6   r5  z.TestMinimalFloatFunction._generate_next_value_  r!  r8   r  r5  r  N)r@   rA   rB   r4  r5  r   r{  r  rF   r8   r6   r*  r*    s$    F '>?T&U\abIr8   r*  c                      e Zd Z	 d Zd Zd Z ej                  d      d        Zd Z	d Z
d Zd	 Z ej                  ed
k\  d      d        Z ej                  ed
k  d      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 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- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCdB ZDdC ZEdD ZFdE ZGdF ZHdG ZIdH ZJdI ZKdJ ZLdK ZMdL ZNdM ZOdN ZPdO ZQdP ZRdQ ZSdR ZTdS ZUdT ZVdU ZWdV ZXdW ZYdX ZZdY Z[dZ Z\d[ Z]d\ Z^d] Z_d^ Z`d_ Zad` Zbda Zcdb Zddc Zedd Zfde Zgyf)gTestSpecialc                      G d dt               }|| _         G d dt              }|| _         G d dt        t               }|| _        ddlm}  G d	 d
|t               }|| _        y )Nc                       e Zd ZdZdZdZdZy)!TestSpecial.setUp.<locals>.Seasonr=   r&   r>   rN   N)r@   rA   rB   rg  rh  ri  WINTERrF   r8   r6   rj  r0        FFFFr8   rj  c                        e Zd ZdZdZdZdZdZy)!TestSpecial.setUp.<locals>.GradesrA  rN   r>   r&   r   Nr@   rA   rB   rG  r  CDFrF   r8   r6   Gradesr4        AAAAAr8   r9  c                       e Zd ZdZdZdZdZy)&TestSpecial.setUp.<locals>.DirectionaleastwestnorthsouthN)r@   rA   rB   EASTWESTNORTHSOUTHrF   r8   r6   Directionalr<    s    DDEEr8   rE  r   r   c                       e Zd ZdZdZy)"TestSpecial.setUp.<locals>.Holiday)  r=   r=   )rH  r>   r  N)r@   rA   rB   NEW_YEARIDES_OF_MARCHrF   r8   r6   HolidayrG    s    !H'Mr8   rK  )	r   rj  r   r9  rU  rE  datetimer   rK  )r   rj  r9  rE  r   rK  s         r6   rY  zTestSpecial.setUp  s^    	T 	
 	W 	 	#t 	
 '!	(dD 	( r8   c                     G d dt               }| j                  |j                         | j                  |j                          G d dt               }| j                  |j                         | j	                  |j                          G d dt
        t               }| j                  |j                         | j	                  |j                         y )Nc                       e Zd ZdZdZy)$TestSpecial.test_bool.<locals>.LogicTFNr@   rA   rB   truefalserF   r8   r6   LogicrO    s    DEr8   rS  c                       e Zd ZdZdZd Zy)(TestSpecial.test_bool.<locals>.RealLogicTFc                 ,    t        | j                        S r   )boolr  r   s    r6   __bool__z1TestSpecial.test_bool.<locals>.RealLogic.__bool__      DLL))r8   N)r@   rA   rB   rQ  rR  rX  rF   r8   r6   	RealLogicrU    s    DE*r8   rZ  c                       e Zd ZdZdZy)'TestSpecial.test_bool.<locals>.IntLogicr=   r   NrP  rF   r8   r6   IntLogicr\        DEr8   r]  )r   r   rQ  rR  r   r  )r   rS  rZ  r]  s       r6   	test_boolzTestSpecial.test_bool  s    	D 	 	

#$	* 	*
 		')	sD 	 	&(r8   c                 <   | j                   }| j                  t              5  |j                  |j                  k   d d d        | j                  t              5  |j                  dkD   d d d        | j                  |j                  d        G d dt              }| j                  |j                  |j                         | j                  t              5  |j                  |j                  k   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NrN   r=   c                       e Zd ZdZdZdZy)*TestSpecial.test_comparisons.<locals>.Partr=   r&   r>   N)r@   rA   rB   rg  CLIPBARRELrF   r8   r6   Partrb    s    FDFr8   re  )rj  rl  r|  rg  r1  r  r   rc  )r   rj  re  s      r6   test_comparisonszTestSpecial.test_comparisons  s    y) 	*MMFMM)	*y) 	MMA	 	FMM1-	4 	
 	FMM4;;7y) 	&MMDII%	& 	&	* 	*	 		& 	&s#   C:DD:DDDz
to-do listc                     G d dt               }t        |      }| j                  d|       | j                  d|       | j                  d|       | j                  d|        G d dt               }t        |      }| j                  d|       | j                  d|       | j                  d|       | j                  d|       y )	Nc                       e Zd Zy);TestSpecial.test_dir_with_custom_dunders.<locals>.PlainEnumNr   rF   r8   r6   	PlainEnumri    r   r8   rj  r  r  r  r   c                   $    e Zd Zd Zd Zd Zd Zy)8TestSpecial.test_dir_with_custom_dunders.<locals>.MyEnumc                 ,    t         j                  |       S r   r  r  r   s    r6   r  zATestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__repr__      t,,r8   c                 ,    t         j                  |       S r   rn  r   s    r6   r  z@TestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__str__  ro  r8   c                 ,    t         j                  |       S r   rn  r   s    r6   r  zCTestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__format__  ro  r8   c                      y r   rF   r   s    r6   r   zATestSpecial.test_dir_with_custom_dunders.<locals>.MyEnum.__init__  rO  r8   N)r@   rA   rB   r  r  r  r   rF   r8   r6   r   rl    s    ---r8   r   )r   r  r  r  )r   rj  cls_dirr   s       r6   test_dir_with_custom_dundersz(TestSpecial.test_dir_with_custom_dunders  s    	 	i.W-G,w/W-	T 	 f+j'*i)lG,j'*r8   c                 Z   | j                  t              5   G d dt              }d d d        | j                  t              5   G d dt              }d d d        | j                  t              5   G d dt              }d d d        y # 1 sw Y   dxY w# 1 sw Y   CxY w# 1 sw Y   y xY w)Nc                       e Zd ZdZdZdZdZy)4TestSpecial.test_duplicate_name_error.<locals>.Colorr=   r&   r>   rN   Nr@   rA   rB   redgreenbluerF   r8   r6   Colorrw    s    r8   r|  c                       e Zd ZdZdZdZd Zy)rw  r=   r&   r>   c                      y)Nry  rF   r   s    r6   ry  z8TestSpecial.test_duplicate_name_error.<locals>.Color.red  s     r8   Nrx  rF   r8   r6   r|  z4TestSpecial.test_duplicate_name_error.<locals>.Color  s    !r8   c                   <    e Zd Zej                  d        ZdZdZdZy)rw  c                      y)NredderrF   r   s    r6   ry  z8TestSpecial.test_duplicate_name_error.<locals>.Color.red  s    #r8   r=   r&   r>   N)r@   rA   rB   r,   r   ry  rz  r{  rF   r8   r6   r|  z4TestSpecial.test_duplicate_name_error.<locals>.Color  s'    $ $r8   rl  r|  r   r   r|  s     r6   test_duplicate_name_errorz%TestSpecial.test_duplicate_name_error  s    y) 	 	 y) 	!! !	! y) 	 	 		 		! 	!	 	s#   B	B0B!	BB!B*c                 x    t        t        t              rt        | j                  t        j                  d       y )Nre   )r  rd   	Exceptionr   rB   r   s    r6    test_enum_function_with_qualnamez,TestSpecial.test_enum_function_with_qualname  s(    fi(L,,.CDr8   c                    	  G d dt               }| j                  |j                  j                  t               | j                  |j
                  j                  t               | j                  |j                  j                  t                G d d       G d d       G fddt               }| j                  |j                  j                         | j                  |j                  j                          G d	 d
       G fddt               }| j                  |j                  j                         y )Nc                       e Zd ZeZeZeZy)/TestSpecial.test_enum_of_types.<locals>.MyTypesN)	r@   rA   rB   r  ir{  frU  r   rF   r8   r6   MyTypesr    s    AAAr8   r  c                       e Zd Zy)+TestSpecial.test_enum_of_types.<locals>.FooNr   rF   r8   r6   Foor  &  r   r8   r  c                       e Zd Zy)+TestSpecial.test_enum_of_types.<locals>.BarNr   rF   r8   r6   Barr  (  r   r8   r  c                       e Zd ZW ZW  Zy)0TestSpecial.test_enum_of_types.<locals>.MyTypes2N)r@   rA   rB   r   br  r  s   r6   MyTypes2r  *  s    AAr8   r  c                       e Zd Zy)8TestSpecial.test_enum_of_types.<locals>.SpamEnumNotInnerNr   rF   r8   r6   SpamEnumNotInnerr  /  r   r8   r  c                       e Zd ZW  Zy)0TestSpecial.test_enum_of_types.<locals>.SpamEnumN)r@   rA   rB   rf  )r  s   r6   SpamEnumr  1  s    #Dr8   r  )r   r   r  r\  r  r  r{  r   rU  r   r  rf  )r   r  r  r  r  r  r  s       @@@r6   test_enum_of_typeszTestSpecial.test_enum_of_types  s    @	d 	 	#.%0#.	 		 		t 	 	))3/))3/	 		$t 	$,,.>?r8   c                     G d dt               }| j                  |j                  j                  t        j
                  t                  | j                  |j                  j                  t        t                  | j                  t        |j                        d       | j                  t        |j                        d       y )Nc                   4    e Zd Zej                  e   Zee   Zy)3TestSpecial.test_enum_of_generic_aliases.<locals>.EN)	r@   rA   rB   typingListr  r   r   r  rF   r8   r6   rH  r  6  s    C AS	Ar8   rH  z<E.a: typing.List[int]>z<E.b: list[int]>)
r   r   r   r\  r  r  r  r  r   r  )r   rH  s     r6   test_enum_of_generic_aliasesz(TestSpecial.test_enum_of_generic_aliases5  s    	 	 	FKK$45DI.acc$=>acc$67r8   r>      zinner classes are not membersc                    	 | j                  t        d      5   G d dt              }d d d        | j                  t	        j
                  |             | j                  |j                  j                  d       | j                  |j
                  j                  j                  j                  d       | j                  t        |j
                  j                        |j
                  j                  j                  |j
                  j                  j                  g       | j                  t        |      |j                  |j                  |j
                  g       y # 1 sw Y   9xY w)Nzwill not become a memberc                   *    e Zd ZdZdZ G d de      Zy)BTestSpecial.test_nested_classes_in_enum_are_members.<locals>.Outerr=   r&   c                       e Zd ZdZdZy)HTestSpecial.test_nested_classes_in_enum_are_members.<locals>.Outer.Inner
   r  Nr@   rA   rB   r   barrF   r8   r6   Innerr  J  s    CCr8   r  Nr@   rA   rB   r   r  r   r  rF   r8   r6   Outerr  G  s    D r8   r  r=   r  )assertWarnsRegexDeprecationWarningr   r   r  r  r   r   r\  r   r   r  r  r   r  s     r6   'test_nested_classes_in_enum_are_membersz3TestSpecial.test_nested_classes_in_enum_are_members>  s   
	 ""#57QR 	 	 	
5;;67***..44b9""#[[""EKK$5$5$9$9:	 	KWWeggu{{+		 	s   EE)zinner classes are still membersc                 "   	  G d dt               }| j                  t        |j                  t                     | j                  |j                  j                  d       | j                  |j                  j                  j                  d       | j                  t        |j                        |j                  j                  |j                  j                  g       | j                  t        |      |j                  |j                  g       y )Nc                   *    e Zd ZdZdZ G d de      Zy)FTestSpecial.test_nested_classes_in_enum_are_not_members.<locals>.Outerr=   r&   c                       e Zd ZdZdZy)LTestSpecial.test_nested_classes_in_enum_are_not_members.<locals>.Outer.Innerr  r  Nr  rF   r8   r6   r  r  b  s    r8   r  Nr  rF   r8   r6   r  r  _  s    AA r8   r  r=   r  r   r   r  r  r  r   r   r\  r   r   r  r  r  s     r6   +test_nested_classes_in_enum_are_not_membersz7TestSpecial.test_nested_classes_in_enum_are_not_membersY  s    
 	6	D 	 	
5;;56*..3[[__ekkoo.	 	KWWegg	r8   c                      G d dt               }| j                  t        |j                  t                     | j                  |j                  j                  d       | j                  |j                  j                  j                  d       | j                  t        |j                        |j                  j                  |j                  j                  g       | j                  t        |      |j                  |j                  g       y )Nc                   4    e Zd ZdZdZe G d de             Zy)ETestSpecial.test_nested_classes_in_enum_with_nonmember.<locals>.Outerr=   r&   c                       e Zd ZdZdZy)KTestSpecial.test_nested_classes_in_enum_with_nonmember.<locals>.Outer.Innerr  r  Nr  rF   r8   r6   r  r  u      r8   r  N)r@   rA   rB   r   r  r   r   r  rF   r8   r6   r  r  r  s%    AA  r8   r  r=   r  r  r  s     r6   *test_nested_classes_in_enum_with_nonmemberz6TestSpecial.test_nested_classes_in_enum_with_nonmemberq  s    	D 	 	
5;;56*..3[[__ekkoo.	 	KWWegg	r8   c                 V   	  G d dt               }| j                  |j                  j                  t               | j                  |j                  t        u        | j                  |j                  j                  t                G d d       G d d       G fddt               }| j                  |j                  j                         | j                  |j                  u         G d	 d
       G fddt               }| j                  |j                  u        y )Nc                   $    e Zd ZeZ ee      ZeZ	y)>TestSpecial.test_enum_of_types_with_nonmember.<locals>.MyTypesN)
r@   rA   rB   r  r  r   r{  r  rU  r   rF   r8   r6   r  r    s    A% AAr8   r  c                       e Zd Zy):TestSpecial.test_enum_of_types_with_nonmember.<locals>.FooNr   rF   r8   r6   r  r    r   r8   r  c                       e Zd Zy):TestSpecial.test_enum_of_types_with_nonmember.<locals>.BarNr   rF   r8   r6   r  r    r   r8   r  c                   &    e Zd ZW Z eW        Zy)?TestSpecial.test_enum_of_types_with_nonmember.<locals>.MyTypes2N)r@   rA   rB   r   r   r  r  s   r6   r  r    s    A#Ar8   r  c                       e Zd Zy)FTestSpecial.test_enum_of_types_with_nonmember.<locals>.SpamEnumIsInnerNr   rF   r8   r6   SpamEnumIsInnerr    r   r8   r  c                        e Zd Z eW        Zy)?TestSpecial.test_enum_of_types_with_nonmember.<locals>.SpamEnumN)r@   rA   rB   r   rf  )r  s   r6   r  r    s    _-Dr8   r  )r   r   r  r\  r  r   r  r{  r   rU  r   r  rf  )r   r  r  r  r  r  r  s       @@@r6   !test_enum_of_types_with_nonmemberz-TestSpecial.test_enum_of_types_with_nonmember  s    @	d 	 	#.		U*+#.	 		 		t 	 	))3/

c)*	 		.t 	.89r8   c                    	  G d dt               }| j                  t        |j                  |             | j	                  |j
                  j                  d       | j	                  |j                  j                  j                  j                  d       | j	                  t        |j                  j                        |j                  j                  j                  |j                  j                  j                  g       | j	                  t        |      |j
                  |j                  |j                  g       y )Nc                   4    e Zd ZdZdZe G d de             Zy)BTestSpecial.test_nested_classes_in_enum_with_member.<locals>.Outerr=   r&   c                       e Zd ZdZdZy)HTestSpecial.test_nested_classes_in_enum_with_member.<locals>.Outer.Innerr  r  Nr  rF   r8   r6   r  r    r  r8   r  N)r@   rA   rB   r   r  r   r   r  rF   r8   r6   r  r    s%    AA  r8   r  r=   r  )r   r   r  r  r   r   r\  r   r   r  r  r  s     r6   'test_nested_classes_in_enum_with_memberz3TestSpecial.test_nested_classes_in_enum_with_member  s    5	D 	 	
5;;67***..44b9""#[[""EKK$5$5$9$9:	 	KWWeggu{{+	r8   c                 f    G d dt               }| j                  t        |      |j                  |j                  g       | j                  t        |j                        |       | j                  |j                  j                  d       | j                  |j                  j                  d       y )Nc                       e Zd ZdZdZy)2TestSpecial.test_enum_with_value_name.<locals>.Huhr=   r&   N)r@   rA   rB   r   r\  rF   r8   r6   Huhr    r^  r8   r  r   r=   )r   r   r   r   r\  r  r  )r   r  s     r6   test_enum_with_value_namez%TestSpecial.test_enum_with_value_name  sw    	$ 	 	cSXXsyy$9:d388nc*/+r8   c                 \    G d dt               } G d dt               } G d dt               } G d dt               }| j                  |j                  |       | j                  |j                  |       | j                  |j                  |       | j                  |j                  |       y )	Nc                       e Zd ZdZy)BTestSpecial.test_contains_name_and_value_overlap.<locals>.IntEnum1r=   Nr@   rA   rB   r  rF   r8   r6   IntEnum1r    rI  r8   r  c                       e Zd ZdZy)BTestSpecial.test_contains_name_and_value_overlap.<locals>.IntEnum2r=   Nr  rF   r8   r6   IntEnum2r    rI  r8   r  c                       e Zd ZdZy)BTestSpecial.test_contains_name_and_value_overlap.<locals>.IntEnum3r&   Nr  rF   r8   r6   IntEnum3r    rI  r8   r  c                       e Zd ZdZy)BTestSpecial.test_contains_name_and_value_overlap.<locals>.IntEnum4r=   N)r@   rA   rB   r  rF   r8   r6   IntEnum4r    rI  r8   r  )r   r  r  r  )r   r  r  r  r  s        r6   $test_contains_name_and_value_overlapz0TestSpecial.test_contains_name_and_value_overlap  s|    	w 		w 		w 		w 	hjj(+hjj(+X.hjj(+r8   c                      G d dt               } G d dt              }| j                  |j                  |       | j                  |j                  |       y )Nc                       e Zd ZdZy)HTestSpecial.test_contains_different_types_same_members.<locals>.IntEnum1r=   Nr  rF   r8   r6   r  r    rI  r8   r  c                       e Zd ZdZy)HTestSpecial.test_contains_different_types_same_members.<locals>.IntFlag1r=   Nr  rF   r8   r6   IntFlag1r    rI  r8   r  )r   r   r  r  )r   r  r  s      r6   *test_contains_different_types_same_membersz6TestSpecial.test_contains_different_types_same_members  s>    	w 		w 	hjj(+hjj(+r8   c                     G d dt               } G d d|t        j                        }| j                  t	        |j
                        d       |t               d<   |t               d<   t        | j                  |j
                         t        | j                  |        G d d|      } G d d	|t        j                        }| j                  |j                  |       |t               d<   |t               d	<   t        | j                  |j                         t        | j                  |        G d
 dt               } G d d|t              }| j                  |j                  |       | j                   |d      |j                         |t               d<   |t               d<   t        | j                  |j                         t        | j                  |       y )Nc                       e Zd ZdZd Zy)4TestSpecial.test_inherited_data_type.<locals>.HexIntHexIntc                     t        |       S r   hexr   s    r6   r  z=TestSpecial.test_inherited_data_type.<locals>.HexInt.__repr__      4y r8   Nr8  rF   r8   r6   r  r    s    #L!r8   r  c                       e Zd ZdZdZdZdZy)4TestSpecial.test_inherited_data_type.<locals>.MyEnumr   r=   r&   r>   Nr@   rA   rB   rG  r  r6  rF   r8   r6   r   r    s    #LAAAr8   r   z<MyEnum.A: 0x1>c                       e Zd ZdZy)6TestSpecial.test_inherited_data_type.<locals>.SillyIntSillyIntNr   rF   r8   r6   r  r    s    %Lr8   r  c                       e Zd ZdZdZdZdZy)9TestSpecial.test_inherited_data_type.<locals>.MyOtherEnumMyOtherEnumrN   rA     N)r@   rA   rB   r7  rH  r8  rF   r8   r6   r  r    s    (LAAAr8   r  c                       e Zd ZdZd Zy)9TestSpecial.test_inherited_data_type.<locals>.UnBrokenIntUnBrokenIntc                 .    t         j                  | |      S r   )r  rw  )re  r\  s     r6   rw  zATestSpecial.test_inherited_data_type.<locals>.UnBrokenInt.__new__  s    {{3..r8   Nr  rF   r8   r6   r	  r    s    (L/r8   r	  c                       e Zd ZdZdZdZdZy)<TestSpecial.test_inherited_data_type.<locals>.MyUnBrokenEnumMyUnBrokenEnumr      r  N)r@   rA   rB   GHIrF   r8   r6   r  r    s    +LAAAr8   r  r   )r  r,   r   r   r  rG  globalsrs   r  rT  rH  r  r  )r   r  r   r  r  r	  r  s          r6   test_inherited_data_typez$TestSpecial.test_inherited_data_type  sc   	!S 	!	VTYY 	
 	fhh):;$	($	(dmmVXX6dmmV4	&v 	&	(DII 	
 	k//: (	*#.	- dmm[]];dmm[9	/# 	/	[$ 	
 	n22K@nQ')9)9:#.	- &4	"#dmm^-=-=>dmm^<r8   c                    t         j                  t        j                  j                        }| j                  t        j                  |      t        j                         t         j                  t        j                  j                  dz         }| j                  t              5  t        j                  |       d d d        y # 1 sw Y   y xY w)Ng{Gz?)	r{  r  rK   rE   r\  r  fromhexrl  r   )r   hs     r6   test_floatenum_fromhexz"TestSpecial.test_floatenum_fromhex  s    IIl&&,,-l**1-|/?/?@IIl&&,,t34z* 	$  #	$ 	$ 	$s   &CCc                 .   t        ddt              }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       | j                  |j
                  |j                  |j                  g|       t        dj                         d      D ]h  \  }} ||      }| j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |       j y )Nr  r  r  r>   r=   r   r  r   r   r  r  r  r  	enumerater  r   r  r  r  r   r  r  r  r  r   s         r6   test_programmatic_function_typez+TestSpecial.test_programmatic_function_type  s    &8sC	9oS3y>2YI61A1AB	 ""4":":"<a@ 	.HAu!AQ"QVVU+MM!Y'MM$q'9-	.r8   c                 p   t        ddd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  |j                  |j
                  |j                  g|       t        dj                         d      D ]  \  }} ||      }| j                  t        |j                        |       | j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |        y )Nr  r  r  r2  r>   r   r   r   r  r  r  r  r  r  r  r\  r  r   r  r  r  r  s         r6   ,test_programmatic_function_string_with_startz8TestSpecial.test_programmatic_function_string_with_start  s    &8C	9oS3y>2YI61A1AB	 ""4":":"<bA 	.HAu!AS\1-1%QVVU+MM!Y'MM$q'9-	.r8   c                 0   t        ddt        d      }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       | j                  |j
                  |j                  |j                  g|       t        dj                         d      D ]h  \  }} ||      }| j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |       j y )Nr  r  r  )r  r2  r>   r  r  s         r6   *test_programmatic_function_type_with_startz6TestSpecial.test_programmatic_function_type_with_start'  s    &8s"M	9oS3y>2YI61A1AB	 ""4":":"<bA 	.HAu!AQ"QVVU+MM!Y'MM$q'9-	.r8   c                 t   t        dg dd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  |j                  |j
                  |j                  g|       t        dj                         d      D ]  \  }} ||      }| j                  t        |j                        |       | j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |        y )Nr  r     r  r>   r  r  r  s         r6   1test_programmatic_function_string_list_with_startz=TestSpecial.test_programmatic_function_string_list_with_start7  s    &@K	9oS3y>2YI61A1AB	 ""4":":"<bA 	.HAu!AS\1-1%QVVU+MM!Y'MM$q'9-	.r8   c                 "   t        dd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  |j                  |j
                  |j                  g|       t        dj                         d      D ]h  \  }} ||      }| j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |       j y )Nr  r  r>   r=   r   r   r   r  r  r  r  r  r  r   r  r  r  r  s         r6   -test_programmatic_function_type_from_subclassz9TestSpecial.test_programmatic_function_type_from_subclassH  s    K);<	9oS3y>2YI61A1AB	 ""4":":"<a@ 	.HAu!AQ"QVVU+MM!Y'MM$q'9-	.r8   c                 &   t        ddd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  |j                  |j
                  |j                  g|       t        dj                         d      D ]h  \  }} ||      }| j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |       j y )Nr  r  (   r  r>   r'  r  s         r6   8test_programmatic_function_type_from_subclass_with_startzDTestSpecial.test_programmatic_function_type_from_subclass_with_startX  s    K);2F	9oS3y>2YI61A1AB	 ""4":":"<bA 	.HAu!AQ"QVVU+MM!Y'MM$q'9-	.r8   c                     G d dt               }| j                  t        d|d       | j                   |d      |j                         | j                   |dd      |j                          G d dt               }| j                   |d	      |j
                         | j                   |d
dd      |j
                         y )Nc                       e Zd ZdZdZdZy)ETestSpecial.test_programmatic_function_is_value_call.<locals>.TwoPartr=         ?)r&          @)r>         @Nr@   rA   rB   r   r   THREErF   r8   r6   TwoPartr.  i  s    CCEr8   r5  z1 is not a valid .*TwoPartr=   r/  r0  c                       e Zd ZdZdZdZy)GTestSpecial.test_programmatic_function_is_value_call.<locals>.ThreePart)r=   r0  r  )r&   r1  r  r>   r2  threeNr3  rF   r8   r6   	ThreePartr7  p  s    CC#Er8   r:  r8  r>   r2  r9  )r   r   r   r  r   r4  )r   r5  r:  s      r6   (test_programmatic_function_is_value_callz4TestSpecial.test_programmatic_function_is_value_callh  s    	d 	 	z+GRSTgh'5gaow{{3	$ 	$ 	i 12IOODi30)//Br8   c                     | j                  t        j                  dd      t        j                         | j	                  t
              5  t        j                  dd       d d d        y # 1 sw Y   y xY w)Ns    bigs    )r  rI   
from_bytesrE   rl  r   r   s    r6   test_intenum_from_bytesz#TestSpecial.test_intenum_from_bytesw  sT    j++K?Pz* 	6!!+u5	6 	6 	6s   
A**A3c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nz-_sunder_ names, such as ._bad_., are reservedc                       e Zd ZdZy)3TestSpecial.test_reserved_sunder_error.<locals>.Badr=   N)r@   rA   rB   r{   rF   r8   r6   BadrB    s    r8   rC  )r   r   r   )r   rC  s     r6   test_reserved_sunder_errorz&TestSpecial.test_reserved_sunder_error|  s7    ##? 	d 		 	 	   09c                 @   | j                  t        d      5   G d dt        t        t              }d d d         G d dt              } G d dt              }| j                  t        d      5   G d d||t              }d d d        y # 1 sw Y   XxY w# 1 sw Y   y xY w)	Nztoo many data typesc                       e Zd ZdZy1TestSpecial.test_too_many_data_types.<locals>.Huhr=   Nr@   rA   rB   OnerF   r8   r6   r  rI    r  r8   r  c                       e Zd Zd Zy)3TestSpecial.test_too_many_data_types.<locals>.MyStrc                     d| z  S )Nz	hello, %srF   r   s    r6   helloz9TestSpecial.test_too_many_data_types.<locals>.MyStr.hello  s    "T))r8   Nr@   rA   rB   rO  rF   r8   r6   MyStrrM    s    *r8   rQ  c                       e Zd Zd Zy)3TestSpecial.test_too_many_data_types.<locals>.MyIntc                     t        |       S r   r  r   s    r6   r  z8TestSpecial.test_too_many_data_types.<locals>.MyInt.repr  r  r8   N)r@   rA   rB   r  rF   r8   r6   MyIntrS        !r8   rU  c                       e Zd ZdZyrH  rJ  rF   r8   r6   r  z1TestSpecial.test_too_many_data_types.<locals>.Huh  r  r8   )r   r|  rU  r  r   )r   r  rQ  rU  s       r6   test_too_many_data_typesz$TestSpecial.test_too_many_data_types  s    ##I/DE 	c3 		*C 	*	!C 	! ##I/DE 	eUD 	 		 		 	s   B-BBBc                     t        t        t              rt        t        | j                  t        j
                         t        | j                  t               y r   )r  r<   r  rs   r  rD   r   s    r6   test_pickle_enumzTestSpecial.test_pickle_enum  s1    gy)MdmmW]];dmmW5r8   c                     t        t        t              rt        t        | j                  t        j
                         t        | j                  t               y r   )r  rI   r  rs   r  rD   r   s    r6   test_pickle_intzTestSpecial.test_pickle_int  s4    j),dmmZ-=-=>dmmZ8r8   c                     t        t        t              rt        t        | j                  t        j
                         t        | j                  t               y r   )r  rK   r  rs   r  rD   r   s    r6   test_pickle_floatzTestSpecial.test_pickle_float  s4    lI.dmm\-?-?@dmm\:r8   c                     t        t        t              rt        t        | j                  t        j
                         t        | j                  t               y r   )r  rc   r  rs   r  himr   s    r6   test_pickle_enum_functionz%TestSpecial.test_pickle_enum_function  s1    fi(LdmmVZZ8dmmV4r8   c                     t        t        t              rt        t        | j                  t        j
                         t        | j                  t               y r   )r  r`   r  rs   r  whor   s    r6   %test_pickle_enum_function_with_modulez1TestSpecial.test_pickle_enum_function_with_module  s1    h	*NdmmX\\:dmmX6r8   c                      G d dt               }|| j                  _        d| j                  j                  z  | j                  _        t        | j                  | j                  j                         y )Nc                       e Zd ZdZdZy)8TestSpecial.test_pickle_nested_class.<locals>.NestedEnumcommonrareN)r@   rA   rB   twigsshinyrF   r8   r6   
NestedEnumrg    s    EEr8   rl  z%s.NestedEnum)r   rQ  rl  r@   rB   rs   r  rj  )r   rl  s     r6   test_pickle_nested_classz$TestSpecial.test_pickle_nested_class  sO    	 	 %/!'69P9P'P$dmmT__-B-BCr8   c                      G d dt               }t        j                  |_        t	        t
              D ]-  }| j                  |j                  j                  |      d       / y )Nc                       e Zd ZdZdZy)9TestSpecial.test_pickle_by_name.<locals>.ReplaceGlobalIntr=   r&   Nr   rF   r8   r6   ReplaceGlobalIntrp        CCr8   rq  r   )r   r,   _reduce_ex_by_global_name__reduce_ex__ro   r!   r   r   )r   rq  protos      r6   test_pickle_by_namezTestSpecial.test_pickle_by_name  sX    	w 	 *.)G)G&+, 	OE-11??FN	Or8   c                     t        ddt              }|t               d<   t        j                  |       t        | j                  t        |j                         t        | j                  t        |       y )N	BadPicklezdill sweet bread-n-butterra   )
r   r@   r  r,   _make_class_unpicklablerw   rl  r|  dillr    )r   rx  s     r6   test_pickle_explodesz TestSpecial.test_pickle_explodes  sW    8K	!*	+$$Y/d//INNKd//	Jr8   c                 d     G d dt         t              }| j                  |j                  d       y )Nc                       e Zd ZdZdZdZy)0TestSpecial.test_string_enum.<locals>.SkillLevelz'what is the sound of one hand clapping?z#why did the chicken cross the road?knock, knock!N)r@   rA   rB   master
journeyman
apprenticerF   r8   r6   
SkillLevelr~    s    >F>J(Jr8   r  r  )rU  r   r   r  )r   r  s     r6   test_string_enumzTestSpecial.test_string_enum  s(    	)d 	) 	..@r8   c                      G d dt               }| j                   |d      |j                         | j                  t        |d      |j                         | j                  |d   |j
                         y )Nc                       e Zd ZdZdZdZdZy)0TestSpecial.test_getattr_getitem.<locals>.Periodr=   r&   r>   rN   N)r@   rA   rB   morningnooneveningnightrF   r8   r6   Periodr    s    GDGEr8   r  r&   r  r  )r   r  r  rW  r  r  r   r  s     r6   test_getattr_getitemz TestSpecial.test_getattr_getitem  sV    	T 	
 	fQi-gfg.=fY'8r8   c                 R    | j                   }| j                  t        |d             y )N__eq__)rj  r   rW  ro  s     r6   test_getattr_dunderzTestSpecial.test_getattr_dunder  s    12r8   c                      G d dt               }| j                  t        |      |j                  |j                  |j
                  |j                  g       y )Nc                       e Zd ZdZdZdZdZy)0TestSpecial.test_iteration_order.<locals>.Seasonr&   rN   r>   r=   N)r@   rA   rB   rh  r1  ri  rg  rF   r8   r6   rj  r    r2  r8   rj  )r   r   r   rh  r1  ri  rg  ro  s     r6   test_iteration_orderz TestSpecial.test_iteration_order  sA    	T 	
 	Vv}}fmmL	r8   c                 n   t        t        t              rt        | j                  t        j                  d       | j                  t        j                  t        d             | j                  t        j                  t        t        d             t        | j                  t        j                         y )Nr]   r^   )	r  r\   r  r   r^   r   r  rW  rs   r   s    r6   test_subclassingzTestSpecial.test_subclassing  si    dI&J$67		4(:#;<diiv!67dmmTYY7r8   c                 j    G d dt               }| j                  t              5   G d d|      }d d d        | j                  t        d      5   G d d|t              }d d d        | j                  t
        d      5   |d	d
       d d d        y # 1 sw Y   axY w# 1 sw Y   >xY w# 1 sw Y   y xY w)Nc                       e Zd ZdZdZdZy))TestSpecial.test_extending.<locals>.Colorr=   r&   r>   Nrx  rF   r8   r6   r|  r        CEDr8   r|  c                       e Zd ZdZdZdZy)-TestSpecial.test_extending.<locals>.MoreColorrN   rA  r  Nr@   rA   rB   cyanmagentayellowrF   r8   r6   	MoreColorr        r8   r  z3<enum .EvenMoreColor.> cannot extend <enum .Color.>c                       e Zd ZdZy)1TestSpecial.test_extending.<locals>.EvenMoreColorr   N)r@   rA   rB   
chartrueserF   r8   r6   EvenMoreColorr    r  r8   r  z5\(.Foo., \(.pink., .black.\)\) is not a valid .*Colorr  )pinkblack)r   rl  r|  r   r   r   )r   r|  r  r  s       r6   test_extendingzTestSpecial.test_extending  s    	D 	
 y) 	E 	 ##I/de 	w 	 ##J0hi 	,%*+	, 	,	 		 		, 	,s#   BB>
B)BB&)B2c                      G d dt               }| j                  t        |j                        |       | j	                  |j
                  j                         d       y )Nc                       e Zd ZdZdZd Zy)2TestSpecial.test_exclude_methods.<locals>.whateverr  thosec                      d| j                   z  S )Nz
no, not %sr\  r   s    r6   reallyz9TestSpecial.test_exclude_methods.<locals>.whatever.really  s    #djj00r8   N)r@   rA   rB   r  r  r  rF   r8   r6   whateverr    s    DE1r8   r  zno, not that)r   assertIsNotr  r  r   r  )r   r  s     r6   test_exclude_methodsz TestSpecial.test_exclude_methods  sF    	1t 	1
 	hoo.9--/@r8   c                     | j                  t              5   G d dt        t              }d d d        y # 1 sw Y   y xY w)Nc                       e Zd ZdZy)7TestSpecial.test_wrong_inheritance_order.<locals>.Wrongzerror before this pointN)r@   rA   rB   NotHererF   r8   r6   r  r    s    3r8   r  )rl  r|  r   rU  r  s     r6   test_wrong_inheritance_orderz(TestSpecial.test_wrong_inheritance_order  s3    y) 	44c 4	4 	4 	4s   4=c                 $    G d dt               } G d dt               }| j                  |j                  |j                         | j                  |j                  |j
                         | j                  |j                  |j                         y )Nc                       e Zd ZdZdZdZy)5TestSpecial.test_intenum_transitivity.<locals>.numberr=   r&   r>   Nr@   rA   rB   r  r  r9  rF   r8   r6   numberr        CCEr8   r  c                       e Zd ZdZdZdZy)5TestSpecial.test_intenum_transitivity.<locals>.numeror=   r&   r>   N)r@   rA   rB   unodostresrF   r8   r6   numeror        CCDr8   r  )r   r   r  r  r  r  r9  r  )r   r  r  s      r6   test_intenum_transitivityz%TestSpecial.test_intenum_transitivity  sd    	W 		W 	 	VZZ0VZZ0v{{3r8   c                      G d dt               } G d dt               }| j                  t        ||j                         y )Nc                       e Zd ZdZdZy)7TestSpecial.test_wrong_enum_in_call.<locals>.Monochromer   r=   Nr@   rA   rB   r  whiterF   r8   r6   
Monochromer  #      EEr8   r  c                       e Zd ZdZdZy)3TestSpecial.test_wrong_enum_in_call.<locals>.Genderr   r=   Nr@   rA   rB   malefemalerF   r8   r6   Genderr  &      DFr8   r  )r   rl  r   r  r   r  r  s      r6   test_wrong_enum_in_callz#TestSpecial.test_wrong_enum_in_call"  s2    	 		T 	 	*j&++>r8   c                      G d dt               } G d dt              }| j                  t        ||j                         y )Nc                       e Zd ZdZdZy)=TestSpecial.test_wrong_enum_in_mixed_call.<locals>.Monochromer   r=   Nr  rF   r8   r6   r  r  ,  r  r8   r  c                       e Zd ZdZdZy)9TestSpecial.test_wrong_enum_in_mixed_call.<locals>.Genderr   r=   Nr  rF   r8   r6   r  r  /  r  r8   r  )r   r   rl  r   r  r  s      r6   test_wrong_enum_in_mixed_callz)TestSpecial.test_wrong_enum_in_mixed_call+  s2    	 		T 	 	*j&++>r8   c                      G d dt               } G d dt               }| j                   ||j                        |j                         y )Nc                       e Zd ZdZdZy)9TestSpecial.test_mixed_enum_in_call_1.<locals>.Monochromer   r=   Nr  rF   r8   r6   r  r  5  r  r8   r  c                       e Zd ZdZdZy)5TestSpecial.test_mixed_enum_in_call_1.<locals>.Genderr   r=   Nr  rF   r8   r6   r  r  8  r  r8   r  )r   r  r  r  r  s      r6   test_mixed_enum_in_call_1z%TestSpecial.test_mixed_enum_in_call_14  s9    	 		W 	 	j/1A1ABr8   c                      G d dt               } G d dt              }| j                   ||j                        |j                         y )Nc                       e Zd ZdZdZy)9TestSpecial.test_mixed_enum_in_call_2.<locals>.Monochromer   r=   Nr  rF   r8   r6   r  r  >  r  r8   r  c                       e Zd ZdZdZy)5TestSpecial.test_mixed_enum_in_call_2.<locals>.Genderr   r=   Nr  rF   r8   r6   r  r  A  r  r8   r  )r   r   r  r  r  r  s      r6   test_mixed_enum_in_call_2z%TestSpecial.test_mixed_enum_in_call_2=  s9    	 		W 	 	j-z/?/?@r8   c                      G d dt               } G d d|      }| j                  t        |j                        d       y )Nc                       e Zd Zd Zy)-TestSpecial.test_flufl_enum.<locals>.Fluflnumc                 ,    t        | j                        S r   )r  r\  r   s    r6   __int__z5TestSpecial.test_flufl_enum.<locals>.Fluflnum.__int__H  s    4::&r8   N)r@   rA   rB   r  rF   r8   r6   Fluflnumr  G      'r8   r  c                       e Zd ZdZdZdZy)3TestSpecial.test_flufl_enum.<locals>.MailManOptionsr=   r&   r>   N)r@   rA   rB   option1option2option3rF   r8   r6   MailManOptionsr  J  s    GGGr8   r  r=   )r   r   r  r  )r   r  r  s      r6   test_flufl_enumzTestSpecial.test_flufl_enumF  s7    	't 	'	X 	 	^334a8r8   c                 $    G d dt               }| j                  |j                  j                  t               | j                  |j                  t                G d dt
        t              }| j                  |j                  j                  t
               | j                  |j                  t
                G d dt              }| j                  |j                  j                  t               | j                  |j                  t               y )Nc                       e Zd ZdZdZy).TestSpecial.test_introspection.<locals>.Numberd      Nr@   rA   rB   r  r  rF   r8   r6   r  r  Q  s    CCr8   r  c                       e Zd ZdZdZdZy).TestSpecial.test_introspection.<locals>.StringsoftroughhardN)r@   rA   rB   yarnropewirerF   r8   r6   Stringr  V  s    DDDr8   r  c                       e Zd ZdZdZy)-TestSpecial.test_introspection.<locals>.Plainr  r=   N)r@   rA   rB   vanillar  rF   r8   r6   Plainr  \  s    GCr8   r
  )
r   r  r  rT  r  rU  r   r  r	  r  )r   r  r  r
  s       r6   test_introspectionzTestSpecial.test_introspectionP  s    	W 	 	fjj..4f**C0	S$ 	 	fkk//5f**C0	D 	 	emm116:e))62r8   c                      G d dt               }| j                  t              5   |d       d d d        | j                  t              5  |d    d d d        y # 1 sw Y   -xY w# 1 sw Y   y xY w)Nc                       e Zd ZdZdZdZy)3TestSpecial.test_no_such_enum_member.<locals>.Colorr=   r&   r>   Nrx  rF   r8   r6   r|  r  c  r  r8   r|  rN   
chartreuse)r   rl  r   KeyErrorr  s     r6   test_no_such_enum_memberz$TestSpecial.test_no_such_enum_memberb  sj    	D 	 z* 	!H	x( 	 ,	  	 	 		  	 s   	AA&A#&A/c                      G fddt        t                     G d dt              } G d dt              } G d d	|      } G d
 d|      }y )Nc                   "     e Zd Z fdZ xZS )6TestSpecial.test_multiple_mixin_mro.<locals>.auto_enumc                 "    t        |             }||_        t        |j                        }d}|j                  D ]  }||   }|t        u r|}n|}|dz  }|||<     |j                         D ]  \  }}||vs|||<    t        
|   | |||      S Nr   r=   )r  	_cls_namer  _member_namesEllipsisitemsrv  rw  )metaclsre  bases	classdicttemprS  r  kvrQ  	auto_enums            r6   rw  z>TestSpecial.test_multiple_mixin_mro.<locals>.auto_enum.__new__p  s    &tI(!$I334"00  A!!AH}FADG  &OO- $DAq~"#Q$ Y8eT3 3r8   r@   rA   rB   rw  ry  )rQ  r!  s   @r6   r!  r  o  s    3 3r8   r!  c                       e Zd Zy)=TestSpecial.test_multiple_mixin_mro.<locals>.AutoNumberedEnumNr   rF   r8   r6   AutoNumberedEnumr$    r   r8   r%  rC  c                       e Zd Zy)8TestSpecial.test_multiple_mixin_mro.<locals>.AutoIntEnumNr   rF   r8   r6   AutoIntEnumr'    r   r8   r(  c                       e Zd ZdZdZdZy);TestSpecial.test_multiple_mixin_mro.<locals>.TestAutoNumber.r>   Nr@   rA   rB   r   r  crF   r8   r6   TestAutoNumberr*        AAAr8   r-  c                       e Zd ZdZdZdZy)8TestSpecial.test_multiple_mixin_mro.<locals>.TestAutoInt.r>   Nr+  rF   r8   r6   TestAutoIntr0    r.  r8   r1  )r  r   r   )r   r%  r(  r-  r1  r!  s        @r6   test_multiple_mixin_mroz#TestSpecial.test_multiple_mixin_mron  sH    	3T
 	3(	ty 		'Y 		- 	
	+ 	r8   c                 P    G fddt                G d dt              }| j                  |j                  t        j                         | j	                  t        |j                  |j                  z         d       t               d<   |t               d<    dd      }| j	                  |d       t        | j                  |d       | j	                  |j                  j                  d       t        | j                  |j                         t        | j                  |       y )	Nc                   X    e Zd ZdZd Zd Zej                  d        Z d Zd Z fdZ	y)	=TestSpecial.test_subclasses_with_getnewargs.<locals>.NamedIntNamedIntc                     |}|^}}t        |      dk(  rt        d      t        j                  | g| }||_        ||_        |S Nr    name and value must be specifiedr  r|  r  rw  _intname_argsre  argsr<  r   r   s        r6   rw  zETestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__new__  M    "tt9>#$FGG{{3.. $"
r8   c                     | j                   S r   r<  r   s    r6   __getnewargs__zLTestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__getnewargs__  s    zz!r8   c                     | j                   S r   r;  r   s    r6   r@   zFTestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__name__      }}$r8   c                     dj                  t        |       j                  | j                  t        j	                  |             S Nz{}({!r}, {})r[  r  r@   r  r  r   s    r6   r  zFTestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__repr__  5    %,,T
++T* r8   c                 |    t         }|j                  }|j                  t        u r|j	                  |       S  ||       S r   r  r  __objclass__r  r  r   basebase_strs      r6   r  zETestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__str__  7    <<((F2==..~%r8   c                     t        |       t        |      z   }t        |       r9t        |      r- dj                  | j                  |j                        |      S |S Nz({0} + {1})r  r  r[  r@   r   otherr  r6  s      r6   __add__zETestSpecial.test_subclasses_with_getnewargs.<locals>.NamedInt.__add__  W    4y3;.dH-*UH2M#%,,T]]ENNK 
  Kr8   N)
r@   rA   rB   rw  rB  bltnsr   r  r  rV  r6  s   r6   r6  r5    s7    %L"^^% %& r8   r6  c                       e Zd ZdZdZdZy)8TestSpecial.test_subclasses_with_getnewargs.<locals>.NEINEIzthe-xr=   zthe-yr&   Nr@   rA   rB   xyrF   r8   r6   r\  r[         LAAr8   r\  NamedInt('(the-x + the-y)', 3)testrA  r&   r  r   r  rw  r   r  r`  ra  r  rs   r\  r   r\  NI5r6  s      @r6   test_subclasses_with_getnewargsz+TestSpecial.test_subclasses_with_getnewargs      (	 s (	 T	(D 	 	ckk4<<0ceeceem,.NO (	*	%vq!a d..Q7a(dmmSUU3dmmS1r8   c                 P    G fddt                G d dt              }| j                  |j                  t        j                         | j	                  t        |j                  |j                  z         d       t               d<   |t               d<    dd      }| j	                  |d       t        | j                  |d       | j	                  |j                  j                  d       t        | j                  |j                         t        | j                  |       y )	Nc                   X    e Zd ZdZd Zd Zej                  d        Z d Zd Z fdZ	y)	@TestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedIntr6  c                     |}|^}}t        |      dk(  rt        d      t        j                  | g| }||_        ||_        |S r8  r:  r=  s        r6   rw  zHTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__new__  r?  r8   c                     | j                   i fS r   rA  r   s    r6   __getnewargs_ex__zRTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__getnewargs_ex__  s    zz2~%r8   c                     | j                   S r   rD  r   s    r6   r@   zITestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__name__  rE  r8   c                     dj                  t        |       j                  | j                  t        j	                  |             S rG  rH  r   s    r6   r  zITestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__repr__  rI  r8   c                 |    t         }|j                  }|j                  t        u r|j	                  |       S  ||       S r   rK  rM  s      r6   r  zHTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__str__  rP  r8   c                     t        |       t        |      z   }t        |       r9t        |      r- dj                  | j                  |j                        |      S |S rR  rS  rT  s      r6   rV  zHTestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NamedInt.__add__  rW  r8   N)
r@   rA   rB   rw  ro  rX  r   r  r  rV  rY  s   r6   r6  rl    s7    %L&^^% %& r8   r6  c                       e Zd ZdZdZdZy);TestSpecial.test_subclasses_with_getnewargs_ex.<locals>.NEIr\  r]  r^  Nr_  rF   r8   r6   r\  ru    rb  r8   r\  rc  rd  rA  r&   re  rf  s      @r6   "test_subclasses_with_getnewargs_exz.TestSpecial.test_subclasses_with_getnewargs_ex  ri  r8   c                 P    G fddt                G d dt              }| j                  |j                  t        j                         | j	                  t        |j                  |j                  z         d       t               d<   |t               d<    dd      }| j	                  |d       t        | j                  |d       | j	                  |j                  j                  d       t        | j                  |j                         t        | j                  |       y )	Nc                   X    e Zd ZdZd Zd Zej                  d        Z d Zd Z fdZ	y)	9TestSpecial.test_subclasses_with_reduce.<locals>.NamedIntr6  c                     |}|^}}t        |      dk(  rt        d      t        j                  | g| }||_        ||_        |S r8  r:  r=  s        r6   rw  zATestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__new__  r?  r8   c                 2    | j                   | j                  fS r   rQ  r<  r   s    r6   
__reduce__zDTestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__reduce__      ~~tzz11r8   c                     | j                   S r   rD  r   s    r6   r@   zBTestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__name__  rE  r8   c                     dj                  t        |       j                  | j                  t        j	                  |             S rG  rH  r   s    r6   r  zBTestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__repr__  rI  r8   c                 |    t         }|j                  }|j                  t        u r|j	                  |       S  ||       S r   rK  rM  s      r6   r  zATestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__str__#  rP  r8   c                     t        |       t        |      z   }t        |       r9t        |      r- dj                  | j                  |j                        |      S |S rR  rS  rT  s      r6   rV  zATestSpecial.test_subclasses_with_reduce.<locals>.NamedInt.__add__,  rW  r8   N)
r@   rA   rB   rw  r}  rX  r   r  r  rV  rY  s   r6   r6  ry    7    %L2^^% %& r8   r6  c                       e Zd ZdZdZdZy)4TestSpecial.test_subclasses_with_reduce.<locals>.NEIr\  r]  r^  Nr_  rF   r8   r6   r\  r  6  rb  r8   r\  rc  rd  rA  r&   re  rf  s      @r6   test_subclasses_with_reducez'TestSpecial.test_subclasses_with_reduce  ri  r8   c                 P    G fddt                G d dt              }| j                  |j                  t        j                         | j	                  t        |j                  |j                  z         d       t               d<   |t               d<    dd      }| j	                  |d       t        | j                  |d       | j	                  |j                  j                  d       t        | j                  |j                         t        | j                  |       y )	Nc                   X    e Zd ZdZd Zd Zej                  d        Z d Zd Z fdZ	y)	<TestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedIntr6  c                     |}|^}}t        |      dk(  rt        d      t        j                  | g| }||_        ||_        |S r8  r:  r=  s        r6   rw  zDTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__new__J  r?  r8   c                 2    | j                   | j                  fS r   r|  r   ru  s     r6   rt  zJTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__reduce_ex__S  r~  r8   c                     | j                   S r   rD  r   s    r6   r@   zETestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__name__U  rE  r8   c                     dj                  t        |       j                  | j                  t        j	                  |             S rG  rH  r   s    r6   r  zETestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__repr__X  rI  r8   c                 |    t         }|j                  }|j                  t        u r|j	                  |       S  ||       S r   rK  rM  s      r6   r  zDTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__str___  rP  r8   c                     t        |       t        |      z   }t        |       r9t        |      r- dj                  | j                  |j                        |      S |S rR  rS  rT  s      r6   rV  zDTestSpecial.test_subclasses_with_reduce_ex.<locals>.NamedInt.__add__h  rW  r8   N)
r@   rA   rB   rw  rt  rX  r   r  r  rV  rY  s   r6   r6  r  H  r  r8   r6  c                       e Zd ZdZdZdZy)7TestSpecial.test_subclasses_with_reduce_ex.<locals>.NEIr\  r]  r^  Nr_  rF   r8   r6   r\  r  r  rb  r8   r\  rc  rd  rA  r&   re  rf  s      @r6   test_subclasses_with_reduce_exz*TestSpecial.test_subclasses_with_reduce_exG  s    (	 s (	 T	(D 	
 	ckk4<<0ceeceem,.NO (	*	%vq!a d..Q7a(dmmSUU3dmmS1r8   c                     G fddt                G d dt              }| j                  |j                  t        j                         | j	                  t        |j                  |j                  z         d       t               d<   |t               d<    dd      }| j	                  |d       | j	                  |j                  j                  d       | j                  t        d	      5  t        | j                  |j                         d d d        t        j                  |_        t        | j                  |j                         t        | j                  |       y # 1 sw Y   UxY w)
Nc                   R    e Zd ZdZd Zej
                  d        Z d Zd Z fdZy)KTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedIntr6  c                     |}|^}}t        |      dk(  rt        d      t        j                  | g| }||_        ||_        |S r8  r:  r=  s        r6   rw  zSTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__new__  r?  r8   c                     | j                   S r   rD  r   s    r6   r@   zTTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__name__  rE  r8   c                     dj                  t        |       j                  | j                  t        j	                  |             S rG  rH  r   s    r6   r  zTTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__repr__  rI  r8   c                 |    t         }|j                  }|j                  t        u r|j	                  |       S  ||       S r   rK  rM  s      r6   r  zSTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__str__  rP  r8   c                     t        |       t        |      z   }t        |       r9t        |      r- dj                  | j                  |j                        |      S |S rR  rS  rT  s      r6   rV  zSTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NamedInt.__add__  sW    4y3;.dH-*UH2M#%,,T]]ENNK   Kr8   N	r@   rA   rB   rw  rX  r   r  r  rV  rY  s   r6   r6  r    s4    %L ^^% %& r8   r6  c                       e Zd ZdZdZdZy)FTestSpecial.test_subclasses_without_direct_pickle_support.<locals>.NEIr\  r]  r^  Nr_  rF   r8   r6   r\  r    rb  r8   r\  rc  rd  rA  r&   r9  )r  r   r  rw  r   r  r`  ra  r  r\  r   r|  rs   r,   pickle_by_enum_namert  rf  s      @r6   -test_subclasses_without_direct_pickle_supportz9TestSpecial.test_subclasses_without_direct_pickle_support  s   %	 s %	 N	(D 	 	ckk4<<0ceeceem,.NO (	*	%vq!a a(##I/QR 	8!$--7	8 !44dmmSUU3dmmS1	8 	8s   0!E%%E.c                 "    G fddt                G d dt              }| j                  |j                  t        j                         | j	                  t        |j                  |j                  z         d       t               d<   |t               d<    dd      }| j	                  |d       | j	                  |j                  j                  d       t        | j                  |j                         t        | j                  |       y )	Nc                   R    e Zd ZdZd Zej
                  d        Z d Zd Z fdZy)HTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedIntr6  c                     |}|^}}t        |      dk(  rt        d      t        j                  | g| }||_        ||_        |S r8  r:  r=  s        r6   rw  zPTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__new__  r?  r8   c                     | j                   S r   rD  r   s    r6   r@   zQTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__name__  rE  r8   c                     dj                  t        |       j                  | j                  t        j	                  |             S rG  rH  r   s    r6   r  zQTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__repr__  rI  r8   c                 |    t         }|j                  }|j                  t        u r|j	                  |       S  ||       S r   rK  rM  s      r6   r  zPTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__str__  rP  r8   c                     t        |       t        |      z   }t        |       r9t        |      r- dj                  | j                  |j                        |      S |S rR  rS  rT  s      r6   rV  zPTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NamedInt.__add__  rW  r8   Nr  rY  s   r6   r6  r    s4    %L ^^% %& r8   r6  c                       e Zd ZdZdZdZd Zy)CTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NEIr\  r]  r^  c                 >    t         | j                  | j                  ffS r   )rW  rQ  r  r  s     r6   rt  zQTestSpecial.test_subclasses_with_direct_pickle_support.<locals>.NEI.__reduce_ex__  s     ===r8   N)r@   rA   rB   r`  ra  rt  rF   r8   r6   r\  r    s     LAA>r8   r\  rc  rd  rA  r&   )r  r   r  rw  r   r  r`  ra  r  r\  rs   rf  s      @r6   *test_subclasses_with_direct_pickle_supportz6TestSpecial.test_subclasses_with_direct_pickle_support  s    &	 s &	 P	>(D 	> 	ckk4<<0ceeceem,.NO (	*	%vq!a a(dmmSUU3dmmS1r8   c                 H    G d dt         t              }| j                  t        |j                        |       | j                  |j                  t                | j                  |j                  d       |t               d<   t        | j                  |j                         y )Nc                       e Zd ZdZdZdZdZy)2TestSpecial.test_tuple_subclass.<locals>.SomeTuple	SomeTuple)r=   zfor the money)r&   zfor the showr>   zfor the musicNr  rF   r8   r6   r  r    s    &L(E(F(Er8   r  r  )r  r   r  r  r   assertIsInstancer  r   r  r  rs   )r   r  s     r6   test_tuple_subclasszTestSpecial.test_tuple_subclass  sr    	)t 	)
 	d9??+Y7i..6*>?!*	+dmmY__=r8   c                 t    G d dt               }| j                  t        |      |j                  |j                  |j
                  g       | j                  t        |j                        d       | j                  |j
                  j                  d       | j                   |d      |j                         y )Nc                   $    e Zd ZdZdZdZd Zd Zy)LTestSpecial.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumberrF   c                 n    t        | j                        dz   }t        j                  |       }||_        |S Nr=   r  __members__r  rw  r  re  r\  rv   s      r6   rw  zTTestSpecial.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__new__	  /    COO,q0nnS)#
r8   c                 ,    t        | j                        S r   r  r  r   s    r6   r  zTTestSpecial.test_duplicate_values_give_unique_enum_items.<locals>.AutoNumber.__int__	      4<<((r8   N)r@   rA   rB   r   r  r  rw  r  rF   r8   r6   
AutoNumberr  	  s    EFE
)r8   r  r&   r>   r=   )	r   r   r   r   r  r  r  r\  r  )r   r  s     r6   ,test_duplicate_values_give_unique_enum_itemsz8TestSpecial.test_duplicate_values_give_unique_enum_items	  s    
	) 
	) 	Z !!:#4#4j6F6FG	 	Z../3))//3jmZ%5%56r8   c                     G d dt               } G d d|      }| j                  t        |      |j                  |j                  |j
                  g       | j                  t        t        t        |            g d       y )Nc                       e Zd Zd Zd Zy)ETestSpecial.test_inherited_new_from_enhanced_enum.<locals>.AutoNumberc                 n    t        | j                        dz   }t        j                  |       }||_        |S r  r  r  s      r6   rw  zMTestSpecial.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__new__	  r  r8   c                 ,    t        | j                        S r   r  r   s    r6   r  zMTestSpecial.test_inherited_new_from_enhanced_enum.<locals>.AutoNumber.__int__	  r  r8   N)r@   rA   rB   rw  r  rF   r8   r6   r  r  	  s    
)r8   r  c                       e Zd ZdZdZdZy)@TestSpecial.test_inherited_new_from_enhanced_enum.<locals>.ColorrF   Nrx  rF   r8   r6   r|  r  	      CEDr8   r|  rB  )r   r   r   ry  rz  r{  mapr  r   r  r|  s      r6   %test_inherited_new_from_enhanced_enumz1TestSpecial.test_inherited_new_from_enhanced_enum	  s^    	) 	)	J 	 	euyy%++uzz&JKc#uo.	:r8   c                     G d dt               } G d d|      }| j                  t        |      |j                  |j                  |j
                  g       | j                  t        t        t        |            g d       y )Nc                       e Zd Zd Zy)BTestSpecial.test_inherited_new_from_mixed_enum.<locals>.AutoNumberc                 p    t        | j                        dz   }t        j                  | |      }||_        |S r  )r  r  r  rw  r  r  s      r6   rw  zJTestSpecial.test_inherited_new_from_mixed_enum.<locals>.AutoNumber.__new__(	  s1    COO,q0kk#u-#
r8   Nr  rF   r8   r6   r  r  '	      r8   r  c                       e Zd ZdZdZdZy)=TestSpecial.test_inherited_new_from_mixed_enum.<locals>.ColorrF   Nrx  rF   r8   r6   r|  r  -	  r  r8   r|  rB  )r   r   r   ry  rz  r{  r  r  r  s      r6   "test_inherited_new_from_mixed_enumz.TestSpecial.test_inherited_new_from_mixed_enum&	  s^    	 		J 	 	euyy%++uzz&JKc#uo.	:r8   c                      G d dt               }| j                  t        |j                         | j                  |j                  t               y )Nc                       e Zd ZdZy)/TestSpecial.test_equality.<locals>.OrdinaryEnumr=   N)r@   rA   rB   r   rF   r8   r6   OrdinaryEnumr  5	  rI  r8   r  )r   r   r#   r   )r   r  s     r6   test_equalityzTestSpecial.test_equality4	  s6    	4 	LNN33r8   c                      G d dt               } G d d|      }| j                  |j                  |j                         | j	                  |j
                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         y )Nc                   $    e Zd Zd Zd Zd Zd Zy)3TestSpecial.test_ordered_mixin.<locals>.OrderedEnumc                 p    | j                   |j                   u r| j                  |j                  k\  S t        S r   rQ  r  NotImplementedr   rU  s     r6   __ge__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__ge__<	  +    >>U__4<<5==88%%r8   c                 p    | j                   |j                   u r| j                  |j                  kD  S t        S r   r  r  s     r6   __gt__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__gt__@	  +    >>U__4<<%--77%%r8   c                 p    | j                   |j                   u r| j                  |j                  k  S t        S r   r  r  s     r6   __le__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__le__D	  r  r8   c                 p    | j                   |j                   u r| j                  |j                  k  S t        S r   r  r  s     r6   __lt__z:TestSpecial.test_ordered_mixin.<locals>.OrderedEnum.__lt__H	  r  r8   N)r@   rA   rB   r  r  r  r  rF   r8   r6   OrderedEnumr  ;	  s    &&&&r8   r  c                        e Zd ZdZdZdZdZdZy)-TestSpecial.test_ordered_mixin.<locals>.GraderA  rN   r>   r&   r=   Nr5  rF   r8   r6   Grader  L	  r:  r8   r  )r   assertGreaterrG  r  assertLessEqualr8  r6  
assertLessr7  assertGreaterEqualr   r  )r   r  r  s      r6   test_ordered_mixinzTestSpecial.test_ordered_mixin:	  s    	&$ 	&"	K 	 	577EGG,UWWegg.)1%''*EGGUWW-r8   c                      G d dt               } G d d|      }| j                  t              5   G d d|      }d d d        y # 1 sw Y   y xY w)Nc                       e Zd Zd Zy)*TestSpecial.test_extending2.<locals>.Shadec                 .    t        | j                         y r   )printr   r   s    r6   shadez0TestSpecial.test_extending2.<locals>.Shade.shade[	  s    dii r8   Nr@   rA   rB   r  rF   r8   r6   Shader  Z	  rV  r8   r  c                       e Zd ZdZdZdZy)*TestSpecial.test_extending2.<locals>.Colorr=   r&   r>   Nrx  rF   r8   r6   r|  r  ]	  r  r8   r|  c                       e Zd ZdZdZdZy).TestSpecial.test_extending2.<locals>.MoreColorrN   rA  r  Nr  rF   r8   r6   r  r  b	  r  r8   r  )r   rl  r|  r   r  r|  r  s       r6   test_extending2zTestSpecial.test_extending2Y	  sK    	!D 	!	E 	 y) 	E 	 	 	   AAc                      G d dt               } G d d|      } G d d|      }| j                  |j                  j                         d       y )Nc                       e Zd Zd Zy)*TestSpecial.test_extending3.<locals>.Shadec                     | j                   S r   r   r   s    r6   r  z0TestSpecial.test_extending3.<locals>.Shade.shadei	  s    yy r8   Nr  rF   r8   r6   r  r  h	  rV  r8   r  c                       e Zd Zd Zy)*TestSpecial.test_extending3.<locals>.Colorc                      d| j                   z  S )Nz%s hexlified!r  r   s    r6   r  z.TestSpecial.test_extending3.<locals>.Color.hexl	  s    &33r8   N)r@   rA   rB   r  rF   r8   r6   r|  r  k	  r9  r8   r|  c                       e Zd ZdZdZdZy).TestSpecial.test_extending3.<locals>.MoreColorrN   rA  r  Nr  rF   r8   r6   r  r
  n	  s    DGFr8   r  z5 hexlified!)r   r   r  r  r  s       r6   test_extending3zTestSpecial.test_extending3g	  sG    	!D 	!	4E 	4	 	 	**..0.Ar8   c                      G d dt               } G d d|      }| j                  t        |j                        |       y )Nc                       e Zd Zd Zy)6TestSpecial.test_subclass_duplicate_name.<locals>.Basec                      y r   rF   r   s    r6   rd  z;TestSpecial.test_subclass_duplicate_name.<locals>.Base.testv	  rO  r8   Nr@   rA   rB   rd  rF   r8   r6   Baser  u	      r8   r  c                       e Zd ZdZy)6TestSpecial.test_subclass_duplicate_name.<locals>.Testr=   Nr  rF   r8   r6   r  r  x	      Dr8   r  )r   r  r  rd  )r   r  r  s      r6   test_subclass_duplicate_namez(TestSpecial.test_subclass_duplicate_namet	  s0    	4 		4 	d499ot,r8   c                    ddl m  G fddt              } G d d|      }| j                  |j                  j                  d       | j                  |j                  j
                  d        G d	 d
t              } G d d|      }| j                  |j                  j                  d       | j                  |j                  j
                  d       y )Nr   DynamicClassAttributec                        e Zd ZW  d        Zy)>TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Basec                      y)NdynamicrF   r   s    r6   rd  zCTestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Base.test	  s     r8   Nr  r  s   r6   r  r  ~	  s    "! #!r8   r  c                       e Zd ZdZy>TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Testr=   Nr  rF   r8   r6   r  r   	  r  r8   r  r  r=   c                   0    e Zd Zej                  d        Zy)?TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Base2c                      y)Nflashy dynamicrF   r   s    r6   flashzETestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Base2.flash	  s    'r8   N)r@   rA   rB   r,   r   r%  rF   r8   r6   Base2r"  	  s    ]]( (r8   r&  c                       e Zd ZdZyr  )r@   rA   rB   r%  rF   r8   r6   r  z>TestSpecial.test_subclass_duplicate_name_dynamic.<locals>.Test	  s    Er8   r$  )typesr  r   r   rd  r\  r%  )r   r  r  r&  r  s       @r6   $test_subclass_duplicate_name_dynamicz0TestSpecial.test_subclass_duplicate_name_dynamic|	  s    /	!4 	!	4 	3!,	(D 	(	5 	))+;<))1-r8   c                      G d dt               } G d d|      }| j                  t              5   G d d|      }d d d        y # 1 sw Y   y xY w)Nc                       e Zd Zd Zy)2TestSpecial.test_no_duplicates.<locals>.UniqueEnumc                       j                   }t         fd|D              r9 j                  } | j                        j                  }t	        d|d|      y )Nc              3   P   K   | ]  }j                   |j                   k(    y wr   r  ).0r   r   s     r6   	<genexpr>zNTestSpecial.test_no_duplicates.<locals>.UniqueEnum.__init__.<locals>.<genexpr>	  s     :tzzQWW,:s   #&z$aliases not allowed in UniqueEnum:  z --> )rQ  anyr   r\  r   )r   r>  re  r   r   s   `    r6   r   z;TestSpecial.test_no_duplicates.<locals>.UniqueEnum.__init__	  sR    nn:c::		ADJJ,,A$ !%  ;r8   Nr@   rA   rB   r   rF   r8   r6   
UniqueEnumr,  	  s    r8   r3  c                       e Zd ZdZdZdZy-TestSpecial.test_no_duplicates.<locals>.Colorr=   r&   r>   Nrx  rF   r8   r6   r|  r6  	  r  r8   r|  c                       e Zd ZdZdZdZdZyr5  )r@   rA   rB   ry  rz  r{  grenerF   r8   r6   r|  z-TestSpecial.test_no_duplicates.<locals>.Color	  s    r8   )r   rl  r   )r   r3  r|  s      r6   test_no_duplicateszTestSpecial.test_no_duplicates	  sK    		 			J 	 z* 	
 	 	 	r  c                      G d dt               }| j                  t        |j                  j                  d      d       | j                  |j                  j
                  d       y )Nc                   V    e Zd ZdZdZdZdZdZdZdZ	dZ
d	 Zej                  d
        Zy)%TestSpecial.test_init.<locals>.Planet)gITf|Dg    
BA)gQX4Eg    WAgoEg    TXA)g	Dg    (IA)gcEg   A)g[\h}Eg    ，A)g#'?TQEg   _xA)gJ-UEg    wAc                      || _         || _        y r   massradius)r   r@  rA  s      r6   r   z.TestSpecial.test_init.<locals>.Planet.__init__	  s     	$r8   c                 X    d}|| j                   z  | j                  | j                  z  z  S )NgyдW=r?  )r   r  s     r6   surface_gravityz5TestSpecial.test_init.<locals>.Planet.surface_gravity	  s)      499}dkk(ABBr8   N)r@   rA   rB   MERCURYVENUSEARTHMARSJUPITERSATURNURANUSNEPTUNEr   r,   r   rC  rF   r8   r6   Planetr<  	  sI    +G+E,E+D+G+F+F+G% ]]C Cr8   rL  r&   g#@r=  )r   r   roundrF  rC  r\  )r   rL  s     r6   	test_initzTestSpecial.test_init	  sN    	CT 	C" 	v||;;Q?F++-CDr8   c                     G d dt         t              }| j                  t        |d             | j                  t        |d             | j                  t        |d             | j	                  t        |j                  t                      | j	                  |j                  |j                  u        | j	                  |j                  |j                  u        y )Nc                       e Zd Z	 d ZdZ e       Z ed      D ]  Zedz  dfedez  <     ed      D ]  Zedz  d	fed
ez  <     ed      D ]  Zedfedez  <    e	Z
eZeZy)'TestSpecial.test_ignore.<locals>.Periodc                 N    t        j                  | |      }||_        ||_        |S r   )r%   rw  r  period)re  r\  rS  rv   s       r6   rw  z/TestSpecial.test_ignore.<locals>.Period.__new__	  s'    ''U3##

r8   zPeriod ir  r  r  zmonth_%d5   r   weekzweek_%d    dayzday_%dN)r@   rA   rB   rw  _ignore_varsr  ro   r  day_1OneDayweek_1OneWeekmonth_1OneMonthrF   r8   r6   r  rQ  	  s    
 "HVF2Y 7)*2wzA~&72Y 4()!Vy1}%42Y 0'(%xx!|$0FGHr8   r  rX  r  )r%   r   r   rk  r   r  rZ  r^  day_30week_4day_28r  s     r6   test_ignorezTestSpecial.test_ignore	  s    	Y 	( 	4523-.
6<<;<&--7867r8   c                 `    G d dt               } G d d|      }| j                  t        |      |j                  |j                  |j
                  g       t        |t        d            D ]@  \  }}|dz  }| j                  |j                  |g       | j                   ||g      |       B y )Nc                       e Zd Zd Zy)9TestSpecial.test_nonhash_value.<locals>.AutoNumberInAListc                 p    t        | j                        dz   g}t        j                  |       }||_        |S r  r  r  s      r6   rw  zATestSpecial.test_nonhash_value.<locals>.AutoNumberInAList.__new__	  s2    S__-12nnS)#
r8   Nr  rF   r8   r6   AutoNumberInAListrf  	  r  r8   rh  c                       e Zd ZdZdZdZy)4TestSpecial.test_nonhash_value.<locals>.ColorInAListrF   Nrx  rF   r8   r6   ColorInAListrj  	  r  r8   rk  r>   r=   )
r   r   r   ry  rz  r{  r  ro   r\  r  )r   rh  rk  r,   r\  s        r6   test_nonhash_valuezTestSpecial.test_nonhash_value	  s    	 		, 	 	l+l.>.>@R@RT`TeTe-fg|U1X6 	7KD%QJETZZ%1MM,w/6	7r8   c                      G d dt         t              } G d d|      }| j                  t        |      |j                  |j
                  g       | j                  |j                  d       | j                   |d      |j                         y )Nc                       e Zd Zd Zy)KTestSpecial.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnumc                 X    |\  }}t         j                  | |      }||_        ||_        |S r   )r  rw  labelr  )re  r>  r\  rq  rv   s        r6   rw  zSTestSpecial.test_conflicting_types_resolved_in_new.<locals>.LabelledIntEnum.__new__	  s.    #ukk#u-!	#
r8   Nr  rF   r8   r6   LabelledIntEnumro  	  s    r8   rr  c                       e Zd ZdZdZy)HTestSpecial.test_conflicting_types_resolved_in_new.<locals>.LabelledList)r=   Unprocessed)r&   zPayment CompleteN)r@   rA   rB   unprocessedpayment_completerF   r8   r6   LabelledListrt  	  s    ,K6r8   rx  r=   )r  r   r   r   rv  rw  )r   rr  rx  s      r6   &test_conflicting_types_resolved_in_newz2TestSpecial.test_conflicting_types_resolved_in_new	  st    	c4 		7? 	7 	l+l.F.FHeHe-fg1115a,*B*BCr8   c                      G d dt               }	  |d       t        d      # t        $ r'}| j                  |j                  d u        Y d }~y d }~ww xY w)Nc                       e Zd ZdZdZdZy)DTestSpecial.test_default_missing_no_chained_exception.<locals>.Colorr=   r&   r>   N)r@   rA   rB   r  GREENBLUErF   r8   r6   r|  r|  	  r  r8   r|  r   Exception not raised.)r   r  r   r   r  r   r|  excs      r6   )test_default_missing_no_chained_exceptionz5TestSpecial.test_default_missing_no_chained_exception	  sR    	D 		5!H 344  	5OOCOOt344	5s   $ 	AAAc                 >    G d dt               }| j                   |d      |j                         	  |d       t        d      # t        $ r'}| j                  |j                  d u        Y d }~nd }~ww xY w	  |d       t        d      # t        $ r3}| j                  t        |j                  t                     Y d }~nd }~ww xY w	  |d       t        d      # t        $ r3}| j                  t        |j                  t                     Y d }~y d }~ww xY w)Nc                   (    e Zd ZdZdZdZed        Zy)0TestSpecial.test_missing_override.<locals>.Colorr=   r&   r>   c                 H    |dk(  r| j                   S |dk(  ry|dk(  rt        y )Nr9  
bad returnrA  	error out)r{  ZeroDivisionError)re  r  s     r6   	_missing_z:TestSpecial.test_missing_override.<locals>.Color._missing_	
  s0    7?88O\)[(++  r8   N)r@   rA   rB   ry  rz  r{  classmethodr  rF   r8   r6   r|  r  
  s#    CED
  
 r8   r|  r9  r   r  r  r  )
r   r  r{  r  r   r   r  r|  r  r  r  s      r6   test_missing_overridez!TestSpecial.test_missing_override
  s    	 D 	   	eGnejj1	5!H 344  	5OOCOOt344	5	5, 344  	EOOJs
CDD	E	5+ 344 ! 	EOOJs
CDD	EsG   A 	A6A11A6:B 	C	)CC	C   	D))DDc                 H   dd l }dd l} G d dt        j                         G d d      } G fdd      }|j	                   |             }|j	                   |             }|j                          | j                   |       d        | j                   |       d        y )Nr   c                       e Zd ZdZdZy);TestSpecial.test_missing_exceptions_reset.<locals>.TestEnumval1val2N)r@   rA   rB   VAL1VAL2rF   r8   r6   TestEnumr  -
  s    DDr8   r  c                       e Zd Zd Zy)9TestSpecial.test_missing_exceptions_reset.<locals>.Class1c                 6    	 t               # t         $ r Y y w xY wr   r   r   s    r6   r   zBTestSpecial.test_missing_exceptions_reset.<locals>.Class1.__init__2
  s!    $,&! s   
 	Nr2  rF   r8   r6   Class1r  1
  s    r8   r  c                       e Zd Z fdZy)9TestSpecial.test_missing_exceptions_reset.<locals>.Class2c                 6    	  d       y # t         $ r Y y w xY w)Ninvalid_valuer  )r   r  s    r6   r   zBTestSpecial.test_missing_exceptions_reset.<locals>.Class2.__init__:
  s"    _-! s    	Nr2  )r  s   r6   Class2r  9
  s    r8   r  )gcweakrefr,   r   refcollectr  )r   r  r  r  r  class_1_refclass_2_refr  s          @r6   test_missing_exceptions_resetz)TestSpecial.test_missing_exceptions_reset)
  sz    	tyy 		 		 	 kk&(+kk&(+
 	

kmT*kmT*r8   c                   
  G d d      } G d d      
 G d dt               } G d dt               } G d	 d
|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       | j                  |j                  d       | j                  t        |j
                        d        G 
fdd
|
t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       | j                  |j                  d       | j                  t        |j
                        d        G 
fdd

|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       | j                  |j                  d       | j                  t        |j
                        d        G 
fdd
|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       | j                  t        |j
                        d       | j                  |j                  j                         d        G 
fdd
|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       | j                  t        |j
                        d       | j                  |j                  j                         d       | j                  |j                  j                         d        G 
fdd
||      }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       | j                  t        |j
                        d       | j                  |j                  j                         d       | j                  |j                  j                         d        G 
fdd
||      }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       | j                  t        |j
                        d       | j                  |j                  j                         d       | j                  |j                  j                         d        G 
fdd
t        ||      }	| j                  |	j                  j                  d       | j                  |	j                  j                  d       | j                  |	j
                  j                  d       | j                  t        |	j
                        d       | j                  |	j                  j                         d       | j                  |j                  j                         d       | j                  t        |	t                     y )Nc                       e Zd Zed        Zy)1TestSpecial.test_multiple_mixin.<locals>.MaxMixinc                 *    t        |       }|| _        |S r   )r  MAX)re  maxs     r6   r  z5TestSpecial.test_multiple_mixin.<locals>.MaxMixin.MAXM
  s    #h
r8   N)r@   rA   rB   r   r  rF   r8   r6   MaxMixinr  L
  s     r8   r  c                       e Zd Zd Zy)1TestSpecial.test_multiple_mixin.<locals>.StrMixinc                 6    | j                   j                         S r   r  lowerr   s    r6   r  z9TestSpecial.test_multiple_mixin.<locals>.StrMixin.__str__S
      {{((**r8   Nr@   rA   rB   r  rF   r8   r6   StrMixinr  R
      +r8   r  c                       e Zd Zd Zy)1TestSpecial.test_multiple_mixin.<locals>.SomeEnumc                      y)NbooyahrF   r   s    r6   behaviorz:TestSpecial.test_multiple_mixin.<locals>.SomeEnum.behaviorV
      r8   N)r@   rA   rB   r  rF   r8   r6   SomeEnumr  U
  s     r8   r  c                       e Zd Zd Zd Zy)4TestSpecial.test_multiple_mixin.<locals>.AnotherEnumc                      y)Nnuhuh!rF   r   s    r6   r  z=TestSpecial.test_multiple_mixin.<locals>.AnotherEnum.behaviorY
  r  r8   c                      y)N
what's up?rF   r   s    r6   socialz;TestSpecial.test_multiple_mixin.<locals>.AnotherEnum.social[
  s    #r8   N)r@   rA   rB   r  r  rF   r8   r6   AnotherEnumr  X
  s     $r8   r  c                   6    e Zd Z e       Z e       Z e       Zy.TestSpecial.test_multiple_mixin.<locals>.ColorNr@   rA   rB   r   r  r}  r~  rF   r8   r6   r|  r  ]
      &CFE6Dr8   r|  r=   r&   r>   
Color.BLUEc                   R    e Zd Z e       Z e       Z e       ZW  j                  Zyr  r@   rA   rB   r   r  r}  r~  r  r  s   r6   r|  z.TestSpecial.test_multiple_mixin.<locals>.Colorf
  #    &CFE6D&&Gr8   r{  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zyr  r  r  s   r6   r|  z.TestSpecial.test_multiple_mixin.<locals>.Colorp
  r  r8   c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zy)2TestSpecial.test_multiple_mixin.<locals>.CoolColorNr  r  s   r6   	CoolColorr  z
  r  r8   r  r  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zy)4TestSpecial.test_multiple_mixin.<locals>.CoolerColorNr  r  s   r6   CoolerColorr  
  r  r8   r  r  r  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zy)5TestSpecial.test_multiple_mixin.<locals>.CoolestColorNr  r  s   r6   CoolestColorr  
  r  r8   r  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zy)6TestSpecial.test_multiple_mixin.<locals>.ConfusedColorNr  r  s   r6   ConfusedColorr  
  r  r8   r  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zy)6TestSpecial.test_multiple_mixin.<locals>.ReformedColorNr  r  s   r6   ReformedColorr  
  r  r8   r  )r   r   r  r\  r}  r~  r  rU  r  r  r   r   r  r  )r   r  r  r  r|  r  r  r  r  r  r  s             @r6   test_multiple_mixinzTestSpecial.test_multiple_mixinK
  sl   	 		+ 	+	 t 	 	$$ 	$
	Hd 	 	!,**A.))1-A&UZZ,7	'Hh 	'
 	!,**A.))1-A&UZZ&1	'Hh 	'
 	!,**A.))1-A&UZZ&1	'(D 	'
 	,,a0..2--q1Y^^,f5//18<	'(K 	'
 	..2**00!4))//3[--.7113X>//1<@	'8X{ 	'
 	))//3++1115**00!4\../8))224h?))002LA	'Hk8 	'
 	**00!4,,22A6++1115]//0&9**335x@**113\B	'Hgx 	'
 	**00!4,,22A6++1115]//0&9**335x@**113\B
=#67r8   c                 z    t          G d dt                     } G d dt              }t          G d d|             }y )Nc                       e Zd ZdZdZdZy)<TestSpecial.test_multiple_inherited_mixin.<locals>.Decision1REVERT
REVERT_ALLRETRYNr@   rA   rB   r  r  r  rF   r8   r6   	Decision1r  
      F%JEr8   r  c                       e Zd Zy)9TestSpecial.test_multiple_inherited_mixin.<locals>.MyEnumNr   rF   r8   r6   r   r  
  r   r8   r   c                       e Zd ZdZdZdZy)<TestSpecial.test_multiple_inherited_mixin.<locals>.Decision2r  r  r  Nr  rF   r8   r6   	Decision2r  
  r  r8   r  )r   r	   )r   r  r   r  s       r6   test_multiple_inherited_mixinz)TestSpecial.test_multiple_inherited_mixin
  s@    		 	 
		W 			 	 
	r8   c                     G d dt               } G d d       G fdd|t        j                        } G d d|      }| j                  t	        |j
                  |             | j                  |j                  |       | j                  t        |j
                        d	        G d
 d|      }| j                  |j
                  d       y )Nc                        e Zd Z fdZ xZS )8TestSpecial.test_multiple_mixin_inherited.<locals>.MyIntc                 $    t         |   | |      S r   ru  )re  r\  rQ  s     r6   rw  z@TestSpecial.test_multiple_mixin_inherited.<locals>.MyInt.__new__
  s    wsE22r8   r"  rz  s   @r6   rU  r  
  s    3 3r8   rU  c                       e Zd Zd Zy);TestSpecial.test_multiple_mixin_inherited.<locals>.HexMixinc                     t        |       S r   r  r   s    r6   r  zDTestSpecial.test_multiple_mixin_inherited.<locals>.HexMixin.__repr__
  r  r8   Nr8  rF   r8   r6   HexMixinr  
  rV  r8   r  c                   (    e Zd ZW  j                  Zy)<TestSpecial.test_multiple_mixin_inherited.<locals>.MyIntEnumNr8  )r  s   r6   	MyIntEnumr  
  s    ((Hr8   r  c                       e Zd ZdZy)6TestSpecial.test_multiple_mixin_inherited.<locals>.Foor=   N)r@   rA   rB   TESTrF   r8   r6   r  r  
  r  r8   r  0x1c                       e Zd ZdZd Zy)6TestSpecial.test_multiple_mixin_inherited.<locals>.Feer=   c                 J    |dz  }t         j                  | |      }||_        |S r  r  rw  r  )re  r\  r   s      r6   rw  z>TestSpecial.test_multiple_mixin_inherited.<locals>.Fee.__new__
  s'    
S%0!&r8   N)r@   rA   rB   r  rw  rF   r8   r6   Feer  
  s    Dr8   r  r&   )	r  r,   r   r   r  r  r   rT  r  )r   rU  r  r  r  r  s        @r6   test_multiple_mixin_inheritedz)TestSpecial.test_multiple_mixin_inherited
  s    	3C 	3	! 	!	)% 	)	) 	
388U34**E2chh/	) 	 	1%r8   c                      G d dt         t              } G d dt         t              } G d d||      }|}| j                  t        |      |j                  |j
                  |j                  g       | j                  |j                  d       | j                  |j                  j                  d       | j                   |d      |j                         | j                  |j                  j                          |d	      }| j                  t        |      |j                  |j
                  |j                  g       | j                  |j                  d       | j                  |j                  j                  d       | j                   |d      |j                         | j                  |j                  j                         | j                  t        ||             | j                  |j                         y )
Nc                   (     e Zd Ze fd       Z xZS )UTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.CaseInsensitiveStrEnumc                     | j                   j                         D ]1  }|j                  j                         |j                         k(  s/|c S  t        |   |      S r   )_member_map_r4  r  r  rv  r  )re  r\  r   rQ  s      r6   r  z_TestSpecial.test_multiple_mixin_with_common_data_type.<locals>.CaseInsensitiveStrEnum._missing_
  sS    !..557 &F~~++->%& w(//r8   )r@   rA   rB   r  r  ry  rz  s   @r6   CaseInsensitiveStrEnumr  
  s    0 0r8   r	  c                   F    e Zd Zd Zed        Zej                  d        Zy)MTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnumc                     d| _         y )NT_valid)r   r>  s     r6   r   zVTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnum.__init__
  s	    "r8   c                     | j                   j                  | |      }d|_        |j                         |_        ||_        || j                  |<   |S )NF)rT  rw  r  r  r  r  r  )re  r\  unknowns      r6   r  zWTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnum._missing_
  sJ    ++33C?!&!&"'*1  'r8   c                     | j                   S r   r  r   s    r6   validzSTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.LenientStrEnum.valid
  s    {{"r8   N)	r@   rA   rB   r   r  r  r,   r   r  rF   r8   r6   LenientStrEnumr  
  s1    #  ]]# #r8   r  c                       e Zd ZdZdZdZy)HTestSpecial.test_multiple_mixin_with_common_data_type.<locals>.JobStatusactivepending
terminatedN)r@   rA   rB   ACTIVEPENDING
TERMINATEDrF   r8   r6   	JobStatusr  
  s    FG%Jr8   r  r  Activemissing)rU  r   r   r   r  r  r  r\  r  r   r  r  r   )r   r	  r  r  JSr  s         r6   )test_multiple_mixin_with_common_data_typez5TestSpecial.test_multiple_mixin_with_common_data_type
  s\   	0S$ 	0	#S$ 	#	&. 	&
 i299bjj"--*PQH-(3blBII.		(Y-i299bjj"--*PQH-(3blBII.		(
7B/0'r8   c                 D    d}t        |dd      }i }i }t        |||       y )Nz8from enum import Enum; Enum('Animal', 'ANT BEE CAT DOG')z<string>exec)compiler"  )r   code	global_nslocal_lss       r6   test_empty_globalszTestSpecial.test_empty_globals  s.     JtZ0	T9h'r8   c                   
  G d dt               }| j                  |j                  d       | j                  t        |j                        d       | j                  dj	                  |j                        d       | j                  |j                  t        |j                               | j                  |j                  dj	                  |j                               | j                  t        |j                        d        G d d      
 G 
fdd	
t               }| j                  |j                  d
       | j                  t        |j                        d        G d dt              } G d d|t               }| j                  |j                  d       | j                  |j                  t        |j                                G d d      } G d d||t               }| j                  |j                  d       | j                  |j                  t        |j                               | j                  t        d      5   G d dt               }d d d        | j                  t        d      5   G d dt               }d d d        | j                  t        d      5   G d dt               }	d d d        | j                  t        dt        j                        5   G d dt               }	d d d        | j                  t        d       5   G d! dt               }	d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   \xY w# 1 sw Y   y xY w)"Nc                       e Zd ZdZdZdZdZy)-TestSpecial.test_strenum.<locals>.GoodStrEnumr>  r?     3ascii   4latin1r  Nr@   rA   rB   r  r  r9  fourrF   r8   r6   GoodStrEnumr*        CC!E+Dr8   r3  r>  rd  z<GoodStrEnum.one: '1'>c                       e Zd Zd Zy)+TestSpecial.test_strenum.<locals>.DumbMixinc                      yNdon't do thisrF   r   s    r6   r  z3TestSpecial.test_strenum.<locals>.DumbMixin.__str__      &r8   Nr  rF   r8   r6   	DumbMixinr6    r  r8   r;  c                   4    e Zd ZdZdZdZW  j                  Zy)-TestSpecial.test_strenum.<locals>.DumbStrEnumrw  67Nr@   rA   rB   fivesixsevenr  r;  s   r6   DumbStrEnumr=         DCE''Gr8   rE  r?  r9  c                       e Zd Zd Zy)+TestSpecial.test_strenum.<locals>.EnumMixinc                      t        d|        y Nzhello from r  r   s    r6   rO  z1TestSpecial.test_strenum.<locals>.EnumMixin.hello)      01r8   NrP  rF   r8   r6   	EnumMixinrH  (      2r8   rM  c                       e Zd ZdZy)+TestSpecial.test_strenum.<locals>.HelloEnum8Nr@   rA   rB   eightrF   r8   r6   	HelloEnumrP  +      Er8   rT  rQ  c                       e Zd Zd Zy).TestSpecial.test_strenum.<locals>.GoodbyeMixinc                     t        d       y Nz%s wishes you a fond farewellrK  r   s    r6   goodbyez6TestSpecial.test_strenum.<locals>.GoodbyeMixin.goodbye1      56r8   Nr@   rA   rB   rZ  rF   r8   r6   GoodbyeMixinrW  0      7r8   r]  c                       e Zd ZdZy)-TestSpecial.test_strenum.<locals>.GoodbyeEnum9Nr@   rA   rB   ninerF   r8   r6   GoodbyeEnumr`  3      Dr8   rd  ra  z1 is not a stringc                       e Zd ZdZdZy)4TestSpecial.test_strenum.<locals>.FirstFailedStrEnumr=   r?  Nr  rF   r8   r6   FirstFailedStrEnumrg  9  s    r8   rh  z2 is not a stringc                       e Zd ZdZdZdZy)5TestSpecial.test_strenum.<locals>.SecondFailedStrEnumr>  r&   r@  Nr  rF   r8   r6   SecondFailedStrEnumrj  =  s    r8   rl  c                       e Zd ZdZdZy)4TestSpecial.test_strenum.<locals>.ThirdFailedStrEnumr>  r&   Nr  rF   r8   r6   ThirdFailedStrEnumrn  B  s    r8   ro  zencoding must be a string, not c                   ,    e Zd ZdZdej
                  fZy)rn  r>     2Nr@   rA   rB   r  sysgetdefaultencodingr  rF   r8   r6   ro  z4TestSpecial.test_strenum.<locals>.ThirdFailedStrEnumF      C222r8   zerrors must be a string, not 9c                       e Zd ZdZdZy)rn  r>  rq  r-  r  Nr  rF   r8   r6   ro  z4TestSpecial.test_strenum.<locals>.ThirdFailedStrEnumJ      &r8   )r	   r   r  rU  r[  r  rC  r   rS  rc  r   r|  rs  rt  )r   r3  rE  rM  rT  r]  rd  rh  rl  ro  r;  s             @r6   test_strenumzTestSpecial.test_strenum  s   	,' 	,
 	#.[__-s3[__5s;#koo*>?$++koo*FGkoo.0HI	' 	'	()W 	(
 	**C0[../A	2 	2		7 	#.#ioo*>?	7 	7	,	7 	))3/))3{/?/?+@A##I/BC 	W 	 ##I/BC 	g 	
 ##I/BC 	W 	 ##IVYVlVl/op 	33W 3	3 ##I/OP 	''W '	' 	'#	 		 	
	 		3 	3	' 	's<   	L+7L7%M$MM+L47M MMM$c                     G d dt         t              } G d d|      }| j                  |j                  d       | j                  t        |j                        d       | j                  dj	                  |j                        d       | j                  t        |j                        d        G d	 d
       G fdd|      }| j                  |j                  d       | j                  t        |j                        d        G d dt              } G d d||      }| j                  |j                  d       | j                  t        |j                        d        G d d      } G d d|||      }| j                  |j                  d       | j                  t        |j                        d        G d d|      } G d d|      }	 G d d |      }
| j                  t        d!      5   G d" d |      }
d d d        | j                  t        d#      5   G d$ d |      }
d d d        y # 1 sw Y   4xY w# 1 sw Y   y xY w)%Nc                       e Zd Zy)6TestSpecial.test_custom_strenum.<locals>.CustomStrEnumNr   rF   r8   r6   CustomStrEnumr|  O  r   r8   r}  c                       e Zd ZdZdZdZdZy)1TestSpecial.test_custom_strenum.<locals>.OkayEnumr>  r?  r+  r.  Nr1  rF   r8   r6   OkayEnumr  Q  r4  r8   r  r>  zOkayEnum.onerd  z<OkayEnum.one: '1'>c                       e Zd Zd Zy)2TestSpecial.test_custom_strenum.<locals>.DumbMixinc                      yr8  rF   r   s    r6   r  z:TestSpecial.test_custom_strenum.<locals>.DumbMixin.__str__\  r:  r8   Nr  rF   r8   r6   r;  r  [  r  r8   r;  c                   4    e Zd ZdZdZdZW  j                  Zy)4TestSpecial.test_custom_strenum.<locals>.DumbStrEnumrw  r>  r?  Nr@  rD  s   r6   rE  r  ^  rF  r8   rE  r?  r9  c                       e Zd Zd Zy)2TestSpecial.test_custom_strenum.<locals>.EnumMixinc                      t        d|        y rJ  rK  r   s    r6   rO  z8TestSpecial.test_custom_strenum.<locals>.EnumMixin.hellog  rL  r8   NrP  rF   r8   r6   rM  r  f  rN  r8   rM  c                       e Zd ZdZy)2TestSpecial.test_custom_strenum.<locals>.HelloEnumrQ  NrR  rF   r8   r6   rT  r  i  rU  r8   rT  rQ  zHelloEnum.eightc                       e Zd Zd Zy)5TestSpecial.test_custom_strenum.<locals>.GoodbyeMixinc                     t        d       y rY  rK  r   s    r6   rZ  z=TestSpecial.test_custom_strenum.<locals>.GoodbyeMixin.goodbyeo  r[  r8   Nr\  rF   r8   r6   r]  r  n  r^  r8   r]  c                       e Zd ZdZy)4TestSpecial.test_custom_strenum.<locals>.GoodbyeEnumra  Nrb  rF   r8   r6   rd  r  q  re  r8   rd  ra  zGoodbyeEnum.ninec                       e Zd ZdZdZy);TestSpecial.test_custom_strenum.<locals>.FirstFailedStrEnumr=   r?  Nr  rF   r8   r6   rh  r  v  s    CCr8   rh  c                       e Zd ZdZdZdZy)<TestSpecial.test_custom_strenum.<locals>.SecondFailedStrEnumr>  rk  r@  Nr  rF   r8   r6   rl  r  y  s    CCEr8   rl  c                       e Zd ZdZdZy);TestSpecial.test_custom_strenum.<locals>.ThirdFailedStrEnumr>  r&   Nr  rF   r8   r6   ro  r  }  s    CCr8   ro  z.encoding. must be str, not c                   ,    e Zd ZdZdej
                  fZy)r  r>  rq  Nrr  rF   r8   r6   ro  z;TestSpecial.test_custom_strenum.<locals>.ThirdFailedStrEnum  ru  r8   z.errors. must be str, not c                       e Zd ZdZdZy)r  r>  rw  Nr  rF   r8   r6   ro  z;TestSpecial.test_custom_strenum.<locals>.ThirdFailedStrEnum  rx  r8   )rU  r   r   r  r[  r  rC  rS  rc  r   r|  )r   r}  r  rE  rM  rT  r]  rd  rh  rl  ro  r;  s              @r6   test_custom_strenumzTestSpecial.test_custom_strenumN  s   	C 		,} 	,
 	s+X\\*N;X\\2NChll+-BC	' 	'	()] 	(
 	**C0[../A	2 	2		= 	#.Y__-/@A	7 	7	,	= 	))3/[--.0BC	 		- 		 	 ##I/MN 	33] 3	3 ##I/KL 	''] '	' 	'		3 	3	' 	's   6H5 I5H>I
c                     | j                  t        d      5   G d dt        t              }d d d        y # 1 sw Y   y xY w)Nz_value_ not set in __new__c                   (    e Zd Zd Zd ZdZdZdZdZy)6TestSpecial.test_missing_value_error.<locals>.Combinedc                     t         j                  | |      }d|v r'|j                  dd      \  }}|j                  d      }n|}d }||_        ||_        ||_        |S )N(r=   z ))rU  rw  r  stripfis_namesegmentsequence)re  r\  r  r,   r  r  s         r6   rw  z>TestSpecial.test_missing_value_error.<locals>.Combined.__new__  s`    ;;sE2De|,1KKQ,?)'")--"5#("&$,DM#*DL$,DMKr8   c                 P    d| j                   j                  d| j                  dS )N<r9   r+  )rQ  r@   r  r   s    r6   r  z?TestSpecial.test_missing_value_error.<locals>.Combined.__repr__  s    (,(?(?MMr8   )zAn$(1,2)r   )zAn$(3,2)r=   )zAn$(5,1)r&   )zBn$r>   N)	r@   rA   rB   rw  r  key_type
company_idr$  r  rF   r8   r6   Combinedr    s#     N !. -
 - -r8   r  )r   r|  rU  r   )r   r  s     r6   test_missing_value_errorz$TestSpecial.test_missing_value_error  s6    ##I/KL 	..3 .	. 	. 	.s   5>c                      G d dt               }| j                  |j                  d       | j                  |j                  d       y )Nc                       e Zd ZdZdZy)FTestSpecial.test_private_variable_is_normal_attribute.<locals>.PrivateRadarHoolihanN)r@   rA   rB   _Private__corporal_Private__major_rF   r8   r6   Privater    s     J!Hr8   r  r  r  )r   r   r  r  )r   r  s     r6   )test_private_variable_is_normal_attributez5TestSpecial.test_private_variable_is_normal_attribute  s<    	"d 	" 	33W=11:>r8   c                     G d dt               }|j                  j                  }| j                  ||j                         | j                  |j                  |d          | j                  |j                  j                  d       y )Nc                       e Zd ZdZdZdZy)6TestSpecial.test_member_from_member_access.<locals>.Dir=   r   r>   N)r@   rA   rB   YESNOr   rF   r8   r6   Dir    s    CBDr8   r  r   )r   r  r  r  r   r   )r   r  warns      r6   test_member_from_member_accessz*TestSpecial.test_member_from_member_access  s]    	 	 vvyydBEE"bggr&z*v.r8   c                    dddd G fddt               }| j                  t        |      |j                  |j                  g       | j                  |j                  j
                  d       | j                  |j                  j                         d       | j                  t        d      5   G fd	d
t               }d d d        y # 1 sw Y   y xY w)Nalooffriendlyr=  )FOO_CATBAR_DOG	FOO_HORSEc            
           e Zd Z e       j	                  W j                         D  ci c]  \  }}|j                  d      r|| c}}}        d Zyc c}}} w )ATestSpecial.test_dynamic_members_with_static_methods.<locals>.FooFOO_c                 6    | j                   j                         S r   r\  r  r   s    r6   r  zGTestSpecial.test_dynamic_members_with_static_methods.<locals>.Foo.upper  s    zz''))r8   Nr@   rA   rB   rY  updater  
startswithr  r/  r  r   foo_definess   000r6   r  r    sS    FMM + 1 1 3 1||F+ qD 
*s   Ar  rQ   z$'FOO_CAT' already defined as 'aloof'c            
           e Zd Z  e       j                  W j                         D  ci c]  \  }}|j                  d      r|| c}}} fi ddi d Zyc c}}} w )DTestSpecial.test_dynamic_members_with_static_methods.<locals>.FooBarr  r  smallc                 6    | j                   j                         S r   r  r   s    r6   r  zJTestSpecial.test_dynamic_members_with_static_methods.<locals>.FooBar.upper  s    ::++--r8   Nr  r  s   000r6   FooBarr    sd    $/$5$5$7  Aq<</ 1 
 %g..s   Ar  )	r   r   r   r  r  r\  r  r   r|  )r   r  r  r  s      @r6   (test_dynamic_members_with_static_methodsz4TestSpecial.test_dynamic_members_with_static_methods  s    ")juU	*$ 	* 	cS[[#--$@A**G4,,.6##I/UV 
	.	. 	.
	. 
	. 
	.s   0CCc                    	 ddl m}m  |d       G d d             } G d d|t              }| j	                  t        |j                        d	       | j                  |j                  j                   |d
      k(  |j                  j                         | j                  t        |j                  |             | j                  |j                  |u |j                         | G fdd             } G d d|t              }| j	                  t        |j                        d        G d d      } |d       G fdd|             } G d d|t              }| j	                  t        |j                        d        |d       G fdd             } G d d|t              }| j                  t        |j                        d       y )Nr   )	dataclassfieldF)r  c                   "    e Zd ZU dZeed<   d Zy)1TestSpecial.test_repr_with_dataclass.<locals>.Foor  r   c                      y)Nzha hah!rF   r   s    r6   r  z:TestSpecial.test_repr_with_dataclass.<locals>.Foo.__repr__  s     r8   N)r@   rA   rB   r  __annotations__r  rF   r8   r6   r  r    s     LF!r8   r  c                       e Zd ZdZy)5TestSpecial.test_repr_with_dataclass.<locals>.Entriesr=   Nr@   rA   rB   ENTRY1rF   r8   r6   Entriesr        Fr8   r  z<Entries.ENTRY1: ha hah!>r=   c                   H    e Zd ZU dZeed<   eed<    W  dd      Zeed<   y	?TestSpecial.test_repr_with_dataclass.<locals>.CreatureDataMixinCreatureDataMixinsizelegsFT)r  defaulttailNr@   rA   rB   rU  r  r  r  rW  r  s   r6   r  r    #    .LIIE48D$8r8   r  c                       e Zd ZdZdZdZy6TestSpecial.test_repr_with_dataclass.<locals>.CreatureCreature)r  r  )mediumrN   Nr@   rA   rB   BEETLEDOGrF   r8   r6   r  r        %L!FCr8   r  z%<Creature.DOG: size='medium', legs=4>c                       e Zd Zd Zy)1TestSpecial.test_repr_with_dataclass.<locals>.Huhc                      y)N	inheritedrF   r   s    r6   r  z:TestSpecial.test_repr_with_dataclass.<locals>.Huh.__repr__  s    "r8   Nr8  rF   r8   r6   r  r    s    #r8   r  c                   H    e Zd ZU dZeed<   eed<    W  dd      Zeed<   yr  r  r  s   r6   r  z?TestSpecial.test_repr_with_dataclass.<locals>.CreatureDataMixin  r  r8   c                       e Zd ZdZdZdZyr  r  rF   r8   r6   r  z6TestSpecial.test_repr_with_dataclass.<locals>.Creature  r  r8   z<Creature.DOG: inherited>c                   H    e Zd ZU dZeed<   eed<    W  dd      Zeed<   yr  r  r  s   r6   r  z?TestSpecial.test_repr_with_dataclass.<locals>.CreatureDataMixin  r  r8   c                       e Zd ZdZdZdZyr  r  rF   r8   r6   r  z6TestSpecial.test_repr_with_dataclass.<locals>.Creature	  r  r8   z0<Creature.DOG: .*CreatureDataMixin object at .*>)dataclassesr  r  r   r   r  r  r   r\  r  rT  r  assertRegex)r   r  r  r  r  r  r  r  s          @r6   test_repr_with_dataclassz$TestSpecial.test_repr_with_dataclass  s   3 	1			! 	! 
	!
	c4 	gnn-/JK,,A68L8LM
7>>378--4g6K6KL 
	9 	9 
	9
	 ($ 	  	hll+-TU	# 	# 
		9 	9 
	9
	 ($ 	  	hll+-HI 
		9 	9 
	9
	 ($ 	  	hll+-_`r8   c                      G d d      } G d d|t               }| j                  t        |j                        d       y )Nc                       e Zd Zd Zd Zy)2TestSpecial.test_repr_with_init_mixin.<locals>.Fooc                     || _         y r   r   )r   r   s     r6   r   z;TestSpecial.test_repr_with_init_mixin.<locals>.Foo.__init__  s	    r8   c                 "    d| j                   dS )NzFoo(a=)r  r   s    r6   r  z;TestSpecial.test_repr_with_init_mixin.<locals>.Foo.__repr__  s    z++r8   N)r@   rA   rB   r   r  rF   r8   r6   r  r    s    ,r8   r  c                       e Zd ZdZy)6TestSpecial.test_repr_with_init_mixin.<locals>.Entriesr=   Nr  rF   r8   r6   r  r    r  r8   r  zFoo(a=1))r   r   r  r  r   r  r  s      r6   test_repr_with_init_mixinz%TestSpecial.test_repr_with_init_mixin  s5    	, 	,
	c4 	 	gnn-z:r8   c                      G d d      } G d d|t               }| j                  t        |j                        d       | j                  t	        |j                        d       y )Nc                       e Zd Zd Zd Zy)=TestSpecial.test_repr_and_str_with_no_init_mixin.<locals>.Fooc                      y)Nr  rF   r   s    r6   r  zFTestSpecial.test_repr_and_str_with_no_init_mixin.<locals>.Foo.__repr__      r8   c                      y)NooFrF   r   s    r6   r  zETestSpecial.test_repr_and_str_with_no_init_mixin.<locals>.Foo.__str__  r
  r8   N)r@   rA   rB   r  r  rF   r8   r6   r  r    s    r8   r  c                       e Zd ZdZy)ATestSpecial.test_repr_and_str_with_no_init_mixin.<locals>.Entriesr=   Nr  rF   r8   r6   r  r  !  r  r8   r  r  )r   r   r  r  rU  r  s      r6   $test_repr_and_str_with_no_init_mixinz0TestSpecial.test_repr_and_str_with_no_init_mixin  sN    	 	
	c4 	 	gnn-u5W^^,e4r8   c                      G d dt               }| j                  |j                  j                  d       | j                  |j                  j                  d       y )Nc                       e Zd Zd ZdZdZy)2TestSpecial.test_value_backup_assign.<locals>.Somec                 ,    t         j                  |       S r   r  rw  )re  r  s     r6   rw  z:TestSpecial.test_value_backup_assign.<locals>.Some.__new__*      ~~c**r8   r=   r&   N)r@   rA   rB   rw  r`  ra  rF   r8   r6   Somer  )  s    +AAr8   r  r=   r&   )r   r   r`  r\  ra  )r   r  s     r6   test_value_backup_assignz$TestSpecial.test_value_backup_assign'  s@    	4 	
 	q)q)r8   c                     G d dt         t              }| j                  t        |j                  |j
                  z  |      |j                  |j
                  z         | j                  t        |j                  dz  |             y )Nc                       e Zd ZdZdZdZy)7TestSpecial.test_custom_flag_bitwise.<locals>.MyIntFlagr=   r&   rN   Nr@   rA   rB   r   r   FOURrF   r8   r6   	MyIntFlagr  2  r  r8   r  r&   )r  r   r   r  r   r   )r   r  s     r6   test_custom_flag_bitwisez$TestSpecial.test_custom_flag_bitwise1  s`    	T 	 	
9==9==#@)Limm^g^k^kNkl
9==1#4i@Ar8   c                     G d dt               }|j                  |j                  z  }t        j                  |      }t        j                  |      }| j                  ||       | j                  ||       |j                  |j                  z  dz  }t        j                  |      }t        j                  |      }| j                  ||       | j                  ||       | j                  |j                  d       y )Nc                       e Zd ZdZdZdZy)2TestSpecial.test_int_flags_copy.<locals>.MyIntFlagr=   r&   rN   Nr  rF   r8   r6   r  r!  :  r  r8   r  r  r  )r   r   r   r}  r~  r   r\  )r   r  flagsr  r  s        r6   test_int_flags_copyzTestSpecial.test_int_flags_copy9  s    	 	
 	-5!}}U#'u%	-15!}}U#'u%y1r8   c                    ddl m}  |dd       G fddt              }| j                  t	        |j
                        d       | j                  |j
                  j                   ddg              | j                  |D cg c]  }|j                   c} ddg        d	d
dg       d
dg d      g       y c c}w )Nr   )
namedtupleTTuplez
id a blistc                   V    e Zd Z W  ddg       Z W  dddg      Z W  ddg d      Zy)4TestSpecial.test_namedtuple_as_value.<locals>.NTEnumr   r=   r&   rN   r   r=   r&   N)r@   rA   rB   NONErG  r  )r&  s   r6   NTEnumr(  O  s/    !Q#Dq!aS!Aq!Y'Ar8   r+  z*<NTEnum.NONE: TTuple(id=0, a=0, blist=[])>)idr   blistr=   r&   rN   r)  )collectionsr%  r   r   r  r*  r\  )r   r%  r+  r`  r&  s       @r6   test_namedtuple_as_valuez$TestSpecial.test_namedtuple_as_valueL  s    *Hl3	(T 	( 	fkk*,XY**Fa1B,GH"()Q)1,fQqc.JFVW[\dmLno	)s   Cc                 b    G d dt               }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  dz  d        G d dt
              }| j                  |j                  d       | j                  |j                  d       | j                  |j                  j                  d       | j                  |j                  |j                  z  j                  d        G d	 dt        t
        t        
      }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  dz  d       y )Nc                   "    e Zd Zd Z ed      Zy);TestSpecial.test_flag_with_custom_new.<locals>.FlagFromCharc                 J    d|z  }t         j                  | |      }||_        |S r  r  re  r,  r\  r   s       r6   rw  zCTestSpecial.test_flag_with_custom_new.<locals>.FlagFromChar.__new__\  '    Q{{3.$r8   r   Nr@   rA   rB   rw  ordr   rF   r8   r6   FlagFromCharr2  [       CAr8   r8  l    l                r=   l               c                   &    e Zd Zd Z ed      ZdZy)r2  c                 H    d|z  }t         j                  |       }||_        |S r  )r  rw  r  r4  s       r6   rw  zCTestSpecial.test_flag_with_custom_new.<locals>.FlagFromChar.__new__k  s%    Q~~c*$r8   r   r=   N)r@   rA   rB   rw  r7  r   zrF   r8   r6   r8  z;TestSpecial.test_flag_with_custom_new.<locals>.FlagFromCharj  s     CAAr8   l               c                   "    e Zd Zd Z ed      Zy)r2  c                 J    d|z  }t         j                  | |      }||_        |S r  r  r4  s       r6   rw  zCTestSpecial.test_flag_with_custom_new.<locals>.FlagFromChar.__new__{  r5  r8   r   Nr6  rF   r8   r6   r8  z;TestSpecial.test_flag_with_custom_new.<locals>.FlagFromCharz  r9  r8   r   )
r   r   
_all_bits__flag_mask_r   r   r\  r<  r  r   )r   r8  s     r6   test_flag_with_custom_newz%TestSpecial.test_flag_with_custom_newZ  sW   	7 	 	002PQ113QR)GH)+IJ	4 	 	002PQ113QR--/MN,..7>>@^_	3t 	 	002PQ113QR)GH)+IJr8   c                 .    G d d      | j                  t              5   G d dt        j                        }d d d        | j                  t              5   G fddt        j                        }d d d        y # 1 sw Y   DxY w# 1 sw Y   y xY w)Nc                       e Zd Zd Zd Zy)-TestSpecial.test_init_exception.<locals>.Basec                 ,    t         j                  |       S r   r  )re  r>  s     r6   rw  z5TestSpecial.test_init_exception.<locals>.Base.__new__  r  r8   c                     t        d|      )NzI don't liker  )r   r`  s     r6   r   z6TestSpecial.test_init_exception.<locals>.Base.__init__  s     33r8   N)r@   rA   rB   rw  r   rF   r8   r6   r  rD    s    +4r8   r  c                       e Zd ZdZd Zy)/TestSpecial.test_init_exception.<locals>.MyEnumr   c                     || _         y r   ra  r   ra  s     r6   r   z8TestSpecial.test_init_exception.<locals>.MyEnum.__init__  	    DFr8   N)r@   rA   rB   rG  r   rF   r8   r6   r   rH    s    r8   r   c                   "    e Zd ZdZd Z fdZy)rH  r   c                     || _         y r   rJ  rK  s     r6   r   z8TestSpecial.test_init_exception.<locals>.MyEnum.__init__  rL  r8   c                 D    j                  |       } |      |_        |S r   )rw  r  )re  r\  r   r  s      r6   rw  z7TestSpecial.test_init_exception.<locals>.MyEnum.__new__  s!    !\\#.F%)%[FN!Mr8   N)r@   rA   rB   rG  r   rw  )r  s   r6   r   z/TestSpecial.test_init_exception.<locals>.MyEnum  s    "r8   )rl  r|  r,   r   r   )r   r   r  s     @r6   test_init_exceptionzTestSpecial.test_init_exception  s    	4 	4
 y) 	tyy 	
 z* 	""tyy "	" 	"	 	
	" 	"s   A?B?BBN)hr@   rA   rB   rY  r_  rf  unittestskiprt  r  r  r  r  skipIfpython_versionr  r  r  r  r  r  r  r  r  r  r  r   r"  r%  r(  r+  r;  r?  rD  rX  rZ  r\  r^  ra  rd  rm  rv  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r2  rh  rv  r  r  r  r  r  r  r  r  r  r  r   r  r  r)  r9  rN  rc  rl  ry  r  r  r  r  r  r  r   r'  ry  r  r  r  r  r  r  r  r  r  r  r#  r/  rA  rP  rF   r8   r6   r-  r-    sq   :),&$ X]]< + !+02E
@08 X__g%+	. X__W$-	((:0*,,,,=\$. .". .". . C6
69;57DOKA93	8,&A4
4??CA93$ #J:2x:2x:2x92v82t82t
>7(; ;4.>B-.&,E*887"D"
5#5J +De8N&6*(X(<'|9'v.4?/.6>a@	;5*B2&,K\"r8   r-  c                   8    e Zd Z	 d Zd Zd Zd Zd Zd Zd Z	y)		TestOrderc                 "     G d dt               }y )Nc                       e Zd ZdZdZdZdZy)*TestOrder.test_same_members.<locals>.Colorred green bluer=   r&   r>   Nr@   rA   rB   _order_ry  rz  r{  rF   r8   r6   r|  rY    s    &GCEDr8   r|  r   r  s     r6   test_same_memberszTestOrder.test_same_members  s    	D 	r8   c                 "     G d dt               }y )Nc                        e Zd ZdZdZdZdZeZy)7TestOrder.test_same_members_with_aliases.<locals>.ColorrZ  r=   r&   r>   Nr@   rA   rB   r\  ry  rz  r{  verderF   r8   r6   r|  ra    s    &GCEDEr8   r|  r]  r  s     r6   test_same_members_with_aliasesz(TestOrder.test_same_members_with_aliases  s    	D 	r8   c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)N#member order does not match _order_c                       e Zd ZdZdZdZdZy)6TestOrder.test_same_members_wrong_order.<locals>.ColorrZ  r=   r>   r&   N)r@   rA   rB   r\  ry  r{  rz  rF   r8   r6   r|  rh    s    *r8   r|  r   r|  r   r  s     r6   test_same_members_wrong_orderz'TestOrder.test_same_members_wrong_order  s4    ##I/TU 	 	 	 	rE  c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nrf  c                       e Zd ZdZdZdZdZy)5TestOrder.test_order_has_extra_members.<locals>.Colorred green blue purpler=   r&   r>   Nr[  rF   r8   r6   r|  rm    s    1r8   r|  ri  r  s     r6   test_order_has_extra_membersz&TestOrder.test_order_has_extra_members  s4    ##I/TU 	 	 	 	rE  c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nrf  c                        e Zd ZdZdZdZdZeZy)BTestOrder.test_order_has_extra_members_with_aliases.<locals>.Colorrn  r=   r&   r>   Nrb  rF   r8   r6   r|  rr    s    1r8   r|  ri  r  s     r6   )test_order_has_extra_members_with_aliasesz3TestOrder.test_order_has_extra_members_with_aliases  s4    ##I/TU 	 	 	 	rE  c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nrf  c                        e Zd ZdZdZdZdZdZy)4TestOrder.test_enum_has_extra_members.<locals>.ColorrZ  r=   r&   r>   rN   N)r@   rA   rB   r\  ry  rz  r{  purplerF   r8   r6   r|  rv    s    *r8   r|  ri  r  s     r6   test_enum_has_extra_membersz%TestOrder.test_enum_has_extra_members  s4    ##I/TU 	 	 	 	rE  c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nrf  c                   $    e Zd ZdZdZdZdZdZeZy)ATestOrder.test_enum_has_extra_members_with_aliases.<locals>.ColorrZ  r=   r&   r>   rN   N)	r@   rA   rB   r\  ry  rz  r{  rw  rc  rF   r8   r6   r|  r{    s     *r8   r|  ri  r  s     r6   (test_enum_has_extra_members_with_aliasesz2TestOrder.test_enum_has_extra_members_with_aliases  s4    ##I/TU 	 	 	 	rE  N)
r@   rA   rB   r^  rd  rj  ro  rs  rx  r|  rF   r8   r6   rV  rV    s(    +r8   rV  c                   &   e Zd Z	  G d de      Z G d de      Z G d de      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 Zd Zd Zd Zd Zd Zd Zej<                   ej>                         d               Z d Z!y) OldTestFlagc                       e Zd Zd\  ZZZy)OldTestFlag.Perm)rN   r&   r=   Nr@   rA   rB   RWr  rF   r8   r6   Permr    s    1ar8   r  c                        e Zd ZdZdZdZdZdZy)OldTestFlag.Openr   r=   r&   r>      Nr@   rA   rB   ROWORWACCErF   r8   r6   Openr        r8   r  c                   J    e Zd ZdZdZdZdZdZeez  Zeez  ez  Z	eez  ez  Z
y)OldTestFlag.Colorr   r=   r&   rN   Nr@   rA   rB   BLACKr  ROJOr}  r~  PURPLEWHITEBLANCOrF   r8   r6   r|  r    >    TE	$U4r8   r|  c           	         | j                   }|D ]  }|D ]  }| j                  ||z   ||j                  |j                  z               | j                  ||z  j                  |j                  |j                  z         | j                  t	        ||z        |         |D ]  }| j                  ||z  |        | j
                  }| j                  |j                  |j                  z  |j                         y r   r  r   r\  r  r  r  r  r  r   r  r  jr  s        r6   test_orzOldTestFlag.test_or  s    yy 	1A 1  !a%$qww/@*AB  !a%!''0ABd1q5k401	1
  	$AMM!a%#	$yydgg'1r8   c                    | j                   }|j                  |j                  z  }|j                  |j                  z  }|j                  |j                  z  }|j                  |j                  z  |j                  z  }t	        |      |||| |d      gz   }|D ]]  }|D ]V  }| j                  ||z  j                  |j                  |j                  z         | j                  t        ||z        |       X _ |D ]A  }| j                  ||z  |       | j                  ||z  |       | j                  ||z  |       C | j                  }	| j                  |	j                  |	j                  z  |	j                         y Nr   )r  r  r  r  r   r   r\  r  r  r  r  r  
r   r  r  RXWXRWXr4  r  r  r  s
             r6   test_andzOldTestFlag.test_and   s?   yyVVdff_VVdff_VVdff_fftvvo&dr2r3Q88 	1A 1  !a%!''0ABd1q5k401	1  	&AMM!a%#MM!c'1%MM#'1%	& yydgg'1r8   c                 >   | j                   }|D ]]  }|D ]V  }| j                  ||z  j                  |j                  |j                  z         | j                  t	        ||z        |       X _ |D ]8  }| j                  | |d      z  |       | j                   |d      |z  |       : | j
                  }| j                  |j                  |j                  z  |j                         | j                  |j                  |j                  z  |j                         y r  r  r  s        r6   test_xorzOldTestFlag.test_xor  s    yy 	1A 1  !a%!''0ABd1q5k401	1  	*AMM!d1g+q)MM$q'A+q)	* yydgg'1dgg'1r8   c                     | j                   }|D ]  }| j                  |        | j                  }|D ]0  }| j                  t	        |j
                        t	        |             2 y r   r  r   r  r   rW  r\  r   r  r  r  s       r6   r_  zOldTestFlag.test_bool  Z    yy 	AOOA	yy 	5AT!'']DG4	5r8   c                    | j                  t        j                  j                  t                G d dt        t
              }| j                  |j                  t
                G d dt        t              }| j                  |j                  t                G d dt        t              }| j                  |j                  t                G d d	t        t              }| j                  t        d
|d       | j                   |d      |j                  |j                  z         | j                   |d      |j                         | j                   |d      d       | j                  t         |d            t        u        | j                  t!        |      |j"                  g       | j                   |d      |j$                         | j                   |d      |j&                          G d dt        j                        }| j                  |j(                  |j*                  |j(                  z  v        | j                  t        d|d        G d dt        j,                        }| j                  |j(                  |j*                  |j(                  z  v        | j                   |d      j.                  d        G d dt              }| j                  t1        |j2                  |j4                  z        d       y )Nc                       e Zd ZdZdZdZy)'OldTestFlag.test_boundary.<locals>.Ironr=   r&   r  Nr@   rA   rB   r   r   EIGHTrF   r8   r6   Ironr  )  r  r8   r  r   c                       e Zd ZdZdZdZy)(OldTestFlag.test_boundary.<locals>.Waterr=   r&   r  Nr  rF   r8   r6   Waterr  /  r  r8   r  c                       e Zd ZdZdZdZy)(OldTestFlag.test_boundary.<locals>.Spacer=   r&   r  Nr  rF   r8   r6   Spacer  5  r  r8   r  c                       e Zd ZdZdZdZy)*OldTestFlag.test_boundary.<locals>.Bizarrer>   rN   r  Nr@   rA   rB   r  r,  drF   r8   r6   Bizarrer  ;      AAAr8   r  zinvalid value 7r   r>   r  c                       e Zd ZdZdZdez  Zy)+OldTestFlag.test_boundary.<locals>.SkipFlagr=   r&   rN   Nr  rF   r8   r6   SkipFlagr  L      AAAAr8   r  zSkipFlag.. invalid value 42*   c                       e Zd ZdZdZdez  Zy).OldTestFlag.test_boundary.<locals>.SkipIntFlagr=   r&   rN   Nr  rF   r8   r6   SkipIntFlagr  T  r  r8   r  c                       e Zd ZdZdZdZdZy)-OldTestFlag.test_boundary.<locals>.MethodHint   r=   r&   r  N)r@   rA   rB   
HiddenText
DigitsOnlyLettersOnlyOnlyMaskrF   r8   r6   
MethodHintr  \  s    JJKHr8   r  z5MethodHint.HiddenText|DigitsOnly|LettersOnly|OnlyMask)r  r,   r   r  r   r   r   r   r   r   r   r   r   r   r  r  r   r,  r  r  r6  rG  r   r\  rU  r  r  )r   r  r  r  r  r  r  r  s           r6   test_boundaryzOldTestFlag.test_boundary'  s%   dii**F3	4' 	 	doow/	D6 	 	e&&/	D5 	 	e&&.	dT 	
 	z+<eQGd1gtxx01d2h)q1%U1X#-.g4gaj')),gaj')),	tyy 	
 	

xzz(**'<=>z+H(TVW	$,, 	
 	+--*EFGR..3	 	 	Z22:3F3FFG  JA  	Br8   c                 $   | j                   }| j                  }| j                  t        |      |j                  |j
                  |j                  g       | j                  t        |      |j                  |j                  |j                  g       y r   
r|  r  r   r   r  r}  r~  r  r  r  r   r|  r  s      r6   	test_iterzOldTestFlag.test_itere  b    

yyeuyy%++uzz&JKddggtww%@Ar8   c                    t        dd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}d|z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  |j                  |       | j                  ||       | j                  t        |      |        y Nr  R W Xr>   r=   r   r   r   r  r  r  r  r  r  r\  r  r  r   r  r  r   r  r  r  nr   r   s          r6    test_programatic_function_stringz,OldTestFlag.test_programatic_function_stringk  s    FG$4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAq1AQAQWWa(T!'']C0QVVQ'MM!T"MM$q'4(	)r8   c                    t        ddd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}d|z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  |j                  |       | j                  ||       | j                  t        |      |        y Nr  r  r  r  r>   r  r  s          r6   +test_programatic_function_string_with_startz7OldTestFlag.test_programatic_function_string_with_startz  s    FG1-4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAq1AQAQWWa(T!'']C0QVVQ'MM!T"MM$q'4(	)r8   c                    t        dg d      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}d|z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  |j                  |       | j                  ||       | j                  t        |      |        y Nr  )r  r  r  r>   r  r=   r  r  s          r6   %test_programatic_function_string_listz1OldTestFlag.test_programatic_function_string_list  s    FO,4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAq1AQAQWWa(T!'']C0QVVQ'MM!T"MM$q'4(	)r8   c                    t        dd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}dd|z  dz   z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  |j                  |       | j                  ||       | j                  t        |      |        y Nr  ))r  r&   )r  r  )r  rV  r>   r  r=   r&   r  r  s          r6   "test_programatic_function_iterablez.OldTestFlag.test_programatic_function_iterable  s   F;<4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAqAaCE
AQAQWWa(T!'']C0QVVQ'MM!T"MM$q'4(	)r8   c                    t        dt        d            }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       | j                  ||j
                  |j                  |j                  g       t        dj                               D ]  \  }}dd|z  dz   z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  |j                  |       | j                  ||       | j                  t        |      |        y r  )r   r   r   r   r  r  r  r  r  r  r\  r  r  r   r  r  r  s          r6   #test_programatic_function_from_dictz/OldTestFlag.test_programatic_function_from_dict  s   FK(GHI4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAqAaCE
AQAQWWa(T!'']C0QVVQ'MM!T"MM$q'4(	)r8   c                    t        t        t              rt        t        | j                  t        j
                         t        | j                  t        j
                  t        j                  z         t        | j                  t        j
                  t        j
                   z         t        | j                  t               t        | j                  t        j                         t        | j                  t        j
                  t        j                  z         t        | j                  t        j
                         t        | j                  t        j
                  t        j                  z         t        | j                  t        j                         t        | j                  t        j                         t        | j                  t        j
                  t        j                  z         t        | j                  t        j
                         t        | j                  t        j
                  t        j                  z         t        | j                  t        j
                  t        j                  z  dz         t        | j                  t        d             t        | j                  t        d             t        | j                  t               t        | j                  t        j                         t        | j                  t        j                  dz         t        | j                  t        j
                  t        j                  z         t        | j                  t        j
                         t        | j                  t        j
                  t        j                  z         t        | j                  t        j                         t        | j                  t        j                         t        | j                  t        j                  dz         t        | j                  t        j
                  t        j                  z         y )N0   r   r=   )r  rM   r  rs   r  rD   r   rE   rQ   rS   rU   rX   rZ   r   s    r6   test_picklezOldTestFlag.test_pickle  s   k9-dmm[->->?d..#))+//9	;d..#));+<+<*<<	>dmm[9d..@d..#))+//9	; 	dmm-@-F-FGd..+112E2I2II	Kdmm-@-G-GHd..0C0G0GHd..+112E2I2II	K 	dmm^-A-ABd..&,,^-?-??	Ad..&,,^-?-??D	Fd..q0ABd..t0DEdmm^<d..0B0BCd..0B0B10DEd..&,,^-?-??	A 	dmm-C-I-IJd...445K5O5OO	Qdmm-C-J-JKd..0F0J0JKd..0F0J0J10LMd...445K5O5OO	Qr8   c                    | j                   }| j                  }| j                  |j                  |v        | j                  |j                  |v        | j                  d|v        | j                  d|v        | j                  |j                  |v        | j                  |j                  |v        | j                  d|v        | j                  d|v        y )Nr  r  r=   )r  r|  r   r  r  r   r   r  r|  s      r6   r  zOldTestFlag.test_contains_tf  s    yy

,-E)*E)*&u,-4(U
#T	"r8   c                    | j                   }|\  }}}||z  }||z  }||z  }||z  |z  }| j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        y r   )r  r   r   	r   r  r  r  r  r  r  r  r  s	            r6   test_member_containsz OldTestFlag.test_member_contains  s   yy1aUUU!eaiR R S!R R S!R R S!b!b!b!r8   c                    | j                   }| j                  t        |j                        g        | j                  t        |j                        |j
                  |j                  g       | j                  t        |j                        |j                  g       | j                  t        |j                        |j                  g       | j                  t        |j                        |j
                  |j                  |j                  g       | j                  t        |j                        |j
                  |j                  |j                  g       y r   	r|  r   r   r  r  r  r~  r}  r  r  s     r6   test_member_iterzOldTestFlag.test_member_iter  s    

ekk*B/ell+eii-DEejj)EJJ<8ekk*U[[M:ekk*UYYUZZ,PQekk*UYYUZZ,PQr8   c                    | j                  | j                  j                  | j                  j                        d       | j                  | j                  j                  | j                  j                        d       | j                  | j                  j                  | j                  j
                        d       | j                  | j                  j                  | j                  j                        d       y Nr   r=   r&   r>   r   r|  __len__r  r}  r  r  r   s    r6   test_member_lengthzOldTestFlag.test_member_length
      ++DJJ,<,<=qA++DJJ,<,<=qA++DJJ,=,=>B++DJJ,=,=>Br8   c                     G d dt               }| j                  t        |      |j                  |j                  |j
                  |j                  |j                  g       | j                  |j                  |j                         | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d       y )Nc                   Z    e Zd ZdZ e       Z e       Z e       ZdZ e       Z	 e       Z
y)AOldTestFlag.test_number_reset_and_order_cleanup.<locals>.ConfusedzONE TWO FOUR DOS EIGHT SIXTEENr&   N)r@   rA   rB   r\  r   r   r   r  DOSr  SIXTEENrF   r8   r6   Confusedr    s/    6G&C&C6DCFEfGr8   r  r&   r  r  )r   r   r   r   r   r  r  r  r  r  r  )r   r  s     r6   #test_number_reset_and_order_cleanupz/OldTestFlag.test_number_reset_and_order_cleanup  s    	t 	 	Xx||X]]HNNHL\L\]	_ 	hllHLL1--q1//3))1126r8   c                    | j                   }| j                   |d      j                  d       | j                  |d   j                  d       | j                   |d      j                  d       | j                  |d   j                  d       | j                  |j                  |j
                         | j                  }| j                  |d   |j                         y Nr=   r  r  r   r  r  r  r|  r   r   r  r  r  r  r  r  s      r6   test_aliaseszOldTestFlag.test_aliases!      

q.v++U3q0x--w7ellEKK0yyd4j$''*r8   c                 ~    G d dt               }| j                  t        |      |j                  |j                  |j
                  g       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       y )Nc                   6    e Zd Z e       Z e       Z e       Zy)+OldTestFlag.test_auto_number.<locals>.ColorNr@   rA   rB   r   ry  r{  rz  rF   r8   r6   r|  r	  ,      &C6DFEr8   r|  r=   r&   rN   )r   r   r   ry  r{  rz  r\  r  s     r6   test_auto_numberzOldTestFlag.test_auto_number+      	D 	
 	euyy%**ekk&JK!,))1-**A.r8   c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nzinvalid flag value .not an int.c                       e Zd ZdZ e       Zy)3OldTestFlag.test_auto_number_garbage.<locals>.Colorz
not an intNr@   rA   rB   ry  r   r{  rF   r8   r6   r|  r	  8  s    "vr8   r|  )r   r|  r   r  s     r6   test_auto_number_garbagez$OldTestFlag.test_auto_number_garbage6  s4    ##I/PQ 	 	 	 	rE  c                      G d dt               }| j                  |j                  |j                  |j                  gt        |             y )Nc                   :    e Zd Z e       xZZ e       Z e       Zy).OldTestFlag.test_duplicate_auto.<locals>.DupesNr@   rA   rB   r   r   primeror  r  rF   r8   r6   Dupesr	  =      "f$EGVFFEr8   r	  r   r   r   r  r  r   r   r	  s     r6   test_duplicate_autozOldTestFlag.test_duplicate_auto<  7    	D 	 	%++u||U[[A4;Or8   c                     G d d      } G d d       G d d|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d	       | j                  |j                  j                  d
       | j                  t        |j
                        d        G fdd|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d	       | j                  |j                  j                  d
       | j                  t        |j
                        d        G fdd|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d	       | j                  |j                  j                  d
       | j                  t        |j
                        d       y )Nc                       e Zd Zed        Zy)1OldTestFlag.test_multiple_mixin.<locals>.AllMixinc                 Z    t        |       }d }|r|d   }|dd  D ]  }||z  }	 || _        |S r  r   ALLre  members	all_valuer   s       r6   r	  z5OldTestFlag.test_multiple_mixin.<locals>.AllMixin.ALLE  H    s) 	 '
I")!"+ ,!V+	,#  r8   Nr@   rA   rB   r   r	  rF   r8   r6   AllMixinr	  D      ! !r8   r%	  c                       e Zd Zd Zy)1OldTestFlag.test_multiple_mixin.<locals>.StrMixinc                 6    | j                   j                         S r   r  r   s    r6   r  z9OldTestFlag.test_multiple_mixin.<locals>.StrMixin.__str__P  r  r8   Nr  rF   r8   r6   r  r(	  O  r  r8   r  c                   6    e Zd Z e       Z e       Z e       Zy.OldTestFlag.test_multiple_mixin.<locals>.ColorNr  rF   r8   r6   r|  r,	  R  r  r8   r|  r=   r&   rN   r   r  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zyr+	  r  r  s   r6   r|  z.OldTestFlag.test_multiple_mixin.<locals>.Color[  r  r8   r{  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zyr+	  r  r  s   r6   r|  z.OldTestFlag.test_multiple_mixin.<locals>.Colore  r  r8   )r   r   r  r\  r}  r~  r	  rU  r   r%	  r|  r  s      @r6   r  zOldTestFlag.test_multiple_mixinC  s   
	! 
	!	+ 	+	Hd 	 	!,**A.))1-!,UZZ,7	'Hh 	'
 	!,**A.))1-!,UZZ&1	'Hh 	'
 	!,**A.))1-!,UZZ&1r8   c                 b    G d dt               t               dfd}t        d      D cg c]  }t        j                  |       }}t        j                  |      5  	 d d d        | j                  d       | j                  dt              d	       y c c}w # 1 sw Y   =xY w)
Nc                       e Zd Z e       Z e       Z e       Z e       Z e       Z e       Z	 e       Z
 e       Zd Zd Zy)3OldTestFlag.test_unique_composite.<locals>.TestFlagc                 
    | |u S r   rF   r  s     r6   r  z:OldTestFlag.test_unique_composite.<locals>.TestFlag.__eq__}      u}$r8   c                 ,    t        | j                        S r   hashr  r   s    r6   __hash__z<OldTestFlag.test_unique_composite.<locals>.TestFlag.__hash__  rY  r8   Nr@   rA   rB   r   r  r  r9  r2  rA  rB  rC  rS  r  r8	  rF   r8   r6   TestFlagr2	  t  D    &C&CFE6D6D&CFEFE%*r8   r:	  Fc                  x    	 t        d      D ]  } j                   |               y # t        $ r dY y w xY wN   Tro   addr  r  r:	  rx  seens    r6   
cycle_enumz5OldTestFlag.test_unique_composite.<locals>.cycle_enum  ?    s *AHHXa[)*    '+ 99r  rr   ;at least one thread failed while creating composite membersr>	  "too many composite members created)
r   r  ro   	threadingThreadr$   start_threadsr   r   r  r   rC	  r   threadsr:	  rx  rB	  s       @@@r6   test_unique_compositez!OldTestFlag.test_unique_compositep  s    	*t 	* u	 q   
3  ++G4 		 	M	O 	c$i)MN	 	   B 'B%%B.c                      G  fddt               } G fdd|       G d d      } G d d|      } j                  j                  d	   d        j                  |j                  d	   d        j                  |j                  d
   d        j                  |j                  j	                  d	d              j                  |j                  j	                  d
d              G d d|      } G d d|      } G d d|      } j                  |j                  d	   d        j                  |j                  j	                  d	d              j                  |j                  d
   d        j                  |j                  j	                  d	d              j                  |j                  j	                  d
d             y )Nc                   "     e Zd Z fdZ xZS ).OldTestFlag.test_init_subclass.<locals>.MyEnumc                     t        |   di | j                  | j                  j	                  dd             d| _        y )N_testFr   rF   )rv  __init_subclass__r   r  get_test1)re  r  rQ  r   s     r6   rU	  z@OldTestFlag.test_init_subclass.<locals>.MyEnum.__init_subclass__  s9    )1D1  !1!1'5!AB%
r8   r@   rA   rB   rU	  ry  )rQ  r   s   @r6   r   rR	    s    & &r8   r   c                   "     e Zd Z fdZ xZS )1OldTestFlag.test_init_subclass.<locals>.TheirEnumc                 2    t        |   di | d| _        y )N	TheirEnumrF   )rv  rU	  _test2)re  r  r\	  rQ  s     r6   rU	  zCOldTestFlag.test_init_subclass.<locals>.TheirEnum.__init_subclass__  s    i7?$?(
r8   rX	  )rQ  r\	  s   @r6   r\	  rZ	    s    ) )r8   r\	  c                       e Zd Zd Zy)1OldTestFlag.test_init_subclass.<locals>.WhoseEnumc                      y r   rF   re  r  s     r6   rU	  zCOldTestFlag.test_init_subclass.<locals>.WhoseEnum.__init_subclass__  rO  r8   Nr@   rA   rB   rU	  rF   r8   r6   	WhoseEnumr_	    r  r8   rc	  c                       e Zd ZdZy).OldTestFlag.test_init_subclass.<locals>.NoEnumr=   Nr@   rA   rB   r   rF   r8   r6   NoEnumre	        Cr8   rg	  rW	  r]	  Fc                       e Zd Zd Zy)/OldTestFlag.test_init_subclass.<locals>.OurEnumc                     d| _         y )NOurEnum)r]	  ra	  s     r6   rU	  zAOldTestFlag.test_init_subclass.<locals>.OurEnum.__init_subclass__  s	    &
r8   Nrb	  rF   r8   r6   rl	  rj	    r  r8   rl	  c                       e Zd Zd Zy)1OldTestFlag.test_init_subclass.<locals>.WhereEnumc                      y r   rF   ra	  s     r6   rU	  zCOldTestFlag.test_init_subclass.<locals>.WhereEnum.__init_subclass__  rO  r8   Nrb	  rF   r8   r6   	WhereEnumrn	    r  r8   rp	  c                       e Zd ZdZy)1OldTestFlag.test_init_subclass.<locals>.NeverEnumr=   Nrf	  rF   r8   r6   	NeverEnumrr	    rh	  r8   rs	  )r   r   r  r   rV	  )r   r   rc	  rg	  rl	  rp	  rs	  r\	  s   `      @r6   test_init_subclasszOldTestFlag.test_init_subclass  s   	&T 	&	) 	)		 		Y 	++H5x@++H5x@++H5{C,,Xu=>,,Xu=>	'f 	'	 			 	))(3X>++//%@A++H5yA++//%@A++//%@Ar8   N)"r@   rA   rB   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$   reap_threadsrequires_working_threadingrN	  rt	  rF   r8   r6   r~  r~    s    t t    
22$25;B|B))))))QV
#"(RC7"+	/P+2Z ""0002#O 3 ##OJ"Br8   r~  c                   H   e Zd Z	  G d de      Z G d de      Z G d de      Z G d de      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 Zd Zd Zd Zd Zd Zd Zd Zd  Zd! Z e!jD                   e!jF                         d"               Z$y#)$OldTestIntFlagc                       e Zd ZdZdZdZy)OldTestIntFlag.PermrN   r&   r=   Nr  rF   r8   r6   r  rz	    s    r8   r  c                        e Zd ZdZdZdZdZdZy)OldTestIntFlag.Openr   r=   r&   r>   r  Nr  rF   r8   r6   r  r|	    r  r8   r  c                   J    e Zd ZdZdZdZdZdZeez  Zeez  ez  Z	eez  ez  Z
y)OldTestIntFlag.Colorr   r=   r&   rN   Nr  rF   r8   r6   r|  r~	    r  r8   r|  c                       e Zd ZdZdZdZy)OldTestIntFlag.Skipr=   r&   r  N)r@   rA   rB   r^  SECONDEIGHTHrF   r8   r6   Skipr	    s    r8   r	  c                    | j                   }| j                  |j                  t        u        | j                  }|D ]9  }| j                  t        ||             | j                  ||j                         ; | j                  t        |j                  |j                  z  |             | j                  |j                  |j                  z  d       |D ]9  }| j                  t        ||             | j                  ||j                         ; | j                  t        |j                  |j                  z  |             | j                  |j                  |j                  z  d       y Nr>   )r  r   rT  r  r  r  r   r\  r  r  r  r  )r   r  r  r  s       r6   	test_typezOldTestIntFlag.test_type  s   yy**c12yy 	)AOOJq$/0Q(	) 	
466DFF?D9:$&&!, 	)AOOJq$/0Q(	) 	
477TWW#4d;<477*A.r8   c                    | j                  t        t        d            dt        z         | j                  t        t        d            ddt        iz         | j                  t        t        d            ddt        iz         y )Nr   z%s.OFF_Kr  z%(m)s.LOW_BEAM_K|%(m)s.FOG_K|8r  r  z%(m)s.HeadlightsK(8))r   r  r   SHORT_MODULEr   s    r6   test_global_repr_keepz$OldTestIntFlag.test_global_repr_keep  sy    [^$\)	 	[!3450C3FF	 	[&'&#|)<<	r8   c                    | j                  t        t        d            dt        z         | j                  t        t        d            ddt        iz         | j                  t        t        d            ddt        iz         y )Nr   z%s.OFF_Cr  z%(m)s.LOW_BEAM_C|%(m)s.FOG_Cr  r  z%(m)s.OFF_C)r   r  r   r	  r   s    r6   test_global_repr_conform1z(OldTestIntFlag.test_global_repr_conform1  sy    [^$\)	 	[!345.#|1DD	 	[&'l 33	r8   c                     | j                  t        t        j                  t        j                  z        d       | j                  t        t        d            d       y )Nz	NoName(0)r   )r   rU  r   r   r   r   s    r6   test_global_enum_strz#OldTestIntFlag.test_global_enum_str  s<    VZZ&**45{CVAY5r8   c                    | j                   }| j                  t        |j                  d      d       | j                  t        |j                  |j                  z  d      d        G d dt
              }| j                  t        |j                  d      d       | j                  t        |j                  |j                  z  d      d       y )Nr   4rw  c                       e Zd ZdZdZdZd Zy)+OldTestIntFlag.test_format.<locals>.NewPermrN   r&   r=   c                     | j                   S r   r  r   s    r6   r  z3OldTestIntFlag.test_format.<locals>.NewPerm.__str__  s    {{"r8   N)r@   rA   rB   r  r  r  r  rF   r8   r6   NewPermr	    s    AAA#r8   r	  r  zR|X)r  r   r[  r  r  r   )r   r  r	  s      r6   rY  zOldTestIntFlag.test_format	  s    yy+S14c:	#g 	# 			2.4		DFF 2B7?r8   c                    | j                   }|D ]r  }|D ]  }| j                  ||z  |j                  |j                  z         | j                  ||z  j                  |j                  |j                  z         | j                  t	        ||z        |        t        d      D ]  }| j                  ||z  |j                  |z         | j                  ||z  j                  |j                  |z         | j                  t	        ||z        |       | j                  ||z  ||j                  z         | j                  ||z  j                  ||j                  z         | j                  t	        ||z        |        u |D ]A  }| j                  ||z  |       | j                  |dz  |       | j                  d|z  |       C | j                  }| j                  |j                  |j                  z  |j                         y Nr  r   	r  r   r\  r  r  ro   r  r  r  r  s        r6   r  zOldTestIntFlag.test_or  s   yy 	1A 1  Q!''(9:  !a%!''0ABd1q5k401 1X 1  Q!4  !a%!<d1q5k40  QAGG4  !a%AGG<d1q5k401	1  	$AMM!a%#MM!a%#MM!a%#	$ yydgg'1r8   c           
      T   | j                   }|j                  |j                  z  }|j                  |j                  z  }|j                  |j                  z  }|j                  |j                  z  |j                  z  }t	        |      |||| |d      gz   }|D ]  }|D ]  }| j                  ||z  |j                  |j                  z  d|d|       | j                  ||z  j                  |j                  |j                  z  d|d|       | j                  t        ||z        |d|d|        t        d      D ]  }| j                  ||z  |j                  |z         | j                  ||z  j                  |j                  |z         | j                  t        ||z        |       | j                  ||z  ||j                  z         | j                  ||z  j                  ||j                  z         | j                  t        ||z        |         |D ]A  }| j                  ||z  |       | j                  |dz  |       | j                  d|z  |       C | j                  }	| j                  |	j                  |	j                  z  |	j                         y )Nr   zi is z, j is r  r   )r  r  r  r  r   r   r\  r  r  ro   r  r  r  r  s
             r6   r  zOldTestIntFlag.test_and,  s4   yyVVdff_VVdff_VVdff_fftvvo&dr2r3Q88 	1A N  Q!''(9QRTU;VW  !a%!''0AYZ\]C^_d1q5k4q!1LMN 1X 1  Q!4  !a%!<d1q5k40  QAGG4  !a%AGG<d1q5k401	1  	$AMM!a%#MM!a%#MM!a%#	$ yydgg'1r8   c                 R   | j                   }|D ]r  }|D ]  }| j                  ||z  |j                  |j                  z         | j                  ||z  j                  |j                  |j                  z         | j                  t	        ||z        |        t        d      D ]  }| j                  ||z  |j                  |z         | j                  ||z  j                  |j                  |z         | j                  t	        ||z        |       | j                  ||z  ||j                  z         | j                  ||z  j                  ||j                  z         | j                  t	        ||z        |        u |D ],  }| j                  |dz  |       | j                  d|z  |       . | j                  }| j                  |j                  |j                  z  |j                         | j                  |j                  |j                  z  |j                         y r	  r	  r  s        r6   r  zOldTestIntFlag.test_xorF  s   yy 	1A 1  Q!''(9:  !a%!''0ABd1q5k401 1X 1  Q!4  !a%!<d1q5k40  QAGG4  !a%AGG<d1q5k401	1  	$AMM!a%#MM!a%#	$ yydgg'1dgg'1r8   c                    | j                   }|j                  |j                  z  }|j                  |j                  z  }|j                  |j                  z  }|j                  |j                  z  |j                  z  }t	        |      |||| |d      gz   }|D ]P  }| j                  | | j                         | j                  t        |       |       | j                  |  |       R |D ]  }| j                  |  |        | j                  }| j                  |j                  |j                   z  |j                         | j                  |j                  |j                  z  |j                   z  |j                         y r  )r  r  r  r  r   r   r\  r  r  r  r  r  r  )	r   r  r  r  r  r  r4  r  r  s	            r6   test_invertzOldTestIntFlag.test_invert[  s:   yyVVdff_VVdff_VVdff_fftvvo&dr2r3Q88 	%AaR1",MM$r(D)qbS!$	%  	"AMMA2#q!	"yydgg($''2twwtww477(2DGG<r8   c                    | j                  t        j                  j                  t                G d dt        t              } G d dt        t
              }| j                  |j                  t
                G d dt        t              }| j                  |j                  t                G d d	t        t              }| j                  |j                  t                G d
 dt        t              }| j                  t        d|d       | j                   |d      |j                  |j                  z         | j                   |d      |j                         | j                   |d      d       | j                  t         |d            t        u        | j                  t!        |      |j"                  g       | j                   |d      |j$                         | j                   |d      |j&                         |j(                  |j                  z  }| j                  |d       | j+                  ||       | j                  t-        |      d       | j                  t/        |      d       y )Nc                       e Zd ZdZy),OldTestIntFlag.test_boundary.<locals>.Simpler=   N)r@   rA   rB   SINGLErF   r8   r6   Simpler	  n  r  r8   r	  r   c                       e Zd ZdZdZdZy)*OldTestIntFlag.test_boundary.<locals>.Ironr=   r&   r  Nr  rF   r8   r6   r  r	  q  r  r8   r  c                       e Zd ZdZdZdZy)+OldTestIntFlag.test_boundary.<locals>.Waterr=   r&   r  Nr  rF   r8   r6   r  r	  w  r  r8   r  c                       e Zd ZdZdZdZy)+OldTestIntFlag.test_boundary.<locals>.Spacer=   r&   r  Nr  rF   r8   r6   r  r	  }  r  r8   r  c                       e Zd ZdZdZdZy)-OldTestIntFlag.test_boundary.<locals>.Bizarrer>   rN   r  Nr  rF   r8   r6   r  r	    r  r8   r  zinvalid value 5rA  r   r  r>   r  z <Simple.SINGLE|<Iron.TWO: 2>: 3>r@  )r  r,   r   r  r   r   r   r   r   r   r   r   r   r   r  r  r   r,  r  r  r	  r  r  rU  )r   r	  r  r  r  r  simples          r6   r  zOldTestIntFlag.test_boundaryl  s   dll--t4	Wt 		7V 	 	doov.	Gg 	 	e&&0	Ge 	 	e&&.	g 	
 	z+<dAFeAh		%)) 34eBi+q1%U1X#-.g4gaj')),gaj')),)#ff-f'IJVc*r8   c                 $   | j                   }| j                  }| j                  t        |      |j                  |j
                  |j                  g       | j                  t        |      |j                  |j                  |j                  g       y r   r  r  s      r6   r  zOldTestIntFlag.test_iter  r  r8   c                    t        dd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}d|z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |        y r  r   r   r   r  r  r  r  r  r  r\  r  r  r   r  r  r  s          r6   r  z/OldTestIntFlag.test_programatic_function_string  s   vw'4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAq1AQAQWWa(T!'']C0Q"QVVQ'MM!T"MM$q'4(	)r8   c                    t        ddd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}d|z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |        y r  r	  r  s          r6   r  z:OldTestIntFlag.test_programatic_function_string_with_start  s
   vwa04jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAq1AQAQWWa(T!'']C0Q"QVVQ'MM!T"MM$q'4(	)r8   c                    t        dg d      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}d|z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |        y r  r	  r  s          r6   r  z4OldTestIntFlag.test_programatic_function_string_list  s   v/4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAq1AQAQWWa(T!'']C0Q"QVVQ'MM!T"MM$q'4(	)r8   c                    t        dd      }t        |      }| j                  t        |      t        |             | j                  t        |      d|       | j                  ||j                  |j
                  |j                  g       t        dj                               D ]  \  }}dd|z  dz   z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |        y r  r	  r  s          r6   r  z1OldTestIntFlag.test_programatic_function_iterable  s   v>?4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAqAaCE
AQAQWWa(T!'']C0Q"QVVQ'MM!T"MM$q'4(	)r8   c                    t        dt        d            }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       | j                  ||j
                  |j                  |j                  g       t        dj                               D ]  \  }}dd|z  dz   z  } ||      }| j                  |j                  |       | j                  t        |j                        t               | j                  ||       | j                  |j                  |       | j                  ||       | j                  t        |      |        y r  )r   r   r   r   r  r  r  r  r  r  r\  r  r  r   r  r  r  s          r6   r  z2OldTestIntFlag.test_programatic_function_from_dict  s   v{+JKL4jS3t9-TAt,tvvtvvtvv67gmmo. 	)DAqAaCE
AQAQWWa(T!'']C0Q"QVVQ'MM!T"MM$q'4(	)r8   c                    t        j                  dg       }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       t        j
                  dg       }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       y )Nr  r   Thingr,   r   r   r   r  r   r   r  r  r	  s       r6   )test_programatic_function_from_empty_listz8OldTestIntFlag.test_programatic_function_from_empty_list  s    ||FB'4jS3t9-TAt,		'2&5kS3u:.UQ.r8   c                 r   t        j                  dd      }t        |      }| j                  t	        |      t	        |             | j                  t	        |      d|       t        j
                  dd      }| j                  t	        |      t	        |             | j                  t	        |      d|       y )Nr  rF   r   r	  r	  r	  s       r6   *test_programatic_function_from_empty_tuplez9OldTestIntFlag.test_programatic_function_from_empty_tuple  s    ||FB'4jS3t9-TAt,		'2&S3u:.UQ.r8   c                 @   | j                   }| j                  }| j                  |j                  |v        | j                  |j                  |v        | j                  d|v        | j                  d|v        | j                  d|v        | j                  d|v        y )Nr}  r  r&   )r  r|  r   r}  r  r   r  s      r6   r  zOldTestIntFlag.test_contains_tf  s    yy

u,-4(E)*&U
#T	"r8   c                    | j                   }|\  }}}||z  }||z  }||z  }||z  |z  }| j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  ||v        | j                  t              5  | j                  d|v        d d d        y # 1 sw Y   y xY w)Nrd  )r  r   r   rl  r|  r  s	            r6   r  z#OldTestIntFlag.test_member_contains  s9   yy1aUUU!eaiR R S!R R S!R R S!b!b!b!y) 	+Vr\*	+ 	+ 	+s   #E  E	c                 (   | j                   }| j                  t        |j                        g        | j                  t        |j                        |j
                  |j                  g       | j                  t        |j                        |j                  g       | j                  t        |j                        |j                  g       | j                  t        |j                        |j
                  |j                  |j                  g       y r   r  r  s     r6   r  zOldTestIntFlag.test_member_iter%  s    

ekk*B/ell+eii-DEejj)EJJ<8ekk*U[[M:ekk*UYYUZZ,PQr8   c                    | j                  | j                  j                  | j                  j                        d       | j                  | j                  j                  | j                  j                        d       | j                  | j                  j                  | j                  j
                        d       | j                  | j                  j                  | j                  j                        d       y r  r  r   s    r6   r  z!OldTestIntFlag.test_member_length-  r  r8   c                    | j                   }| j                   |d      j                  d       | j                  |d   j                  d       | j                   |d      j                  d       | j                  |d   j                  d       | j                  |j                  |j
                         | j                  }| j                  |d   |j                         y r  r 	  r  s      r6   r	  zOldTestIntFlag.test_aliases3  r	  r8   c                     | j                   }|D ]  }| j                  |        | j                  }|D ]0  }| j                  t	        |j
                        t	        |             2 y r   r  r  s       r6   r_  zOldTestIntFlag.test_bool=  r  r8   c                     G d d      } G d d       G d d|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d	       | j                  |j                  j                  d
       | j                  t        |j
                        d        G fdd|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d	       | j                  |j                  j                  d
       | j                  t        |j
                        d        G fdd|t               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d	       | j                  |j                  j                  d
       | j                  t        |j
                        d       y )Nc                       e Zd Zed        Zy)4OldTestIntFlag.test_multiple_mixin.<locals>.AllMixinc                 Z    t        |       }d }|r|d   }|dd  D ]  }||z  }	 || _        |S r  r	  r 	  s       r6   r	  z8OldTestIntFlag.test_multiple_mixin.<locals>.AllMixin.ALLH  r#	  r8   Nr$	  rF   r8   r6   r%	  r	  G  r&	  r8   r%	  c                       e Zd Zd Zy)4OldTestIntFlag.test_multiple_mixin.<locals>.StrMixinc                 6    | j                   j                         S r   r  r   s    r6   r  z<OldTestIntFlag.test_multiple_mixin.<locals>.StrMixin.__str__S  r  r8   Nr  rF   r8   r6   r  r	  R  r  r8   r  c                   6    e Zd Z e       Z e       Z e       Zy1OldTestIntFlag.test_multiple_mixin.<locals>.ColorNr  rF   r8   r6   r|  r	  U  r  r8   r|  r=   r&   rN   r   r	  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zyr	  r  r  s   r6   r|  z1OldTestIntFlag.test_multiple_mixin.<locals>.Color^  r  r8   r{  c                   R    e Zd Z e       Z e       Z e       ZW  j                  Zyr	  r  r  s   r6   r|  z1OldTestIntFlag.test_multiple_mixin.<locals>.Colorh  r  r8   )r   r   r  r\  r}  r~  r	  rU  r/	  s      @r6   r  z"OldTestIntFlag.test_multiple_mixinF  s   
	! 
	!	+ 	+	Hg 	 	!,**A.))1-!,UZZ#.	'Hh 	'
 	!,**A.))1-!,UZZ&1	'Hh 	'
 	!,**A.))1-!,UZZ&1r8   c                 b    G d dt               t               dfd}t        d      D cg c]  }t        j                  |       }}t        j                  |      5  	 d d d        | j                  d       | j                  dt              d	       y c c}w # 1 sw Y   =xY w)
Nc                       e Zd Z e       Z e       Z e       Z e       Z e       Z e       Z	 e       Z
 e       Zd Zd Zy)6OldTestIntFlag.test_unique_composite.<locals>.TestFlagc                 
    | |u S r   rF   r  s     r6   r  z=OldTestIntFlag.test_unique_composite.<locals>.TestFlag.__eq__  r4	  r8   c                 ,    t        | j                        S r   r6	  r   s    r6   r8	  z?OldTestIntFlag.test_unique_composite.<locals>.TestFlag.__hash__  rY  r8   Nr9	  rF   r8   r6   r:	  r	  w  r;	  r8   r:	  Fc                  x    	 t        d      D ]  } j                   |               y # t        $ r dY y w xY wr=	  r?	  rA	  s    r6   rC	  z8OldTestIntFlag.test_unique_composite.<locals>.cycle_enum  rD	  rE	  r  rF	  rG	  r>	  rH	  )
r   r  ro   rI	  rJ	  r$   rK	  r   r   r  rL	  s       @@@r6   rN	  z$OldTestIntFlag.test_unique_composites  s    	*w 	* u	 q   
3  ++G4 		 	M	O 	c$i)MN	 	rO	  N)%r@   rA   rB   r   r  r  r|  r	  r	  r	  r	  r	  rY  r  r  r  r	  r  r  r  r  r  r  r  r	  r	  r  r  r  r  r	  r_  r  r$   ru	  rv	  rN	  rF   r8   r6   rx	  rx	    s     w 
w    w 
/6@2*242*=",+\B) ) ) ) )"//#+,RC+5+2Z ""0002#O 3 ##Or8   rx	  c                       e Zd Zd Zd Zd Zy)TestEmptyAndNonLatinStringsc                 p    | j                  t              5  t        dd      }d d d        y # 1 sw Y   y xY w)N	empty_abc)r   r  r6  )rl  r   r   )r   r	  s     r6   test_empty_stringz-TestEmptyAndNonLatinStrings.test_empty_string  s1    z* 	:[.9I	: 	: 	:s   ,5c                 l    t        dd      }t        |d      }| j                  |j                  d       y )N	greek_abc)   αr  r6  r	  r=   r   rW  r   r\  )r   r	  r  s      r6   test_non_latin_character_stringz;TestEmptyAndNonLatinStrings.test_non_latin_character_string  s/    &:;	y(+Q'r8   c                 l    t        dd      }t        |d      }| j                  |j                  d       y )N
hebrew_123)   אr?  r@  r	  r=   r	  )r   r	  r  s      r6   test_non_latin_number_stringz8TestEmptyAndNonLatinStrings.test_non_latin_number_string  s/    ,(<=
z8,Q'r8   N)r@   rA   rB   r	  r	  r	  rF   r8   r6   r	  r	    s    :(
(r8   r	  c                       e Zd Zd Zd Zd Zy)
TestUniquec                 d    t          G d dt                     }t          G d dt                     }y )Nc                       e Zd ZdZdZdZy)+TestUnique.test_unique_clean.<locals>.Cleanr=   r        @Nr@   rA   rB   r  r  r  rF   r8   r6   Cleanr	        CCDr8   r	  c                       e Zd ZdZdZdZy)-TestUnique.test_unique_clean.<locals>.Cleanerr=   r&   r>   Nr@   rA   rB   singledoubletriplerF   r8   r6   Cleanerr	        FFFr8   r	  )r   r   r   r   r	  r	  s      r6   test_unique_cleanzTestUnique.test_unique_clean  s6    		D 	 
	
 
	g 	 
	r8   c                    | j                  t        d      5  t         G d dt                     }d d d        | j                  t        d      5  t         G d dt                     }d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)N	tres.*onec                       e Zd ZdZdZdZy)+TestUnique.test_unique_dirty.<locals>.Dirtyr=   r  Nr	  rF   r8   r6   Dirtyr	        r8   r	  double.*single.*turkey.*triplec                       e Zd ZdZdZdZdZy)-TestUnique.test_unique_dirty.<locals>.Dirtierr=   r>   Nr@   rA   rB   r	  r	  r	  turkeyrF   r8   r6   Dirtierr	        r8   r	  )r   r   r   r   r   r   r	  r	  s      r6   test_unique_dirtyzTestUnique.test_unique_dirty  s    ##J< 	  	 ##0 		 '  		 			 			 		s   A0A<0A9<Bc                     t        t               G d dt                     }t        t               G d dt                     }y )Nc                       e Zd ZdZdZdZy)/TestUnique.test_unique_with_name.<locals>.Sillyr=   r  r>   Nr@   rA   rB   r  r  r   rF   r8   r6   Sillyr
        CCDr8   r
  c                       e Zd ZdZdZdZdZy)1TestUnique.test_unique_with_name.<locals>.Sillierr=   r&   r>   rN   Nr@   rA   rB   r	  r   r	  r\  rF   r8   r6   Sillierr
        FDFEr8   r
  r   r   r   r   r   r
  r
  s      r6   test_unique_with_namez TestUnique.test_unique_with_name  >    		D 	 
	
 
	g 	 
	r8   N)r@   rA   rB   r	  r	  r
  rF   r8   r6   r	  r	    s    $r8   r	  c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)
TestVerifyc                 P   t        t               G d dt                     }t        t               G d dt                     }| j                  t        d      5  t        t               G d dt                     }d d d        | j                  t        d      5  t        t               G d	 d
t
                     }d d d        | j                  t        d      5  t        t               G d dt
                     }d d d        y # 1 sw Y   xY w# 1 sw Y   VxY w# 1 sw Y   y xY w)Nc                   D    e Zd Z e       Z e       Z e       Z e       Zy)(TestVerify.test_continuous.<locals>.AutoN)r@   rA   rB   r   r^  r	  THIRDFORTHrF   r8   r6   Autor
    s    FEVFFEFEr8   r
  c                       e Zd ZdZdZdZdZy)*TestVerify.test_continuous.<locals>.Manualr>   rN   rA  r  Nr@   rA   rB   r^  r	  r
  r
  rF   r8   r6   Manualr
    s    EFEEr8   r
  z<invalid enum .Missing.: missing values 5, 6, 7, 8, 9, 10, 12c                       e Zd ZdZdZdZdZy)+TestVerify.test_continuous.<locals>.Missingr>   rN   r  r  Nr
  rF   r8   r6   Missingr
        r8   r
  z,invalid flag .Incomplete.: missing values 32c                       e Zd ZdZdZdZdZy).TestVerify.test_continuous.<locals>.IncompleterN   r  r  @   Nr
  rF   r8   r6   
Incompleter
    r
  r8   r!
  z1invalid flag .StillIncomplete.: missing values 16c                       e Zd ZdZdZdZdZy)3TestVerify.test_continuous.<locals>.StillIncompleterN   r  r  rV  Nr
  rF   r8   r6   StillIncompleter#
    r
  r8   r$
  )r   r   r   r   r   r   )r   r
  r
  r
  r!
  r$
  s         r6   test_continuouszTestVerify.test_continuous  s   	
		4 	 
	 

		T 	 
	 ##J0no 	J$   	 ##J0^_ 	JT   	 ##J0cd 	J$   	 	!	 		 		 	s$   "D"D"DDDD%c                 l    G d dt               }| j                  t        |      |j                  g       | j                  |j                  j
                  d       | j                  |j                  j
                  d       | j                  |j                  j
                  d       | j                  t        d      5  t        t               G d dt                      }d d d        | j                  t        j                  d      dd	g        G d
 dt              }| j                  t        |      |j                  g       | j                  |j                  j
                  d       | j                  |j                  j
                  d       | j                  |j                  j
                  d       | j                  t        d      5  t        t               G d dt                     }d d d        | j                  t        j                  d	      d	g       y # 1 sw Y   ?xY w# 1 sw Y   =xY w)Nc                       e Zd ZdZdZdZy*TestVerify.test_composite.<locals>.Bizarrer>   rN   r  Nr  rF   r8   r6   r  r)
    r  r8   r  r>   rN   r  zyinvalid Flag 'Bizarre': aliases b and d are missing combined values of 0x3 .use enum.show_flag_values.value. for details.c                       e Zd ZdZdZdZyr(
  r  rF   r8   r6   r  z*TestVerify.test_composite.<locals>.Bizarre  s    r8   r=   r&   c                       e Zd ZdZdZdZyr(
  r  rF   r8   r6   r  z*TestVerify.test_composite.<locals>.Bizarre  r  r8   zcinvalid Flag 'Bizarre': alias d is missing value 0x2 .use enum.show_flag_values.value. for details.c                       e Zd ZdZdZy)r)
  rN   r  N)r@   rA   rB   r,  r  rF   r8   r6   r  z*TestVerify.test_composite.<locals>.Bizarre%  s    r8   )r   r   r   r,  r  r\  r  r   r   r   r   r,   show_flag_valuesr   )r   r  s     r6   test_compositezTestVerify.test_composite  s   	d 	 	g4!,!,!,## L 	 K $  !	 	..q1Aq6:	g 	 	g4!,!,!,##u 	 K '  !	 	..q1A377	 	&	 	s   >"H"H*H'*H3c                     t        t               G d dt                     }t        t               G d dt                     }y )Nc                       e Zd ZdZdZdZy)+TestVerify.test_unique_clean.<locals>.Cleanr=   r  r	  Nr	  rF   r8   r6   r	  r1
  ,  r	  r8   r	  c                       e Zd ZdZdZdZy)-TestVerify.test_unique_clean.<locals>.Cleanerr=   r&   r>   Nr	  rF   r8   r6   r	  r3
  2  r	  r8   r	  r

  r	  s      r6   r	  zTestVerify.test_unique_clean+  s>    		D 	 
	
 
	g 	 
	r8   c                 4   | j                  t        d      5  t        t               G d dt                     }d d d        | j                  t        d      5  t        t               G d dt
                     }d d d        y # 1 sw Y   JxY w# 1 sw Y   y xY w)Nr	  c                       e Zd ZdZdZdZy)+TestVerify.test_unique_dirty.<locals>.Dirtyr=   r  Nr	  rF   r8   r6   r	  r6
  :  r	  r8   r	  r	  c                       e Zd ZdZdZdZdZy)-TestVerify.test_unique_dirty.<locals>.Dirtierr=   r>   Nr	  rF   r8   r6   r	  r8
  C  r	  r8   r	  )r   r   r   r   r   r   r	  s      r6   r	  zTestVerify.test_unique_dirty8  s    ##J< 	F^  	 ##0 		 F^'  		 			 			 		s   "B"BBBc                     t        t               G d dt                     }t        t               G d dt                     }y )Nc                       e Zd ZdZdZdZy)/TestVerify.test_unique_with_name.<locals>.Sillyr=   r  r>   Nr
  rF   r8   r6   r
  r;
  K  r
  r8   r
  c                       e Zd ZdZdZdZdZy)1TestVerify.test_unique_with_name.<locals>.Sillierr=   r&   r>   rN   Nr
  rF   r8   r6   r
  r=
  Q  r	
  r8   r
  r

  r
  s      r6   r
  z TestVerify.test_unique_with_nameJ  r
  r8   c                 F    t        t               G d dt                     }y )Nc                       e Zd ZdZdZdZdZy)-TestVerify.test_negative_alias.<locals>.Colorr=   r&   rN   r:   N)r@   rA   rB   r  r}  r~  r  rF   r8   r6   r|  r@
  Y  s    CEDEr8   r|  )r   r   r   r  s     r6   test_negative_aliaszTestVerify.test_negative_aliasX  s     			D 	 
	r8   N)	r@   rA   rB   r%
  r.
  r	  r	  r
  rA
  rF   r8   r6   r
  r
    s"    %P$8L$r8   r
  c                   t   e 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 ej                  edk\  d      d        Z ej                  edk\  d      d        Z ej                  edk  d      d        Z ej                  edk  d      d        Zd Zd Z ej                  edk  d      d        Zd Zd Zy)TestInternalsrz   r~   r   r   r   c                 6   | j                   | j                  z   D ]*  }| j                  t        j                  |      d|z         , | j
                  | j                  z   | j                  z   D ]*  }| j                  t        j                  |      d|z         , y )Nr   r   r   r   s     r6   r   zTestInternals.test_sunderj  s    %%(E(EE 	VDOODOOD13MPT3TU	V%%(:(::T=N=NN 	SDT__T24JT4QR	Sr8   c                 6   | j                   D ]*  }| j                  t        j                  |      d|z         , | j                  | j
                  z   | j                  z   | j                  z   D ]*  }| j                  t        j                  |      d|z         , y )Nr   r   r   r   s     r6   r   zTestInternals.test_dunderp  s    %% 	VDOODOOD13MPT3TU	V%%(:(::T=Z=ZZ]a]n]nn 	SDT__T24JT4QR	Sr8   c                 .   | j                   | j                  z   D ](  }| j                  t        j                  d|      d       * | j
                  | j                  z   | j                  z   D ](  }| j                  t        j                  d|      d       * y r   r   r   s     r6   r   zTestInternals.test_is_privatev  r   r8   c                 ~    G d dt               }| j                  t        |      |j                  |j                  |j
                  g       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       y )Nc                   6    e Zd Z e       Z e       Z e       Zy)-TestInternals.test_auto_number.<locals>.ColorNr	  rF   r8   r6   r|  rI
  }  r	  r8   r|  r=   r&   r>   r   r   r   ry  r{  rz  r\  r  s     r6   r	  zTestInternals.test_auto_number|  r		  r8   c                 ~    G d dt               }| j                  t        |      |j                  |j                  |j
                  g       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       y )Nc                   <    e Zd Zd Z e       Z e       Z e       Zy)+TestInternals.test_auto_name.<locals>.Colorc                     | S r   rF   r   r2  r  r3  s       r6   r5  zATestInternals.test_auto_name.<locals>.Color._generate_next_value_      r8   N)r@   rA   rB   r5  r   ry  r{  rz  rF   r8   r6   r|  rM
    s    &C6DFEr8   r|  ry  r{  rz  rJ
  r  s     r6   test_auto_namezTestInternals.test_auto_name  s    	D 	 	euyy%**ekk&JK%0))62**G4r8   c                     G d dt               } G d d|      }| j                  t        |      |j                  |j                  |j
                  g       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       y )Nc                       e Zd Zd Zy):TestInternals.test_auto_name_inherit.<locals>.AutoNameEnumc                     | S r   rF   rO
  s       r6   r5  zPTestInternals.test_auto_name_inherit.<locals>.AutoNameEnum._generate_next_value_  rP
  r8   Nr6  rF   r8   r6   AutoNameEnumrT
    s    r8   rV
  c                   6    e Zd Z e       Z e       Z e       Zy)3TestInternals.test_auto_name_inherit.<locals>.ColorNr	  rF   r8   r6   r|  rX
    r	  r8   r|  ry  r{  rz  rJ
  )r   rV
  r|  s      r6   test_auto_name_inheritz$TestInternals.test_auto_name_inherit  s    	4 		L 	
 	euyy%**ekk&JK%0))62**G4r8   r  z+mixed types with auto() no longer supportedc                     | j                  t        d      5   G d dt              }d d d        | j                  j                  j
                  d       y # 1 sw Y   0xY w)N&will require all values to be sortablec                       e Zd ZdZ e       Zy)1TestInternals.test_auto_garbage_ok.<locals>.Colorry  Nr	  rF   r8   r6   r|  r]
        vr8   r|  r=   )r  r  r   r   r{  r\  r  s     r6   test_auto_garbage_okz"TestInternals.test_auto_garbage_ok  sS    
 ""#57_` 	 	 	))1-		 	s   AAc                 6   | j                  t        d      5   G d dt              }d d d        | j                  t	              |j
                  |j                  |j                  |j                  g       | j                  |j
                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d       y # 1 sw Y   xY w)Nr[
  c                   0    e Zd ZdZdZ e       Z e       Zy);TestInternals.test_auto_garbage_corrected_ok.<locals>.Colorry  r&   N)r@   rA   rB   ry  r{  r   rz  r  rF   r8   r6   r|  rb
    s    r8   r|  ry  r&   r>   rN   )
r  r  r   r   r   ry  r{  rz  r  r\  r  s     r6   test_auto_garbage_corrected_okz,TestInternals.test_auto_garbage_corrected_ok  s    
 ""#57_` 	    	  	e))UZZellK	M%0))1-**A.++Q/	  	 s   DDz*mixed types with auto() will raise in 3.13c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nr[
  c                       e Zd ZdZ e       Zy)3TestInternals.test_auto_garbage_fail.<locals>.Colorry  Nr	  rF   r8   r6   r|  rf
    r^
  r8   r|  ri  r  s     r6   test_auto_garbage_failz$TestInternals.test_auto_garbage_fail  s6    
 ##I/WX 	 	 	 	rE  c                 x    | j                  t        d      5   G d dt              }d d d        y # 1 sw Y   y xY w)Nr[
  c                   "    e Zd ZdZdZ e       Zy)=TestInternals.test_auto_garbage_corrected_fail.<locals>.Colorry  r&   N)r@   rA   rB   ry  r{  r   rz  rF   r8   r6   r|  rj
    s    r8   r|  ri  r  s     r6    test_auto_garbage_corrected_failz.TestInternals.test_auto_garbage_corrected_fail  s6    
 ##I/WX 	 	 	 	rE  c                 v    | j                  t              5   G d dt              }d d d        y # 1 sw Y   y xY w)Nc                   <    e Zd Z e       Z e       Z e       Zd Zy),TestInternals.test_auto_order.<locals>.Colorc                     | S r   rF   rO
  s       r6   r5  zBTestInternals.test_auto_order.<locals>.Color._generate_next_value_  s    Kr8   N)r@   rA   rB   r   ry  rz  r{  r5  rF   r8   r6   r|  rn
    s    fv r8   r|  r  r  s     r6   test_auto_orderzTestInternals.test_auto_order  s1    y) 	    	  	  	 s   /8c                 D   t               d_         G fddt              }| j                  t	        |      |j
                  |j                  g       | j                  |j
                  j                  d       | j                  |j                  j                  d       y )Nzpathological casec                   (    e Zd ZW  Zd Z e       Zy)2TestInternals.test_auto_order_wierd.<locals>.Colorc                     | S r   rF   rO
  s       r6   r5  zHTestInternals.test_auto_order_wierd.<locals>.Color._generate_next_value_  rP
  r8   N)r@   rA   rB   ry  r5  r   r{  )
weird_autos   r6   r|  rs
    s    C6Dr8   r|  r{  )r   r\  r   r   r   ry  r{  )r   r|  ru
  s     @r6   test_auto_order_wierdz#TestInternals.test_auto_order_wierd  st    V
.
	D 	
 	euyy%**&=>*=>))62r8   z,auto() will return highest value + 1 in 3.13c                 R    G d dt               }| j                  |j                  |j                         | j                  |j                  |j
                         | j                  |j                  |j                         | j                  |j                  |j
                         y )Nc                   >    e Zd Z e       Z e       ZeZeZ e       Zy)3TestInternals.test_auto_with_aliases.<locals>.ColorN)	r@   rA   rB   r   ry  r{  oxfordcrimsonrz  rF   r8   r6   r|  ry
    s!    &C6DFGFEr8   r|  )r   r  r{
  ry  rz
  r{  r  rz  r  s     r6   test_auto_with_aliasesz$TestInternals.test_auto_with_aliases  sl    
	D 	 	emmUYY/ellEJJ/eii0ejj1r8   c                      G d dt               }| j                  |j                  |j                  |j                  gt        |             y )Nc                   :    e Zd Z e       xZZ e       Z e       Zy)0TestInternals.test_duplicate_auto.<locals>.DupesNr	  rF   r8   r6   r	  r
    r	  r8   r	  r	  r	  s     r6   r	  z!TestInternals.test_duplicate_auto  r	  r8   c                     G d dt               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d        G d dt               }| j                  |j                  j                  d       | j                  |j                  j                  d	       | j                  |j                  j                  d
       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j                  j                  d        G d dt               }| j                  |j                  j                  d       | j                  |j                  j                  d       | j                  |j
                  j                  d       y )Nc                   ^    e Zd Z e       Z e        e       fZ e        e        e       fZy)5TestInternals.test_multiple_auto_on_line.<locals>.HuhN)r@   rA   rB   r   r   r   r4  rF   r8   r6   r  r
    s(    &C&$&.CFDFDF*Er8   r  r=   )r&   r>   )rN   rA  r  c                   h    e Zd ZddZd Z e       Z e       Z e       dfZ e       dfZ	 e       Z
y)5TestInternals.test_multiple_auto_on_line.<locals>.HahNc                 v    t         j                  |       }||_        |xs |d d j                         |_        |S r	  )r  rw  r  r  abbr)re  r\  r
  r   s       r6   rw  z=TestInternals.test_multiple_auto_on_line.<locals>.Hah.__new__  s5    ,!&"7eBQioo&7r8   c                     | S r   rF   rO
  s       r6   r5  zKTestInternals.test_multiple_auto_on_line.<locals>.Hah._generate_next_value_  rP
  r8   WEDThur   )r@   rA   rB   rw  r5  r   MONDAYTUESDAY	WEDNESDAYTHURSDAYFRIDAYrF   r8   r6   Hahr
  
  s9    
 VFfGIvu}HVFr8   r
  r
  monr
  tuer
  r
  r
  r
  r
  fric                   d    e Zd Zd Z e       Z e        e       fZ e        e        e       fZy)r
  c                     |dz   S r  rF   rO
  s       r6   r5  zKTestInternals.test_multiple_auto_on_line.<locals>.Huh._generate_next_value_$  s    Qwr8   N)r@   rA   rB   r5  r   r   r   r4  rF   r8   r6   r  z5TestInternals.test_multiple_auto_on_line.<locals>.Huh#  s-    &C&$&.CFDFDF*Er8   )r&   r&   )r>   r>   r>   )r   r   r   r\  r   r4  r
  r
  r
  r
  r
  r
  )r   r  r
  s      r6   test_multiple_auto_on_linez(TestInternals.test_multiple_auto_on_line  s   	+$ 	+ 	*/)4	$ 	 	))84%0**I6))51,,k:++U3++Z8**E2))84%0	+$ 	+ 	*/)4r8   N)r@   rA   rB   r   r   r   r   r   r   r   r   r	  rQ
  rY
  rQ  rS  rT  r_
  rc
  rg
  rk
  rp
  rv
  r|
  r	  r
  rF   r8   r6   rC
  rC
  b  s$   1L7L@MLCLSSX	/55 X__g%9.	. X__g%90	0 X__W$8	 X__W$8	 
3 X__W$:
2	
2P*5r8   rC
  c                       e Zd Zy)TestEnumTypeSubclassingNr   rF   r8   r6   r
  r
  -  s    r8   r
  a  Help on class Color in module %s:

class Color(enum.Enum)
 |  Color(*values)
 |
 |  Method resolution order:
 |      Color
 |      enum.Enum
 |      builtins.object
 |
 |  Data and other attributes defined here:
 |
 |  CYAN = <Color.CYAN: 1>
 |
 |  MAGENTA = <Color.MAGENTA: 2>
 |
 |  YELLOW = <Color.YELLOW: 3>
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |
 |  name
 |      The name of the Enum member.
 |
 |  value
 |      The value of the Enum member.
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from enum.EnumType:
 |
 |  __contains__(value) from enum.EnumType
 |      Return True if `value` is in `cls`.
 |
 |      `value` is in `cls` if:
 |      1) `value` is a member of `cls`, or
 |      2) `value` is the value of one of the `cls`'s members.
 |
 |  __getitem__(name) from enum.EnumType
 |      Return the member matching `name`.
 |
 |  __iter__() from enum.EnumType
 |      Return members in definition order.
 |
 |  __len__() from enum.EnumType
 |      Return the number of members (no aliases)
 |
 |  ----------------------------------------------------------------------
 |  Readonly properties inherited from enum.EnumType:
 |
 |  __members__
 |      Returns a mapping of member name->value.
 |
 |      This mapping lists all enum members, including aliases. Note that this
 |      is a read-only view of the internal mapping.aa  Help on class Color in module %s:

class Color(enum.Enum)
 |  Color(*values)
 |
 |  Method resolution order:
 |      Color
 |      enum.Enum
 |      builtins.object
 |
 |  Data and other attributes defined here:
 |
 |  YELLOW = <Color.YELLOW: 3>
 |
 |  MAGENTA = <Color.MAGENTA: 2>
 |
 |  CYAN = <Color.CYAN: 1>
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.Enum:
 |
 |  name
 |
 |  value
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from enum.EnumType:
 |
 |  __members__c                   D    e Zd ZdZ G d de      Zd Zd Zd Zd Z	d Z
y)	
TestStdLibNc                       e Zd ZdZdZdZy)TestStdLib.Colorr=   r&   r>   N)r@   rA   rB   CYANMAGENTAYELLOWrF   r8   r6   r|  r
    s    r8   r|  c                     t         j                  t        t        z  }nt        t        z  }t               }t        j                  |      } || j                         |j                         j                         }| j                  |||       y )N)output)r	   r   !expected_help_output_without_docsr@   expected_help_output_with_docsr   pydocHelperr|  getvaluer  r   )r   expected_textr
  helperresults        r6   
test_pydoczTestStdLib.test_pydoc  sh    ??"=HM:XEMV,tzz"((*7r8   c                    t        dt        fdd| j                  j                  fdt        fd| j                  j
                  fd| j                  j                  fd| j                  j                  fdt        j                  d   fd	t        j                  d	   fd
| j                  j                  fd| j                  j                  fdd| j                  j                  fddt        | j                  d      fd| j                  j                  ff      }t        t        j                   | j                              }| j#                  t%        |j'                               t%        |j'                                      d}|j'                         D ]C  }|dk(  r	||   ||   k7  st)                t)        ddd|d||   d||   dddd       d}E |r| j+                  d       y y )NrQ  )r   ...r  rA   r
  r
  r
  r   r\  r  __contains__)r@   r|  __getitem__)rB   r
  rU	  __iter__Fr   
K===========================================================================z
     key: z
  result: z
expected: r   sepT/result does not equal expected, see print above)rX  r
   r|  r  r@   r
  r
  r
  r   r  r  r
  r
  rW  r
  inspect
getmembersr   r  keysr  fail)r   r4  r
  rx  r  s        r6   test_inspect_getmembersz"TestStdLib.test_inspect_getmembers  s   h'"

 6 67x(4::,,-DJJ../)v./$--01DJJ../!8!89%

 6 674$gdjj:M&NOTZZ001! $ g((45V[[]+S-?@ 	AI~ayF1I%!1fQiHFKMO	 IIGH r8   c                    ddl m}  |ddt        t               |ddt        | j                  j
                         |dd| j                  d	       |d
dt        | j                  j                         |ddt        | j                  j                         |ddt        t        | j                  d             |ddt        | j                  j                         |ddt        t        j                         |dd| j                  t               |dd| j                  d       |dd| j                  d       |dd| j                  | j                  j                         |dd| j                  | j                  j                         |dd| j                  | j                  j                         |ddt        t        j                   d          |ddt        t        j                   d         g}|D ]  }	 |j"                    |j)                  d        t+        t        j,                  | j                              }|j)                  d        | j/                  t1        |      t1        |      |D cg c]  }|j"                   c}d|D cg c]  }|j"                   c}       d}t3        ||      D ]s  \  }}|j"                  d v r>d!D ]8  }t        ||      t        ||      k7  st'        d"d#d"|d"|d"d#d"	d$%       d&}: R||k7  sXt'        d"d#d"|d"|d"d#d"	d$%       d&}u |r| j5                  d'       y y # t$        $ r t'        |       Y jw xY wc c}w c c}w )(Nr   )	AttributerQ  data)r   kinddefining_classr  r
  methodr   r
  r
  r
  rU	  zclass methodr  r  r   rA   r@   r|  rB   r
  r
  r
  r
  r   r\  c                     | j                   S r   r   r  s    r6   <lambda>z>TestStdLib.test_inspect_classify_class_attrs.<locals>.<lambda>  
    TYY r8   )keyc                     | j                   S r   r   r
  s    r6   r
  z>TestStdLib.test_inspect_classify_class_attrs.<locals>.<lambda>  r
  r8   z != F)rU	  r   )r   r
  r
  r
  r
  r   r
  Tr
  )r
  r
  r  r
   r|  r
  r
  r
  rW  r  r  r@   r
  r
  r
  r   r  r   rm  r  sortr   classify_class_attrsr   r  r  r
  )	r   r
  r4  r   r
  r   rx  rr   s	            r6   !test_inspect_classify_class_attrsz,TestStdLib.test_inspect_classify_class_attrs  s   %{#)(<~H#+DJJ4K4KMyv#'::e=}8#+DJJ4J4JLz#+DJJ4G4GI2#)'$**FY2Z\yx#+DJJ4F4FH}:#+H4H4HJ|&#'::h@z#'::g?~F#'::6HJxf#'::djj6G6GIyv#'::djj6H6HJvF#'::djjooGvF#'f0EGwV#'g0FH?!D  	A	
 	./g224::>?./FS[/56!qvv68PA8PQ	 ' 	DAqvv99 = &Dq$'71d+;;h1hOUWX!%& ah1hGRP	 IIGH - " a 78Ps   M M+M0M('M(c                    ddl m}m}m} | j	                   |t
               | |d|j                         |d|j                         |d|j                  d        |d|j                  d        |d|j                  d        |d	|j                  d
       |d|j                  d       g             | j	                   |t        j                         | |d|j                        g             y )Nr   )	signature	Signature	Parameternew_class_namerS  rb   )r  rf   r  r2  r=   r   r4  )r
  r
  r
  r
  r   r   POSITIONAL_ONLYPOSITIONAL_OR_KEYWORDKEYWORD_ONLYr,   FlagBoundaryVAR_POSITIONAL)r   r
  r
  r
  s       r6   test_inspect_signaturesz"TestStdLib.test_inspect_signatures  s    ;;$.	0I0IJgy'F'FGh	(>(>Mj)*@*@$Ofi&<&<dKgy'='=qIj)*@*@$O 	 	$++,h	(@(@A 	r8   c                 n   t        t               G d d             } G d dt              }| j                  t        ||      d u        d|j                  _        | j                  t        dt        ||        G d dt        t        	      }|}| j                  t        |      |j                  |j                  |j                  g       t        t        t        	       G d
 d             }|}| j                  t        |      |j                  |j                  |j                  g       t        ||       y )Nc                   <    e Zd ZdZdZdZej                  d        Zy)5TestStdLib.test_test_simple_enum.<locals>.SimpleColorr=   r&   r>   c                      d| j                   z  S Nz	zeroed %sr   r   s    r6   zerothz<TestStdLib.test_test_simple_enum.<locals>.SimpleColor.zeroth      "TYY..r8   N	r@   rA   rB   r
  r
  r
  rX  r   r
  rF   r8   r6   SimpleColorr
    s'    DGF^^/ /r8   r
  c                   <    e Zd ZdZdZdZej                  d        Zy)6TestStdLib.test_test_simple_enum.<locals>.CheckedColorr=   r&   r>   c                      d| j                   z  S r
  r   r   s    r6   r
  z=TestStdLib.test_test_simple_enum.<locals>.CheckedColor.zeroth!  r
  r8   Nr
  rF   r8   r6   CheckedColorr
    s'    DGF^^/ /r8   r
  r  zenum mismatchc                       e Zd ZdZdZdZdZy)8TestStdLib.test_test_simple_enum.<locals>.CheckedMissingr 
          Nr@   rA   rB   
SIXTY_FOURONE_TWENTY_EIGHTTWENTY_FORTY_EIGHTr	  rF   r8   r6   CheckedMissingr
  *  s    J"!%&Cr8   r
  r   c                       e Zd ZdZdZdZdZy)1TestStdLib.test_test_simple_enum.<locals>.Missingr 
  r
  r
  r
  Nr
  rF   r8   r6   r
  r
  2  s    J"!%&Cr8   r
  )r   r   r   r   r
  r  r   r|  r   r   r   r   r
  r
  r
  )r   r
  r
  r
  CMr
  Ms          r6   test_test_simple_enumz TestStdLib.test_test_simple_enum  s   	d		/ 	/ 
	/	/4 	/ 	),DLM&'#?!<		'Wt 	'
 n-r?R?RTVTiTi/jk	g	-	' 	' 
.	'
 n-a>P>PRSRfRf/gh.'2r8   )r@   rA   rB   maxDiffr   r|  r
  r
  r
  r
  r
  rF   r8   r6   r
  r
    s0    G 

8 ID?IB*'3r8   r
  c                   *    e Zd Zd Zd Zd Zd Zd Zy)MiscTestCasec                 @    t        j                  | t        ddh       y )Nbinr-
  )not_exported)r"   check__all__r,   r   s    r6   test__all__zMiscTestCase.test__all__@  s    T4u>P6QRr8   c                 Z     G d dt               }| j                  |j                  d        y )Nc                       e Zd ZdZy)'MiscTestCase.test_doc_1.<locals>.Singler=   Nrf	  rF   r8   r6   Singler
  D  rh	  r8   r
  r   r   r   )r   r
  s     r6   
test_doc_1zMiscTestCase.test_doc_1C  s"    	T 	.r8   c                 Z     G d dt               }| j                  |j                  d        y )Nc                       e Zd ZdZdZy)'MiscTestCase.test_doc_2.<locals>.Doubler=   r&   Nr   rF   r8   r6   Doubler   I  rr  r8   r  r
  )r   r  s     r6   
test_doc_2zMiscTestCase.test_doc_2H  s$    	T 	 	.r8   c                 Z     G d dt               }| j                  |j                  d        y )Nc                       e Zd ZdZdZdZy)'MiscTestCase.test_doc_3.<locals>.Tripler=   r&   r>   Nr3  rF   r8   r6   Tripler  O  r  r8   r  r
  )r   r  s     r6   
test_doc_3zMiscTestCase.test_doc_3N  s$    	T 	 	.r8   c                 Z     G d dt               }| j                  |j                  d        y )Nc                       e Zd ZdZdZdZdZy)*MiscTestCase.test_doc_4.<locals>.Quadrupler=   r&   r>   rN   N)r@   rA   rB   r   r   r4  r  rF   r8   r6   	Quadrupler
  V  s    CCEDr8   r  r
  )r   r  s     r6   
test_doc_4zMiscTestCase.test_doc_4U  s&    	 	
 	**D1r8   N)r@   rA   rB   r
  r
  r  r  r  rF   r8   r6   r
  r
  >  s    S/
//2r8   r
  rA  rZ  rO  r  r=   r\                ?               @              @c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestConvertc                     t               }dD ]  }d|d|z  <   d|d|z  <    dD ]  \  }}||d|z  <    dD ]  \  }}||d|z  <    d	D ]  \  }}||d
|z  <    y )N)rG  r  r6  r7  rH  r8  rA  zCONVERT_TEST_NAME_%szCONVERT_STRING_TEST_NAME_%s))rG  rA  )r  r  )r6  r\  zUNCOMPARABLE_%s))rG  r  )r  r  )r6  r  z
COMPLEX_%s))r>  rO  )r?  rZ  zCONVERT_STR_TEST_%s)r  )r   gsuffixr\  s       r6   tearDownzTestConvert.tearDown|  s     I4 	:F12A$v-.89A+f45	: G 	2MFE,1A&()	2> 	-MFE',AlV#$	-? 	6MFE05A#f,-	6r8   c                     t         j                  j                  dt        d       }| j	                   |d      j
                  d       y )NUnittestConvertc                 $    | j                  d      S NCONVERT_TEST_r  r`  s    r6   r
  z@TestConvert.test_convert_value_lookup_priority.<locals>.<lambda>      o!> r8   filterrA  CONVERT_TEST_NAME_A)r,   r   	_convert_MODULEr   r   r   r	  s     r6   "test_convert_value_lookup_priorityz.TestConvert.test_convert_value_lookup_priority  sB    LL**!> + @	 	1**,ABr8   c                 d   t         j                  j                  dt        d       }| j	                  |j
                  |j                         | j	                  |j                  d       | j	                  |j                  d       | j	                  |j                  d       | j	                  |j                  d       t        |      D cg c]  }|t        |      vs| }}t        |      D cg c]  }|t        |      vs| }}| j	                  ||z   g d|d|       y c c}w c c}w )Nr  c                 $    | j                  d      S r  r  r  s    r6   r
  z.TestConvert.test_convert_int.<locals>.<lambda>  r  r8   r  rA  extra names: ;  missing names: msg)r,   r   r"  r#  r   CONVERT_TEST_NAME_Fr!  CONVERT_TEST_NAME_BCONVERT_TEST_NAME_CCONVERT_TEST_NAME_DCONVERT_TEST_NAME_Er  r  r   r	  r   extrar  s        r6   test_convert_intzTestConvert.test_convert_int  s   LL**!> + @	
 	66"66	866:66:66:66:"%i.T$D@S4STT$,Y$7VD4s9~;U4VV=BGL 	 	 UVs   D(D(1D-D-c                     t         j                  j                  dt        d       }| j	                  t        |      |j                  |j                  |j                  g       y )NUncomparablec                 $    | j                  d      S )NUNCOMPARABLE_r  r  s    r6   r
  z7TestConvert.test_convert_uncomparable.<locals>.<lambda>  r  r8   r  )	r,   r   r"  r#  r   r   UNCOMPARABLE_AUNCOMPARABLE_BUNCOMPARABLE_Cr   uncomps     r6   test_convert_uncomparablez%TestConvert.test_convert_uncomparable  sX    $$> % @
 	L""F$9$96;P;PQ	r8   c                     t         j                  j                  dt        d       }| j	                  t        |      |j                  |j                  |j                  g       y )Nr5  c                 $    | j                  d      S )NCOMPLEX_r  r  s    r6   r
  z2TestConvert.test_convert_complex.<locals>.<lambda>  s    Q\\*5 r8   r  )	r,   r   r"  r#  r   r   	COMPLEX_A	COMPLEX_B	COMPLEX_Cr;  s     r6   test_convert_complexz TestConvert.test_convert_complex  sW    $$5 % 7
 	Lv//1A1AB	r8   c                    t         j                  j                  dt        d d      }| j	                  |j
                  d       | j	                  |j                  d       t        |      D cg c]  }|t        |      vs| }}t        |      D cg c]  }|t        |      vs| }}| j	                  ||z   g d|d|	       | j	                  t        |j
                        d
t        z         | j	                  t        |j                        d       | j	                  t        |j
                        d       y c c}w c c}w )Nr  c                 $    | j                  d      S )NCONVERT_STR_r  r  s    r6   r
  z.TestConvert.test_convert_str.<locals>.<lambda>  s    n!= r8   Tr   	as_globalrO  rZ  r(  r)  r*  z%s.CONVERT_STR_TEST_1)r,   r	   r"  r#  r   CONVERT_STR_TEST_1CONVERT_STR_TEST_2r  r  r  r	  rU  r[  r1  s        r6   test_convert_strzTestConvert.test_convert_str  s#   LL**!=	 +  	 	55w?55yA"%i.T$D@S4STT$,Y$7VD4s9~;U4VV=BGL 	 	
 	i::;=TWc=cdY99:IF	 < <=wG UVs   .EEE'Ec                     | j                  t              5  t        j                  j	                  dt
        d        d d d        y # 1 sw Y   y xY w)Nr  c                 $    | j                  d      S r  r  r  s    r6   r
  z0TestConvert.test_convert_raise.<locals>.<lambda>  r  r8   r  )rl  rm  r,   r   _convertr#  r   s    r6   test_convert_raisezTestConvert.test_convert_raise  sJ    ~. 	@LL!!!> " @	@ 	@ 	@s   (AAc                 @   t         j                  j                  dt        d d      }| j	                  t        |j                        dt        z         | j	                  t        |j                        d       | j	                  t        |j                        d       y )Nr  c                 $    | j                  d      S )NCONVERT_STRING_TEST_r  r  s    r6   r
  z7TestConvert.test_convert_repr_and_str.<locals>.<lambda>  s    .D!E r8   TrH  z%s.CONVERT_STRING_TEST_NAME_Arw  )
r,   r   r"  r#  r   r  CONVERT_STRING_TEST_NAME_Ar	  rU  r[  r$  s     r6   test_convert_repr_and_strz%TestConvert.test_convert_repr_and_str  s    LL**!E	 +  	
 	iBBCEdgsEstYAABCH	 D DEsKr8   N)r@   rA   rB   r  r%  r3  r=  rD  rL  rP  rU  rF   r8   r6   r  r  {  s.    6C,		H*@Lr8   r  c                 x   t        g d| j                  z         }| j                  t        j                  ur|j                  d       | j                  t        j                  ur|j                  d       | j                  t        u rt        |      S t        t        t        | j                              |z        S )N)
rQ  r
  r   r
  r
  r  r  rA   r@   rB   rw  rU	  )
r  _member_names__new_member_r  rw  r@	  rU	  rT  sortedr  )re  interestings     r6   r  r    s     
   ! K v~~-	"
F$<$<<+,
F"k"" c#c//01K?@@r8   c                    | j                   j                  t        u rt        g d      }nt        t	        |             }| j                   j                         D ]  }|j                  j                         D ]w  \  }}|d   dk(  rt        |t        j                        r>|j                  || j                  vr|j                  |       U|j                  |       g|j                  |       y  t        |      S )N)rQ  r   r  r8	  rA   r   r\  r   r   )rQ  rT  r  r  r  r  r  r  r  r,   r   r   r  r@	  discardrY  )r   allowedre  r   rv   s        r6   r  r    s    %%/cdc&k"##% 
"++- 		"ID#Aw#~#t}}-88'4v7J7J+JKK%OOD)D!		"
" '?r8   __main__r   )r}  r,   r*   r
  r-   r
  rs  rQ  rI	  r  builtinsrX  r.  r   rL  r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ior   pickler   r   r    r!   rd  r"   test.supportr#   r$   r%   version_inforT  r7   r@   r#  r  r	  r<   r  r  r  rI   r{  rK   rM   rS   rX   rZ   r\   r`   rc   rd   rh   rs   rw   TestCasery   r   global_enumr   r   r   r   rN  rn  rt  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-  rV  r~  rx	  r	  r	  r
  rC
  r
  r
  r
  r
  r
  r/  r.  r-  r!  r0  r,  CONVERT_STRING_TEST_NAME_DCONVERT_STRING_TEST_NAME_CCONVERT_STRING_TEST_NAME_BrT  CONVERT_STRING_TEST_NAME_ECONVERT_STRING_TEST_NAME_FrK  rJ  r8  r:  r9  rC  rA  rB  r  r  r  mainrF   r8   r6   <module>rl     s       	  
     #  X X X N N B B 2 2  @ @  " ) !!"1% 
||C $$ S$ ud d $ W W 7 J 9(KH(9:F(2=RSF
	 C*
1e(## 1el% % 'DII   'DLL   T  W Wr$4 $4N#3 #3L6& 6&pZ2 Z2z%68I8I J(98;L;L %6
HDUDU J(9:xGXGX 	@z#68I8I 	@@*&98;L;L @
6z#68I8I 
66*&98;L;L 6z#6
HDUDU *&9:xGXGX %
$5x7H7H %,:'8(:K:K ,%
$5x7H7H %,:'8(:K:K ,%J(9:xGXGX %,z+<j(J[J[ ,	!%68I8I 	!
^J(98;L;L 
^	!:':H<M<M 	!
bj*=x?P?P 
b!*&79J9J !_Z):H<M<M _!J(;X=N=N !cz+>@Q@Q c"(## "D@<!! <~\B(## \B~\OX&& \O~(("3"3 ("-"" -^C"" CNI5H%% I5V	h// 	6"8 p% !>t3"" t3n28$$ 2D                 			jL(## jL^A$& zHMMO {^  G  J  L  K<  H
  F
  F  		s   
V V #V2 0W (W 4	W1 >X 
X VVVV/"V**V/2W7V??WWWWW.!W))W.1X6W>>XXXXX$#X$