a ze @sddlZddlZddlZddlZddlZddlZddlmZddlmZm Z m Z m Z m Z m Z mZddlmZddlmZmZmZmZddlmZddlmZddlmZzGd d d eZWn(eyZzeZWYdZ[n dZ[00zGd d d eeZ Wn*ey&ZzeZ WYdZ[n dZ[00zGd dde!eZ"Wn*eyhZzeZ"WYdZ[n dZ[00zGddde Z#Wn*eyZzeZ#WYdZ[n dZ[00z&Gddde$eZ%Gddde%Z&Wn*eyZzeZ&WYdZ[n dZ[00zedde'dZ(Wn*ey8ZzeZ(WYdZ[n dZ[00zeddZ)Wn*eyrZzeZ)WYdZ[n dZ[00zeddddZ*Wn*eyZzeZ*WYdZ[n dZ[00zGdddeZ+WneyYn0d>d d!Z,d"d#Z-Gd$d%d%ej.Z/Gd&d'd'Z0Gd(d)d)ej.Z1Gd*d+d+ej.Z2Gd,d-d-ej.Z3Gd.d/d/ej.Z4Gd0d1d1ej.Z5Gd2d3d3ej.Z6d4Z7d5Z8Gd6d7d7ej.Z9Gd8d9d9ej.Z:d:Z;d:Zd:Z?d:Z@Gd;d<d.fooNrrrrrrrfoobsr:)__get____set__ __delete__r) assertFalseenum_is_descriptorsetattr assertTrue)selfr:attrr6rrrtest_is_descriptoras  zTestHelpers.test_is_descriptorcCs8dD]}|t|qdD]}|t|qdS)N)_a_Z_aa_) aa__a__aa____a___a____a________________)rBr? _is_sunderr>rCsrrrtest_is_sunderjszTestHelpers.test_is_sundercCs8dD]}|t|qdD]}|t|qdS)N)rLZ__aa__) rGrHrIrJrKrFrMrNrOrPrQrRrS)rBr? _is_dunderr>rUrrrtest_is_dunderrszTestHelpers.test_is_dunderN)rrrrErWrYrrrrr8^s r8c@seZdZdddZddZdS) classpropertyNcCs2||_||_||_|dur(|dur(|j}||_dSN)fgetfsetfdelr")rCr\r]r^docrrr__init__}s zclassproperty.__init__cCs ||Sr[)r\)rCinstance ownerclassrrrr;szclassproperty.__get__)NNNN)rrrr`r;rrrrrZ{s rZc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqdrZ;dsdtZdydzZ?d{d|Z@d}d~ZAddZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSddZTddZUddZVddZWddZXddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_ddZ`ddZaddZbdd„ZcddĄZdddƄZeddȄZfddʄZgdd̄Zhdd΄ZiddЄZjdd҄ZkddԄZlddքZmdd؄ZnddڄZodd܄ZpddބZqddZrddZsddZtddZuddZvddZwddZxddZyddZzddZ{ddZ|ddZ}ddZ~ddZeejdddkdddZdS(TestEnumcCsGdddt}||_Gdddtt}||_Gdddt}||_Gdddtt}||_d d lm }Gd d d |t}||_ dS) Nc@seZdZdZdZdZdZdS)zTestEnum.setUp..SeasonrrrN)rrrSPRINGSUMMERAUTUMNWINTERrrrrSeasonsric@seZdZdZdZdeZdS)z!TestEnum.setUp..KonstantsgB @JM! @rN)rrrEZPITAUrrrr Konstantssrmc@s eZdZdZdZdZdZdZdS)zTestEnum.setUp..GradesrdrrrNrrrABCDFrrrrGradess ruc@seZdZdZdZdZdZdS)z#TestEnum.setUp..DirectionalZeastZwestZnorthZsouthN)rrrZEASTWESTZNORTHZSOUTHrrrr Directionalsrwr)datec@seZdZdZdZdS)zTestEnum.setUp..Holiday)rr)ryrN)rrrZNEW_YEAR IDES_OF_MARCHrrrrHolidaysr|) rrifloatrmrrustrrwdatetimerxr|)rCrirmrurwrxr|rrrsetUps zTestEnum.setUpcCs&|j}|tt|tgddS)N) __class__r" __members__rrerfrgrh)ri assertEqualsetdirrCrirrrtest_dir_on_classs   zTestEnum.test_dir_on_classcCs(|j}|tt|jtgddS)N)rr"rnamevalue)rirrrrhrrrrtest_dir_on_items   zTestEnum.test_dir_on_itemcCsNGdddt}|tt|tgd|tt|jtgddS)Nc@seZdZdZdZddZdS)z3TestEnum.test_dir_with_added_behavior..TestthatthosecSs d|jS)NzWowser! I'm %s!rrCrrrwowsersz:TestEnum.test_dir_with_added_behavior..Test.wowserN)rrrthistheserrrrrTestsr)rr"rrrr)rr"rrrr)rrrrr)rCrrrrtest_dir_with_added_behaviors    z%TestEnum.test_dir_with_added_behaviorcCsBGdddt}Gddd|}|tt|jtgddS)Nc@seZdZddZdS)zBTestEnum.test_dir_on_sub_with_behavior_on_super..SuperEnumcSsdS)Nzdid you see me?rrrrr invisibleszLTestEnum.test_dir_on_sub_with_behavior_on_super..SuperEnum.invisibleN)rrrrrrrr SuperEnumsrc@seZdZdZdS)z@TestEnum.test_dir_on_sub_with_behavior_on_super..SubEnumrnNrrrsamplerrrrSubEnumsr)rr"rrrr)rrrrrrCrrrrr&test_dir_on_sub_with_behavior_on_supers   z/TestEnum.test_dir_on_sub_with_behavior_on_supercCs>Gdddt}Gddd|}|dhtt|jkdS)Nc@seZdZdddZdS)zZTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super..SuperEnumcSst||}||_||_|Sr[)int__new___value_ description)clsrrr6rrrrs zbTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super..SuperEnum.__new__N)rrrrrrrrrrsrc@seZdZdZdS)zXTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_super..SubEnumrnNrrrrrrsrr)rrBrrrrrrr>test_dir_on_sub_with_behavior_including_instance_dict_on_superszGTestEnum.test_dir_on_sub_with_behavior_including_instance_dict_on_supercCs|j}|||j|jdSr[)riassertIsrhrrrrtest_enum_in_enum_outszTestEnum.test_enum_in_enum_outcCs|j}||jjddSNr)rirrerrrrrtest_enum_valueszTestEnum.test_enum_valuecCs|tjjddS)Nr)rrrrrrrrtest_intenum_valueszTestEnum.test_intenum_valuecCs|j}t|}|t|t||t|d|||j|j|j|jg|td dD]\}}||}||t ||||j || ||||j |||||t||||||t|d||t|d||q^dS)NrdzSPRING SUMMER AUTUMN WINTERrzSeason.z)rilistrlenrerfrgrh enumeratesplitgetattrrassertNotEqualrassertInrtypeassertIsInstancer~reprformat)rCrilstiZseasonerrr test_enums*    zTestEnum.test_enumcCs|j}||jjd||jjd|td|j_Wdn1sN0Y|td|j_Wdn1s0YdS)NrerZinviernor)rirrerr assertRaisesAttributeErrorrrrrtest_value_names & zTestEnum.test_value_namecCs:|j}|td|_Wdn1s,0YdS)Nz really cold)rirrrhrrrrtest_changing_members zTestEnum.test_changing_membercCsGdddt}|t|d|`|t|d|t|`Wdn1sX0Y|t|`Wdn1s0Y|t|j` Wdn1s0YdS)Nc@s$eZdZdZdZdZdZddZdS)z0TestEnum.test_attribute_deletion..SeasonrrrrdcSsdSr[r)rrrrspamsz5TestEnum.test_attribute_deletion..Season.spamN)rrrrerfrgrhrrrrrris rir) rrBhasattrrr>rrreZDRYrrrrrtest_attribute_deletions  " " z TestEnum.test_attribute_deletioncCs"Gdddt}|t|dS)Nc@s eZdZdS)z*TestEnum.test_bool_of_class..EmptyNr9rrrrEmpty,srrrBbool)rCrrrrtest_bool_of_class+szTestEnum.test_bool_of_classcCs,Gdddt}|D]}|t|qdS)Nc@seZdZdZdZdZdS)z+TestEnum.test_bool_of_member..CountrrrN)rrrZzeroonetworrrrCount1srr)rCrmemberrrrtest_bool_of_member0szTestEnum.test_bool_of_membercCs(|t Gdddt}Wdn1s00Y|t Gdddt}Wdn1sj0Y|t Gdddt}Wdn1s0Y|t Gdddt}Wdn1s0Y|t Gdddt}Wdn1s0YdS)Nc@seZdZdZdS*TestEnum.test_invalid_names..Wrong N)rrrmrorrrrWrong:src@seZdZdZdS)r N)rrr_create_rrrrr=sc@seZdZdZdSr)rrr _get_mixins_rrrrr@sc@seZdZdZdS)rrN)rrr _find_new_rrrrrCsc@seZdZdZdSr)rrrZ _any_name_rrrrrFsr ValueErrorrrCrrrrtest_invalid_names8s . . . . zTestEnum.test_invalid_namescCs~Gdddt}||j||jGdddt}||j||jGdddtt}||j||jdS)Nc@seZdZdZdZdS)z!TestEnum.test_bool..LogicTFNrrrtruefalserrrrLogicKsrc@seZdZdZdZddZdS)z%TestEnum.test_bool..RealLogicTFcSs t|jSr[)rrrrrr__bool__Tsz.TestEnum.test_bool..RealLogic.__bool__N)rrrrrrrrrr RealLogicQsrc@seZdZdZdZdS)z$TestEnum.test_bool..IntLogicrrNrrrrrIntLogicYsr)rrBrrr>r)rCrrrrrr test_boolIs     zTestEnum.test_boolcCs|j}||j||td|vWdn1s<0Y|td|vWdn1sn0Y|d}|||Gdddt}||j|dS)Nrrgc@seZdZdZdZdS)z)TestEnum.test_contains..OtherEnumrrNrrrrrrrrr OtherEnumjsr)rirrgr TypeErrorrZ assertNotInr)rCrivalrrrr test_contains_s & & zTestEnum.test_containscCs|j}|t|j|jkWdn1s20Y|t|jdkWdn1sf0Y||jdGdddt}||j|j|t|j|jkWdn1s0YdS)Nrdrc@seZdZdZdZdZdS)z'TestEnum.test_comparisons..PartrrrN)rrrreCLIPZBARRELrrrrPartwsr)rirrrerhrrr)rCrirrrrtest_comparisonsns * ( zTestEnum.test_comparisonscCsGdddt}t|}|||j|j|j|jg||j|j||jj d||jj d||d|j||d|j||jj d|dd|j Ddd gdS) Nc@s$eZdZdZdZdZZdZdZdS)z-TestEnum.test_enum_duplicates..SeasonrrrrdN) rrrrerfrgFALLrhANOTHER_SPRINGrrrrris rirrrgcSsg|]\}}|j|kr|qSrr.0kvrrr z1TestEnum.test_enum_duplicates..rr) rrrrerfrgrhrrrrritems)rCrirrrrtest_enum_duplicatess$zTestEnum.test_enum_duplicatescCs|t Gdddt}Wdn1s00Y|t Gdddt}Wdn1sj0Y|t Gdddt}Wdn1s0YdS)Nc@seZdZdZdZdZdZdS)+TestEnum.test_duplicate_name..ColorrrrrdNrrrredgreenbluerrrrColorsrc@s eZdZdZdZdZddZdS)rrrrcSsdS)Nrrrrrrrs/TestEnum.test_duplicate_name..Color.redNrrrrrrsc@s$eZdZeddZdZdZdZdS)rcSsdS)NZredderrrrrrrsrrrrN)rrrpropertyrrrrrrrrs  rrrrCrrrrtest_duplicate_names  . . zTestEnum.test_duplicate_namecCs^Gdddt}|t||j|jg|t|j|||jjd||jjddS)Nc@seZdZdZdZdS)z/TestEnum.test_enum_with_value_name..HuhrrN)rrrrrrrrrHuhsrrr)rrrrrrr)rCrrrrtest_enum_with_value_names z"TestEnum.test_enum_with_value_namecCs|j}|d|jdt|j|d|jdt|j|d|jdt|j|d|jdt|j|d|jdt|j|d|jdt|jdSN{}{:}{:20}{:^20}{:>20}{:<20})rirrrer~rrrrtest_format_enums&zTestEnum.test_format_enumcCs:Gdddt}|t|jd|d|jddS)Nc@s eZdZeZeZddZdS)z=TestEnum.test_str_override_enum..EnumWithStrOverridescSsdSNStr!rrrrr__str__szETestEnum.test_str_override_enum..EnumWithStrOverrides.__str__N)rrrr rrrrrrrEnumWithStrOverridessrrrrrr~rr)rCrrrrtest_str_override_enumszTestEnum.test_str_override_enumcCs:Gdddt}|t|jd|d|jddS)Nc@seZdZdZdZddZdS)zBTestEnum.test_format_override_enum..EnumWithFormatOverride?@cSsdS)NFormat!!rrCspecrrr __format__szMTestEnum.test_format_override_enum..EnumWithFormatOverride.__format__NrrrrrrrrrrEnumWithFormatOverridesrzEnumWithFormatOverride.onerr r)rCrrrrtest_format_override_enumsz"TestEnum.test_format_override_enumcCs:Gdddt}|t|jd|d|jddS)Nc@s(eZdZeZeZddZddZdS)zNTestEnum.test_str_and_format_override_enum..EnumWithStrFormatOverridescSsdSrrrrrrrszVTestEnum.test_str_and_format_override_enum..EnumWithStrFormatOverrides.__str__cSsdSNFormat!rr rrrrszYTestEnum.test_str_and_format_override_enum..EnumWithStrFormatOverrides.__format__N)rrrr rrrrrrrrEnumWithStrFormatOverridessrrrrr)rCrrrr!test_str_and_format_override_enumsz*TestEnum.test_str_and_format_override_enumcCs<Gdddtt}|t|jd|d|jddS)Nc@seZdZdZdZddZdS)zBTestEnum.test_str_override_mixin..MixinEnumWithStrOverrider r cSsdS)N Overridden!rrrrrrszJTestEnum.test_str_override_mixin..MixinEnumWithStrOverride.__str__N)rrrrrrrrrrMixinEnumWithStrOverridesrrrr}rrr~rr)rCrrrrtest_str_override_mixinsz TestEnum.test_str_override_mixincCs<Gdddtt}|t|jd|d|jddS)Nc@s$eZdZdZdZddZddZdS)zPTestEnum.test_str_and_format_override_mixin..MixinWithStrFormatOverridesr r cSsdSrrrrrrrszXTestEnum.test_str_and_format_override_mixin..MixinWithStrFormatOverrides.__str__cSsdSrrr rrrrsz[TestEnum.test_str_and_format_override_mixin..MixinWithStrFormatOverrides.__format__N)rrrrrrrrrrrMixinWithStrFormatOverridessrrrrr)rCrrrr"test_str_and_format_override_mixinsz+TestEnum.test_str_and_format_override_mixincCs<Gdddtt}|t|jd|d|jddS)Nc@seZdZdZdZddZdS)z6TestEnum.test_format_override_mixin..TestFloatr r cSsdS)NTestFloat success!rr rrrrszATestEnum.test_format_override_mixin..TestFloat.__format__Nrrrrr TestFloatsrz TestFloat.onerrr)rCrrrrtest_format_override_mixinsz#TestEnum.test_format_override_mixincCs|||||jdSr[)rrr)rCr rrrrassertFormatIsValueszTestEnum.assertFormatIsValuecCsz|j}|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|jdS) Nrrrrrrz{:%Y %m}z{:%Y %m %M:00})r|rr{)rCr|rrrtest_format_enum_date szTestEnum.test_format_enum_datecCs|j}|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d |jdS) Nrrrrrrz{:n}z{:5.2}z{:f})rmrrl)rCrmrrrtest_format_enum_floatszTestEnum.test_format_enum_floatcCs|j}|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d |jdS) Nrrrrrrz{:+}z{:08X}z{:b})rurrr)rCrurrrtest_format_enum_int"szTestEnum.test_format_enum_intcCs^|j}|d|j|d|j|d|j|d|j|d|j|d|jdSr)rwrrv)rCrwrrrtest_format_enum_str.szTestEnum.test_format_enum_strcCs&Gdddt}|t|jddS)Nc@s$eZdZd\ZZZddZejZdS)z1TestEnum.test_object_str_override..ColorsrrrcSs d|jfS)Nztest.%s)_name_rrrr__repr__:sz:TestEnum.test_object_str_override..Colors.__repr__N) rrrREDGREENBLUEr&objectrrrrrColors8s r+ztest.RED)rrr~r')rCr+rrrtest_object_str_override7sz!TestEnum.test_object_str_overridecCsGdddt}Gdddt}Gddd|t|}||jtu|t|jd|t|jddGd d d ||}|t|jd|t|jdddS) Nc@seZdZddZdS)z2TestEnum.test_enum_str_override..MyStrEnumcSsdS)NMyStrrrrrrrAsz:TestEnum.test_enum_str_override..MyStrEnum.__str__Nrrrrrrrr MyStrEnum@sr/c@seZdZddZdS)z5TestEnum.test_enum_str_override..MyMethodEnumcSs d|jS)NzHello! My name is %srrrrrhelloDsz;TestEnum.test_enum_str_override..MyMethodEnum.helloNrrrr0rrrr MyMethodEnumCsr2c@seZdZdZdZdS)z2TestEnum.test_enum_str_override..Test1EnumrrNrrrOneZTworrrr Test1EnumFsr5r-rc@seZdZdZdZdS)z2TestEnum.test_enum_str_override..Test2EnumrrNr3rrrr Test2EnumMsr6)rrrB _member_type_rr~r4r)rCr/r2r5r6rrrtest_enum_str_override?szTestEnum.test_enum_str_overridecCs<Gdddt}Gddd|tj}|t|jd|td<|td<t|j|jt|j|Gddd|}Gdd d |tj}||j ||td<|td <t|j|j t|j|Gd d d t}Gd d d |t}||j |||d|j |td <|td <t |j t|j t |j t|dS)Nc@seZdZdZddZdS)z1TestEnum.test_inherited_data_type..HexIntHexIntcSst|Sr[hexrrrrr&Vsz:TestEnum.test_inherited_data_type..HexInt.__repr__Nrrrr&rrrrr9Tsr9c@seZdZdZdZdZdZdS)z1TestEnum.test_inherited_data_type..MyEnumMyEnumrrrN)rrrrprqrrrrrrr=Xsr=zc@seZdZdZdS)z3TestEnum.test_inherited_data_type..SillyIntSillyIntNr9rrrrr>csr>c@seZdZdZdZdZdZdS)z6TestEnum.test_inherited_data_type..MyOtherEnum MyOtherEnumrdrnN)rrrrsrkrtrrrrr?fsr?c@seZdZdZddZdS)z4TestEnum.test_inherited_data_type..BrokenInt BrokenIntcSs t||Sr[)rrrrrrrrssz.BrokenInt.__new__NrrrrrrAqsrAc@seZdZdZdZdZdZdS)z7TestEnum.test_inherited_data_type..MyBrokenEnum MyBrokenEnumrN)rrrGHIrrrrrCusrCrD)rr?rrrrpglobalsr4rr7rkrFr7rrr )rCr9r=r>r?rArCrrrtest_inherited_data_typeSs,        z!TestEnum.test_inherited_data_typecCs|td$Gdddttt}Wdn1s60YGdddt}Gdddt}|td$Gddd||t}Wdn1s0YdS) Nztoo many data typesc@seZdZdZdSz.TestEnum.test_too_many_data_types..HuhrNrrrr4rrrrrsrc@seZdZddZdS)z0TestEnum.test_too_many_data_types..MyStrcSsd|S)Nz hello, %srrrrrr0sz6TestEnum.test_too_many_data_types..MyStr.helloNr1rrrrr-sr-c@seZdZddZdS)z0TestEnum.test_too_many_data_types..MyIntcSst|Sr[r:rrrrrsz5TestEnum.test_too_many_data_types..MyInt.reprN)rrrrrrrrMyIntsrMc@seZdZdZdSrKrLrrrrrs)assertRaisesRegexrr~rr)rCrr-rMrrrtest_too_many_data_typess 2z!TestEnum.test_too_many_data_typescCsH|j}i}d||j<d||j<d||j<d||j<|||jddS)NZ1225Z0315Z0704Z1031)rirhrerfrgr)rCriZdatesrrr test_hashs    zTestEnum.test_hashcCs(Gdddtt}||j|jkdS)Nc@seZdZdZdeZdS)z/TestEnum.test_intenum_from_scratch..phyrrNrrrpitaurrrrphysrTrrrBrRrSrCrTrrrtest_intenum_from_scratchsz"TestEnum.test_intenum_from_scratchcCs8Gdddtt}Gddd|}||j|jkdS)Nc@s eZdZdS)z0TestEnum.test_intenum_inherited..IntEnumNr9rrrrrsrc@seZdZdZdeZdS)z,TestEnum.test_intenum_inherited..phyrrNrQrrrrrTsrTrU)rCrrTrrrtest_intenum_inheritedszTestEnum.test_intenum_inheritedcCs(Gdddtt}||j|jkdS)Nc@seZdZdZdeZdS)z1TestEnum.test_floatenum_from_scratch..phyrjrNrQrrrrrTsrTr}rrBrRrSrVrrrtest_floatenum_from_scratchsz$TestEnum.test_floatenum_from_scratchcCs8Gdddtt}Gddd|}||j|jkdS)Nc@s eZdZdS)z4TestEnum.test_floatenum_inherited..FloatEnumNr9rrrr FloatEnumsr[c@seZdZdZdeZdS)z.TestEnum.test_floatenum_inherited..phyrjrNrQrrrrrTsrTrY)rCr[rTrrrtest_floatenum_inheritedsz!TestEnum.test_floatenum_inheritedcCs(Gdddtt}||j|jkdS)Nc@seZdZdZdZdS)z/TestEnum.test_strenum_from_scratch..phyPiTauNrQrrrrrTsrTr~rrBrRrSrVrrrtest_strenum_from_scratchsz"TestEnum.test_strenum_from_scratchcCs8Gdddtt}Gddd|}||j|jkdS)Nc@s eZdZdS)z0TestEnum.test_strenum_inherited..StrEnumNr9rrrrr!sr!c@seZdZdZdZdS)z,TestEnum.test_strenum_inherited..phyr]r^NrQrrrrrTsrTr_)rCr!rTrrrtest_strenum_inheritedszTestEnum.test_strenum_inheritedcCs0Gdddt}|gd|jd|ddt|jDgdt|}|t|t||t|dd }|}t|d D]\}}||}||||t ||||j || |||| |d || d |kod kn|t||||t ||tqdS) Nc@s(eZdZdZdZdZdZdZdZdZ dS) z&TestEnum.test_intenum..WeekDayrrrrdrnr@rDN) rrrSUNDAYMONDAYTUESDAY WEDNESDAYTHURSDAYFRIDAYSATURDAYrrrrWeekDaysri)rGbcrkcSsg|]}|qSrr)rrrrrrrz)TestEnum.test_intenum..)rrrrDz8SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAYrrrE)rrrcr0rdrrrrrrrindexrBrrrr)rCrirr3rZweekdayrrrr test_intenums&     zTestEnum.test_intenumcCsTGdddt}||j|j||djd|dd|jDdgdS)Nc@s,eZdZdZdZdZZdZdZdZ dZ dS) z1TestEnum.test_intenum_duplicates..WeekDayrrrrdrnr@rDN) rrrrbrcrdTEUSDAYrerfrgrhrrrrrisrirrdcSsg|]\}}|j|kr|qSrrrrrrrs  z4TestEnum.test_intenum_duplicates..rn)rrrnrdrrrr)rCrirrrtest_intenum_duplicatess z TestEnum.test_intenum_duplicatescCsP|tddtj|ttddWdn1sB0YdS)Nsbigs)rr from_bytesrrrrrrrtest_intenum_from_bytess z TestEnum.test_intenum_from_bytescCslttjj}|t|tjttjjd}|tt|Wdn1s^0YdS)Ng{Gz?) r}r;rrrrfromhexrr)rChrrrtest_floatenum_fromhexs  zTestEnum.test_floatenum_fromhexcCs,tttrtt|jtjt|jtdSr[) isinstancer Exceptionr4rrrrrrtest_pickle_enums zTestEnum.test_pickle_enumcCs,tttrtt|jtjt|jtdSr[)rvrrwr4rrrrrrtest_pickle_ints zTestEnum.test_pickle_intcCs,tttrtt|jtjt|jtdSr[)rvrrwr4rrrrrrtest_pickle_floats zTestEnum.test_pickle_floatcCs,tttrtt|jtjt|jtdSr[)rvr)rwr4rZhimrrrrtest_pickle_enum_functions z"TestEnum.test_pickle_enum_functioncCs,tttrtt|jtjt|jtdSr[)rvr&rwr4rZwhorrrr%test_pickle_enum_function_with_modules z.TestEnum.test_pickle_enum_function_with_modulecCs tttrt|tjddS)Nr+)rvr*rwrrrrrr test_enum_function_with_qualnames z)TestEnum.test_enum_function_with_qualnamecCs<Gdddt}||j_d|jj|j_t|j|jjdS)Nc@seZdZdZdZdS)zLTestEnum.test_class_nested_enum_and_pickle_protocol_four..NestedEnumcommonZrareN)rrrtwigsZshinyrrrr NestedEnum!srz %s.NestedEnum)rrrrrr4rr)rCrrrr/test_class_nested_enum_and_pickle_protocol_foursz8TestEnum.test_class_nested_enum_and_pickle_protocol_fourcCs>Gdddt}tj|_ttD]}||j|dq dS)Nc@seZdZdZdZdS)z6TestEnum.test_pickle_by_name..ReplaceGlobalIntrrN)rrrONETWOrrrrReplaceGlobalInt*srr)rr?_reduce_ex_by_name __reduce_ex__r0rrr)rCrprotorrrtest_pickle_by_name)s zTestEnum.test_pickle_by_namecCsDtddtd}|td<t|t|jt|jt|jt |dS)N BadPicklezdill sweet bread-n-butterr') rrrIr?_make_class_unpicklabler7rrZdillr )rCrrrrtest_exploding_pickle1s  zTestEnum.test_exploding_picklecCs$Gdddtt}||jddS)Nc@seZdZdZdZdZdS)z-TestEnum.test_string_enum..SkillLevelz'what is the sound of one hand clapping?z#why did the chicken cross the road? knock, knock!N)rrrZmasterZ journeyman apprenticerrrr SkillLevel;srr)r~rrr)rCrrrrtest_string_enum:szTestEnum.test_string_enumcCsLGdddt}||d|j|t|d|j||d|jdS)Nc@seZdZdZdZdZdZdS)z-TestEnum.test_getattr_getitem..PeriodrrrrdN)rrrmorningnoonZeveningnightrrrrPeriodBsrrrr)rrrrrrrCrrrrtest_getattr_getitemAszTestEnum.test_getattr_getitemcCs|j}|t|ddS)N__eq__)rirBrrrrrtest_getattr_dunderKszTestEnum.test_getattr_dundercCs4Gdddt}|t||j|j|j|jgdS)Nc@seZdZdZdZdZdZdS)z-TestEnum.test_iteration_order..SeasonrrdrrN)rrrrfrhrgrerrrrriPsri)rrrrfrhrgrerrrrtest_iteration_orderOs zTestEnum.test_iteration_ordercCs2|tt|j|jj|jj|jj|jjgdSr[)rrreversedrirhrgrfrerrrrtest_reversed_iteration_orderZs  z&TestEnum.test_reversed_iteration_ordercCstdd}t|}|t|t||t|d|||j|j|jg|tddD]X\}}||}|t |j || ||||j || |||t||q^dSN SummerMonthjune july augustrrrrrrjunejulyaugustrrrrrrrrrrCrrrmonthrrrr!test_programmatic_function_stringas   z*TestEnum.test_programmatic_function_stringcCstdddd}t|}|t|t||t|d|||j|j|jg|tddD]X\}}||}|t |j || ||||j || |||t||qbdS)Nrr startrrrrrr,test_programmatic_function_string_with_startrs  z5TestEnum.test_programmatic_function_string_with_startcCstdgd}t|}|t|t||t|d|||j|j|jg|tddD]X\}}||}|t |j || ||||j || |||t||qbdS)Nrrrrrrrrrrrr&test_programmatic_function_string_lists  z/TestEnum.test_programmatic_function_string_listcCstdgddd}t|}|t|t||t|d|||j|j|jg|tddD]X\}}||}|t |j || ||||j || |||t||qfdS)Nrrrrrrrrrr1test_programmatic_function_string_list_with_starts  z:TestEnum.test_programmatic_function_string_list_with_startcCstdd}t|}|t|t||t|d|||j|j|jg|tddD]X\}}||}|t |j || ||||j || |||t||q^dSNr))rr)rr)rrrrrrrrrr#test_programmatic_function_iterables$  z,TestEnum.test_programmatic_function_iterablecCstdtd}t|}|t|t||t|d|||j|j|jg|td dD]X\}}||}|t |j || ||||j |||||t||qbdSr)rrrrrrrrrrrrrrrrrrrrr$test_programmatic_function_from_dicts$  z-TestEnum.test_programmatic_function_from_dictcCstddtd}t|}|t|t||t|d|||j|j|jg|td dD]F\}}||}|||||j || ||| t ||qbdS)Nrr)rrrrrrrrrrrrrrrrrrrrrtest_programmatic_function_types  z(TestEnum.test_programmatic_function_typecCstddtdd}t|}|t|t||t|d|||j|j|jg|td dD]F\}}||}|||||j || ||| t ||qddS)Nrr)rrrrrrrr*test_programmatic_function_type_with_starts  z3TestEnum.test_programmatic_function_type_with_startcCstdd}t|}|t|t||t|d|||j|j|jg|tddD]F\}}||}|||||j || ||| t ||q^dSr rrrrrrrrrrrrrrrrr-test_programmatic_function_type_from_subclasss   z6TestEnum.test_programmatic_function_type_from_subclasscCstdddd}t|}|t|t||t|d|||j|j|jg|tddD]F\}}||}|||||j || ||| t ||qbdS)Nrr(rrrrrrr8test_programmatic_function_type_from_subclass_with_starts  zATestEnum.test_programmatic_function_type_from_subclass_with_startcCsTtttrt|tjd|tjtd|tjttdt|jtjdS)Nr$r%) rvr#rwrr%rBrrr4rrrrtest_subclassing s  zTestEnum.test_subclassingcCsGdddt}|t Gddd|}Wdn1s@0Y|td"Gddd|t}Wdn1s~0YdS)Nc@seZdZdZdZdZdS)z&TestEnum.test_extending..ColorrrrNrrrrrrsrc@seZdZdZdZdZdS)z*TestEnum.test_extending..MoreColorrdrnr@NrrrZcyanmagentaZyellowrrrr MoreColorsrz0EvenMoreColor: cannot extend enumeration 'Color'c@seZdZdZdS)z.TestEnum.test_extending..EvenMoreColorrDN)rrrZ chartrueserrrr EvenMoreColor sr)rrrrNr)rCrrrrrrtest_extendings  .zTestEnum.test_extendingcCs8Gdddt}|t|j|||jddS)Nc@seZdZdZdZddZdS)z/TestEnum.test_exclude_methods..whateverrrcSs d|jS)Nz no, not %srrrrrreally'sz6TestEnum.test_exclude_methods..whatever.reallyN)rrrrrrrrrrwhatever$srz no, not that)rZ assertIsNotrrrr)rCrrrrtest_exclude_methods#szTestEnum.test_exclude_methodscCs@|t"Gdddtt}Wdn1s20YdS)Nc@seZdZdZdS)z4TestEnum.test_wrong_inheritance_order..Wrongzerror before this pointN)rrrZNotHererrrrr.sr)rrrr~rrrrtest_wrong_inheritance_order,s z%TestEnum.test_wrong_inheritance_ordercCsTGdddt}Gdddt}||j|j||j|j||j|jdS)Nc@seZdZdZdZdZdS)z2TestEnum.test_intenum_transitivity..numberrrrN)rrrrrthreerrrrnumber2src@seZdZdZdZdZdS)z2TestEnum.test_intenum_transitivity..numerorrrN)rrrunodostresrrrrnumero6sr)rrrrrrrr)rCrrrrrtest_intenum_transitivity1s z"TestEnum.test_intenum_transitivitycCs4Gdddt}Gdddt}|t||jdS)Nc@seZdZdZdZdS)z4TestEnum.test_wrong_enum_in_call..MonochromerrNrrrblackwhiterrrr Monochrome?src@seZdZdZdZdS)z0TestEnum.test_wrong_enum_in_call..GenderrrNrrrmalefemalerrrrGenderBsr)rrrrrCrrrrrtest_wrong_enum_in_call>sz TestEnum.test_wrong_enum_in_callcCs4Gdddt}Gdddt}|t||jdS)Nc@seZdZdZdZdS)z:TestEnum.test_wrong_enum_in_mixed_call..MonochromerrNrrrrrrHsrc@seZdZdZdZdS)z6TestEnum.test_wrong_enum_in_mixed_call..GenderrrNrrrrrrKsr)rrrrrrrrrtest_wrong_enum_in_mixed_callGsz&TestEnum.test_wrong_enum_in_mixed_callcCs8Gdddt}Gdddt}|||j|jdS)Nc@seZdZdZdZdS)z6TestEnum.test_mixed_enum_in_call_1..MonochromerrNrrrrrrQsrc@seZdZdZdZdS)z2TestEnum.test_mixed_enum_in_call_1..GenderrrNrrrrrrTsr)rrrrrrrrtest_mixed_enum_in_call_1Psz"TestEnum.test_mixed_enum_in_call_1cCs8Gdddt}Gdddt}|||j|jdS)Nc@seZdZdZdZdS)z6TestEnum.test_mixed_enum_in_call_2..MonochromerrNrrrrrrZsrc@seZdZdZdZdS)z2TestEnum.test_mixed_enum_in_call_2..GenderrrNrrrrrr]sr)rrrrrrrrrtest_mixed_enum_in_call_2Ysz"TestEnum.test_mixed_enum_in_call_2cCs6Gdddt}Gddd|}|t|jddS)Nc@seZdZddZdS)z*TestEnum.test_flufl_enum..FluflnumcSs t|jSr[)rrrrrr__int__dsz2TestEnum.test_flufl_enum..Fluflnum.__int__N)rrrrrrrrFluflnumcsrc@seZdZdZdZdZdS)z0TestEnum.test_flufl_enum..MailManOptionsrrrN)rrroption1Zoption2Zoption3rrrrMailManOptionsfsrr)rrrr)rCrrrrrtest_flufl_enumbszTestEnum.test_flufl_enumcCsGdddt}||jjt||jtGdddtt}||jjt||jtGdddt}||jjt ||jt dS)Nc@seZdZdZdZdS)z+TestEnum.test_introspection..NumberdNrrrrrNumbermsrc@seZdZdZdZdZdS)z+TestEnum.test_introspection..StringZsoftZroughZhardN)rrryarnZropeZwirerrrrStringrsrc@seZdZdZdZdS)z*TestEnum.test_introspection..PlainrrN)rrrvanillarrrrrPlainxsr) rrrr7rr~rrrr*)rCrrrrrrtest_introspectionlszTestEnum.test_introspectioncCsxGdddt}|t|dWdn1s80Y|t|dWdn1sj0YdS)Nc@seZdZdZdZdZdS)z0TestEnum.test_no_such_enum_member..ColorrrrNrrrrrrsrrdZ chartreuse)rrrKeyErrorrrrrtest_no_such_enum_member~s  & z!TestEnum.test_no_such_enum_membercCs&Gdddt}|t|jddS)Nc@s eZdZdZdZdZddZdS)z%TestEnum.test_new_repr..ColorrrrcSs d|jS)Nz!don't you just love shades of %s?rrrrrr&sz.TestEnum.test_new_repr..Color.__repr__N)rrrrrrr&rrrrrsrz#don't you just love shades of blue?)rrrrrrrr test_new_reprs zTestEnum.test_new_reprcCs8Gdddt}Gdddt|}|t|jddS)Nc@seZdZddZdS)z,TestEnum.test_inherited_repr..MyEnumcSs d|jS)NzMy name is %s.rrrrrr&sz5TestEnum.test_inherited_repr..MyEnum.__repr__Nr<rrrrr=sr=c@seZdZdZdZdZdS)z/TestEnum.test_inherited_repr..MyIntEnumrrrN)rrrrrZtheotherrrrr MyIntEnumsrzMy name is that.)rrrrr)rCr=rrrrtest_inherited_reprszTestEnum.test_inherited_reprcsdGfdddttGdddtd}Gdddtd}Gdd d |}Gd d d |}dS) NcseZdZfddZZS)z3TestEnum.test_multiple_mixin_mro..auto_enumc st|}||_t|j}d}|jD].}||}|tur>|}n|}|d7}|||<q$|D]\}}||vr\|||<q\t|||||SNrr)r _cls_namer _member_namesEllipsisrsuperr) metaclsrbases classdicttempnamesrrr)r auto_enumrrrs"      z;TestEnum.test_multiple_mixin_mro..auto_enum.__new__rrrr __classcell__rrrrrsrc@s eZdZdS)z:TestEnum.test_multiple_mixin_mro..AutoNumberedEnumNr9rrrrAutoNumberedEnumsr) metaclassc@s eZdZdS)z5TestEnum.test_multiple_mixin_mro..AutoIntEnumNr9rrrr AutoIntEnumsrc@seZdZdZdZdZdS)z8TestEnum.test_multiple_mixin_mro..TestAutoNumber.rNrrrrGrjrkrrrrTestAutoNumbersrc@seZdZdZdZdZdS)z5TestEnum.test_multiple_mixin_mro..TestAutoInt.rNrrrrr TestAutoIntsr)rrr)rCrrrrrrrtest_multiple_mixin_mros z TestEnum.test_multiple_mixin_mrocsGfdddtGdddt}||jtj|t|j|jdtd<|td<dd}||dt |j|d||jj dt |j|jt |j|dS) NcsHeZdZdZddZddZeddZdd Zd d Zfd d ZdS)z:TestEnum.test_subclasses_with_getnewargs..NamedIntNamedIntcWsB|}|^}}t|dkr tdtj|g|R}||_||_|SNrz name and value must be specifiedrrrr_intname_argsrargsrrrCrrrrs zBTestEnum.test_subclasses_with_getnewargs..NamedInt.__new__cSs|jSr[rrrrr__getnewargs__szITestEnum.test_subclasses_with_getnewargs..NamedInt.__getnewargs__cSs|jSr[rrrrrrszCTestEnum.test_subclasses_with_getnewargs..NamedInt.__name__cSsdt|j|jt|SNz {}({!r}, {})rrrrr&rrrrr&s zCTestEnum.test_subclasses_with_getnewargs..NamedInt.__repr__cSs&t}|j}|jtur||S||Sr[rr __objclass__r*r&rCbaseZbase_strrrrrs   zBTestEnum.test_subclasses_with_getnewargs..NamedInt.__str__csBt|t|}t|r:t|r:d|j|j|S|SdSNz ({0} + {1})rrvrrrCotherrrrr__add__szBTestEnum.test_subclasses_with_getnewargs..NamedInt.__add__N) rrrrrrr&rrrrrrrs   rc@seZdZdZdZdZdS)z5TestEnum.test_subclasses_with_getnewargs..NEINEIzthe-xrzthe-yrNrrrxyrrrrrsrNamedInt('(the-x + the-y)', 3)testrnr rrrrrrrrrIr4rrCrZNI5rrrtest_subclasses_with_getnewargss'    z(TestEnum.test_subclasses_with_getnewargscsGfdddtGdddt}||jtj|t|j|jdtd<|td<dd}||dt |j|d||jj dt |j|jt |j|dS) NcsHeZdZdZddZddZeddZdd Zd d Zfd d ZdS)z=TestEnum.test_subclasses_with_getnewargs_ex..NamedIntrcWsB|}|^}}t|dkr tdtj|g|R}||_||_|Srrrrrrrs zETestEnum.test_subclasses_with_getnewargs_ex..NamedInt.__new__cSs |jifSr[rrrrr__getnewargs_ex__szOTestEnum.test_subclasses_with_getnewargs_ex..NamedInt.__getnewargs_ex__cSs|jSr[rrrrrr szFTestEnum.test_subclasses_with_getnewargs_ex..NamedInt.__name__cSsdt|j|jt|Sr r rrrrr& s zFTestEnum.test_subclasses_with_getnewargs_ex..NamedInt.__repr__cSs&t}|j}|jtur||S||Sr[r r rrrrs   zETestEnum.test_subclasses_with_getnewargs_ex..NamedInt.__str__csBt|t|}t|r:t|r:d|j|j|S|SdSrrrrrrrszETestEnum.test_subclasses_with_getnewargs_ex..NamedInt.__add__N) rrrrr rr&rrrrrrrs   rc@seZdZdZdZdZdS)z8TestEnum.test_subclasses_with_getnewargs_ex..NEIrrrNrrrrrr$srrrrnrrrrrr"test_subclasses_with_getnewargs_exs'    z+TestEnum.test_subclasses_with_getnewargs_excsGfdddtGdddt}||jtj|t|j|jdtd<|td<dd}||dt |j|d||jj dt |j|jt |j|dS) NcsHeZdZdZddZddZeddZdd Zd d Zfd d ZdS)z6TestEnum.test_subclasses_with_reduce..NamedIntrcWsB|}|^}}t|dkr tdtj|g|R}||_||_|Srrrrrrr8s z>TestEnum.test_subclasses_with_reduce..NamedInt.__new__cSs |j|jfSr[rrrrrr __reduce__AszATestEnum.test_subclasses_with_reduce..NamedInt.__reduce__cSs|jSr[rrrrrrCsz?TestEnum.test_subclasses_with_reduce..NamedInt.__name__cSsdt|j|jt|Sr r rrrrr&Fs z?TestEnum.test_subclasses_with_reduce..NamedInt.__repr__cSs&t}|j}|jtur||S||Sr[r r rrrrKs   z>TestEnum.test_subclasses_with_reduce..NamedInt.__str__csBt|t|}t|r:t|r:d|j|j|S|SdSrrrrrrrTsz>TestEnum.test_subclasses_with_reduce..NamedInt.__add__N) rrrrr#rr&rrrrrrr6s   rc@seZdZdZdZdZdS)z1TestEnum.test_subclasses_with_reduce..NEIrrrNrrrrrr]srrrrnrrrrrrtest_subclasses_with_reduce5s'    z$TestEnum.test_subclasses_with_reducecsGfdddtGdddt}||jtj|t|j|jdtd<|td<dd}||dt |j|d||jj dt |j|jt |j|dS) NcsHeZdZdZddZddZeddZdd Zd d Zfd d ZdS)z9TestEnum.test_subclasses_with_reduce_ex..NamedIntrcWsB|}|^}}t|dkr tdtj|g|R}||_||_|Srrrrrrrqs zATestEnum.test_subclasses_with_reduce_ex..NamedInt.__new__cSs |j|jfSr[r"rCrrrrrzszGTestEnum.test_subclasses_with_reduce_ex..NamedInt.__reduce_ex__cSs|jSr[rrrrrr|szBTestEnum.test_subclasses_with_reduce_ex..NamedInt.__name__cSsdt|j|jt|Sr r rrrrr&s zBTestEnum.test_subclasses_with_reduce_ex..NamedInt.__repr__cSs&t}|j}|jtur||S||Sr[r r rrrrs   zATestEnum.test_subclasses_with_reduce_ex..NamedInt.__str__csBt|t|}t|r:t|r:d|j|j|S|SdSrrrrrrrszATestEnum.test_subclasses_with_reduce_ex..NamedInt.__add__N) rrrrrrr&rrrrrrros   rc@seZdZdZdZdZdS)z4TestEnum.test_subclasses_with_reduce_ex..NEIrrrNrrrrrrsrrrrnrrrrrrtest_subclasses_with_reduce_exns'    z'TestEnum.test_subclasses_with_reduce_excsGfdddtGdddt}||jtj|t|j|jdtd<|td<dd}||d||jj dt |j t |jt |j t |dS) Ncs@eZdZdZddZeddZddZdd Zfd d Zd S) zHTestEnum.test_subclasses_without_direct_pickle_support..NamedIntrcWsB|}|^}}t|dkr tdtj|g|R}||_||_|Srrrrrrrs zPTestEnum.test_subclasses_without_direct_pickle_support..NamedInt.__new__cSs|jSr[rrrrrrszQTestEnum.test_subclasses_without_direct_pickle_support..NamedInt.__name__cSsdt|j|jt|Sr r rrrrr&s zQTestEnum.test_subclasses_without_direct_pickle_support..NamedInt.__repr__cSs&t}|j}|jtur||S||Sr[r r rrrrs   zPTestEnum.test_subclasses_without_direct_pickle_support..NamedInt.__str__csBt|t|}t|r:t|r:d|j|j|S|SdSrrrrrrrszPTestEnum.test_subclasses_without_direct_pickle_support..NamedInt.__add__Nrrrrrr&rrrrrrrs   rc@seZdZdZdZdZdS)zCTestEnum.test_subclasses_without_direct_pickle_support..NEIrrrNrrrrrrsrrrrnr)rrrrrrrrrIrr7rrr rrrr-test_subclasses_without_direct_pickle_supports%    z6TestEnum.test_subclasses_without_direct_pickle_supportcsGfdddtGdddt}||jtj|t|j|jdtd<|td<dd}||d||jj dt |j|jt |j|dS) Ncs@eZdZdZddZeddZddZdd Zfd d Zd S) zSTestEnum.test_subclasses_without_direct_pickle_support_using_name..NamedIntrcWsB|}|^}}t|dkr tdtj|g|R}||_||_|Srrrrrrrs z[TestEnum.test_subclasses_without_direct_pickle_support_using_name..NamedInt.__new__cSs|jSr[rrrrrrsz\TestEnum.test_subclasses_without_direct_pickle_support_using_name..NamedInt.__name__cSsdt|j|jt|Sr r rrrrr&s z\TestEnum.test_subclasses_without_direct_pickle_support_using_name..NamedInt.__repr__cSs&t}|j}|jtur||S||Sr[r r rrrrs   z[TestEnum.test_subclasses_without_direct_pickle_support_using_name..NamedInt.__str__csBt|t|}t|r:t|r:d|j|j|S|SdSrrrrrrrsz[TestEnum.test_subclasses_without_direct_pickle_support_using_name..NamedInt.__add__Nr'rrrrrs   rc@s eZdZdZdZdZddZdS)zNTestEnum.test_subclasses_without_direct_pickle_support_using_name..NEIrrrcSst|j|jffSr[)rrr%r%rrrrsz\TestEnum.test_subclasses_without_direct_pickle_support_using_name..NEI.__reduce_ex__N)rrrrrrrrrrrsrrrrnr) rrrrrrrrrIrr4rrrr8test_subclasses_without_direct_pickle_support_using_names%    zATestEnum.test_subclasses_without_direct_pickle_support_using_namecCs\Gdddtt}|t|j|||jt||jd|t d<t |j|jdS)Nc@seZdZdZdZdZdZdS)z/TestEnum.test_tuple_subclass..SomeTuple SomeTuple)rz for the money)rz for the showrz for the musicN)rrrfirstsecondthirdrrrrr*sr*r+) tuplerrrr,rr-rr.rIr4)rCr*rrrtest_tuple_subclasss  zTestEnum.test_tuple_subclasscCsdGdddt}|t||j|j|jg|t|jd||jjd||d|jdS)Nc@s(eZdZdZdZdZddZddZdS)zITestEnum.test_duplicate_values_give_unique_enum_items..AutoNumberrcSs"t|jd}t|}||_|Srrrr*rrrrr6rrrr$s zQTestEnum.test_duplicate_values_give_unique_enum_items..AutoNumber.__new__cSs t|jSr[rrrrrrr)szQTestEnum.test_duplicate_values_give_unique_enum_items..AutoNumber.__int__N)rrrr,r-r.rrrrrr AutoNumber s r4rrr) rrrr,r-r.rrr)rCr4rrr,test_duplicate_values_give_unique_enum_itemss z5TestEnum.test_duplicate_values_give_unique_enum_itemscCsZGdddt}Gddd|}|t||j|j|jg|ttt|gddS)Nc@seZdZddZddZdS)zBTestEnum.test_inherited_new_from_enhanced_enum..AutoNumbercSs"t|jd}t|}||_|Srr1r2rrrr5s zJTestEnum.test_inherited_new_from_enhanced_enum..AutoNumber.__new__cSs t|jSr[r3rrrrr:szJTestEnum.test_inherited_new_from_enhanced_enum..AutoNumber.__int__N)rrrrrrrrrr44sr4c@seZdZdZdZdZdS)z=TestEnum.test_inherited_new_from_enhanced_enum..ColorrNrrrrrr<srr$)rrrrrrmaprrCr4rrrr%test_inherited_new_from_enhanced_enum3sz.TestEnum.test_inherited_new_from_enhanced_enumcCsZGdddt}Gddd|}|t||j|j|jg|ttt|gddS)Nc@seZdZddZdS)z?TestEnum.test_inherited_new_from_mixed_enum..AutoNumbercSs$t|jd}t||}||_|Sr)rrrrrr2rrrrEs zGTestEnum.test_inherited_new_from_mixed_enum..AutoNumber.__new__Nrrrrrr4Dsr4c@seZdZdZdZdZdS)z:TestEnum.test_inherited_new_from_mixed_enum..ColorrNrrrrrrJsrr$)rrrrrrr6rr7rrr"test_inherited_new_from_mixed_enumCsz+TestEnum.test_inherited_new_from_mixed_enumcCs0Gdddt}|t|j||jtdS)Nc@seZdZdZdS)z,TestEnum.test_equality..OrdinaryEnumrN)rrrrGrrrr OrdinaryEnumRsr:)rrrrG)rCr:rrr test_equalityQszTestEnum.test_equalitycCsGdddt}Gddd|}||j|j||j|j||j|j| |j|j| |j|j| |j|jdS)Nc@s,eZdZddZddZddZddZd S) z0TestEnum.test_ordered_mixin..OrderedEnumcSs|j|jur|j|jkStSr[rrNotImplementedrCrrrr__ge__Ys  z7TestEnum.test_ordered_mixin..OrderedEnum.__ge__cSs|j|jur|j|jkStSr[r<r>rrr__gt__]s  z7TestEnum.test_ordered_mixin..OrderedEnum.__gt__cSs|j|jur|j|jkStSr[r<r>rrr__le__as  z7TestEnum.test_ordered_mixin..OrderedEnum.__le__cSs|j|jur|j|jkStSr[r<r>rrr__lt__es  z7TestEnum.test_ordered_mixin..OrderedEnum.__lt__N)rrrr?r@rArBrrrr OrderedEnumXsrCc@s eZdZdZdZdZdZdZdS)z*TestEnum.test_ordered_mixin..GradernrdrrrNrorrrrGradeis rD) rZ assertGreaterrprqZassertLessEqualrtrrZ assertLessrsZassertGreaterEqualrr)rCrCrDrrrtest_ordered_mixinWszTestEnum.test_ordered_mixincCs^Gdddt}Gddd|}|t Gddd|}Wdn1sP0YdS)Nc@seZdZddZdS)z'TestEnum.test_extending2..ShadecSst|jdSr[)printrrrrrshadexsz-TestEnum.test_extending2..Shade.shadeNrrrrGrrrrShadewsrIc@seZdZdZdZdZdS)z'TestEnum.test_extending2..ColorrrrNrrrrrrzsrc@seZdZdZdZdZdS)z+TestEnum.test_extending2..MoreColorrdrnr@Nrrrrrrsr)rrrrCrIrrrrrtest_extending2vs zTestEnum.test_extending2cCsFGdddt}Gddd|}Gddd|}||jddS)Nc@seZdZddZdS)z'TestEnum.test_extending3..ShadecSs|jSr[rrrrrrGsz-TestEnum.test_extending3..Shade.shadeNrHrrrrrIsrIc@seZdZddZdS)z'TestEnum.test_extending3..ColorcSs d|jS)Nz %s hexlified!rrrrrr;sz+TestEnum.test_extending3..Color.hexN)rrrr;rrrrrsrc@seZdZdZdZdZdS)z+TestEnum.test_extending3..MoreColorrdrnr@Nrrrrrrsrz 5 hexlified!)rrrr;rJrrrtest_extending3szTestEnum.test_extending3cCs6Gdddt}Gddd|}|t|j|dS)Nc@seZdZddZdS)z3TestEnum.test_subclass_duplicate_name..BasecSsdSr[rrrrrrsz8TestEnum.test_subclass_duplicate_name..Base.testNrrrrrrrrBasesrNc@seZdZdZdS)z3TestEnum.test_subclass_duplicate_name..TestrNrMrrrrrsr)rrrrrCrNrrrrtest_subclass_duplicate_namesz%TestEnum.test_subclass_duplicate_namecsDddlmGfdddt}Gddd|}||jjddS)NrDynamicClassAttributecseZdZddZdS)z;TestEnum.test_subclass_duplicate_name_dynamic..BasecSsdS)Ndynamicrrrrrrsz@TestEnum.test_subclass_duplicate_name_dynamic..Base.testNrMrrQrrrNsrNc@seZdZdZdS)z;TestEnum.test_subclass_duplicate_name_dynamic..TestrNrMrrrrrsrrS)typesrRrrrrOrrQr$test_subclass_duplicate_name_dynamics z-TestEnum.test_subclass_duplicate_name_dynamiccCs^Gdddt}Gddd|}|t Gddd|}Wdn1sP0YdS)Nc@seZdZddZdS)z/TestEnum.test_no_duplicates..UniqueEnumcsBj}tfdd|Dr>j}|jj}td||fdS)Nc3s|]}j|jkVqdSr[r)rrrrr rzKTestEnum.test_no_duplicates..UniqueEnum.__init__..z-aliases not allowed in UniqueEnum: %r --> %r)ranyrrr)rCrrrGrrrrr`s z8TestEnum.test_no_duplicates..UniqueEnum.__init__Nrrrr`rrrr UniqueEnumsrYc@seZdZdZdZdZdSz*TestEnum.test_no_duplicates..ColorrrrNrrrrrrsrc@seZdZdZdZdZdZdSrZ)rrrrrrZgrenerrrrrs)rrr)rCrYrrrrtest_no_duplicatess  zTestEnum.test_no_duplicatescCs:Gdddt}|t|jjdd||jjddS)Nc@s@eZdZdZdZdZdZdZdZdZ dZ d d Z e d d Z d S)z"TestEnum.test_init..Planet)gITf|Dg BA)gQX4EgWAg oEgTXA)g Dg(IA)gcEg A)g[\h}Eg,A)g#'?TQEg_xA)gJ-UEgwAcSs||_||_dSr[massradius)rCr^r_rrrr`sz+TestEnum.test_init..Planet.__init__cSsd}||j|j|jS)Ng yдW=r])rCrFrrrsurface_gravitysz2TestEnum.test_init..Planet.surface_gravityN)rrrZMERCURYZVENUSEARTHZMARSZJUPITERZSATURNZURANUSZNEPTUNEr`rr`rrrrPlanetsrbrg#@r\)rrroundrar`r)rCrbrrr test_initszTestEnum.test_initcCs|Gdddtt}|t|d|t|d|t|d|t|jt||j|ju||j |j udS)Nc@seZdZdZddZdZeZedD]Z e ddfede <q&ed D]Z e d d fed e <qHed D]Z e dfede <qje Z e Z eZdS)z$TestEnum.test_ignore..Periodz3 different lengths of time cSst||}||_||_|Sr[)rrrperiod)rrrer6rrrrs z,TestEnum.test_ignore..Period.__new__zPeriod i rrzmonth_%d5rDZweekzweek_%d Zdayzday_%dN)rrrr"r_ignore_varsrr0rday_1ZOneDayZweek_1ZOneWeekmonth_1ZOneMonthrrrrrs   rrir) rrr>rrBrvrkrlZday_30Zweek_4Zday_28rrrr test_ignoreszTestEnum.test_ignorecCsGdddt}Gddd|}|t||j|j|jgt|tdD]2\}}|d7}||j|g| ||g|qJdS)Nc@seZdZddZdS)z6TestEnum.test_nonhash_value..AutoNumberInAListcSs$t|jdg}t|}||_|Srr1r2rrrrs z>TestEnum.test_nonhash_value..AutoNumberInAList.__new__NrrrrrAutoNumberInAListsrnc@seZdZdZdZdZdS)z1TestEnum.test_nonhash_value..ColorInAListrNrrrrr ColorInAListsrorr) rrrrrrzipr0rr)rCrnror?rrrrtest_nonhash_valueszTestEnum.test_nonhash_valuecCs^Gdddtt}Gddd|}|t||j|jg||jd||d|jdS)Nc@seZdZddZdS)zHTestEnum.test_conflicting_types_resolved_in_new..LabelledIntEnumcWs$|\}}t||}||_||_|Sr[)rrlabelr)rrrrrr6rrrrs  zPTestEnum.test_conflicting_types_resolved_in_new..LabelledIntEnum.__new__NrrrrrLabelledIntEnumsrsc@seZdZdZdZdS)zETestEnum.test_conflicting_types_resolved_in_new..LabelledList)rZ Unprocessed)rzPayment CompleteN)rrr unprocessedpayment_completerrrr LabelledListsrvr)rrrrrtru)rCrsrvrrr&test_conflicting_types_resolved_in_news z/TestEnum.test_conflicting_types_resolved_in_newcCs`Gdddt}|t||j|j|jg||jjd||jjd||jjddS)Nc@seZdZeZeZeZdS)z(TestEnum.test_auto_number..ColorNrrrr rrrrrrrr srrrrrrrrrrrrrrrtest_auto_number s zTestEnum.test_auto_numbercCs`Gdddt}|t||j|j|jg||jjd||jjd||jjddS)Nc@s&eZdZddZeZeZeZdS)z&TestEnum.test_auto_name..ColorcSs|Sr[rrrcountZlastrrr_generate_next_value_sz.Color._generate_next_value_N)rrrr}r rrrrrrrrsrrrrryrrrrtest_auto_names zTestEnum.test_auto_namecCspGdddt}Gddd|}|t||j|j|jg||jjd||jjd||jjddS)Nc@seZdZddZdS)z5TestEnum.test_auto_name_inherit..AutoNameEnumcSs|Sr[rr{rrrr}&szKTestEnum.test_auto_name_inherit..AutoNameEnum._generate_next_value_N)rrrr}rrrr AutoNameEnum%src@seZdZeZeZeZdS)z.TestEnum.test_auto_name_inherit..ColorNrxrrrrr(srrrrry)rCrrrrrtest_auto_name_inherit$s zTestEnum.test_auto_name_inheritcCs$Gdddt}||jjddS)Nc@seZdZdZeZdS)z)TestEnum.test_auto_garbage..ColorrNrrrrr rrrrrr3srr)rrrrrrrrtest_auto_garbage2szTestEnum.test_auto_garbagecCs`Gdddt}|t||j|j|jg||jjd||jjd||jjddS)Nc@seZdZdZdZeZdS)z3TestEnum.test_auto_garbage_corrected..ColorrrN)rrrrrr rrrrrr9srrrrryrrrrtest_auto_garbage_corrected8s z$TestEnum.test_auto_garbage_correctedcCs>|t Gdddt}Wdn1s00YdS)Nc@s&eZdZeZeZeZddZdS)z'TestEnum.test_auto_order..ColorcSs|Sr[rr{rrrr}Isz=TestEnum.test_auto_order..Color._generate_next_value_N)rrrr rrrr}rrrrrEsrrrrrrtest_auto_orderCs zTestEnum.test_auto_ordercs\td_Gfdddt}|t||j|jg||jjd||jjddS)Nzpathological casecseZdZZddZeZdS)z-TestEnum.test_auto_order_wierd..ColorcSs|Sr[rr{rrrr}QszCTestEnum.test_auto_order_wierd..Color._generate_next_value_N)rrrrr}r rrZ weird_autorrrOsrr)r rrrrrrrrrrtest_auto_order_wierdLs zTestEnum.test_auto_order_wierdcCs0Gdddt}||j|j|jgt|dS)Nc@s"eZdZeZZeZeZdS)z+TestEnum.test_duplicate_auto..DupesNrrrr r,Zprimeror-r.rrrrDupesYs rrrr,r-r.rrCrrrrtest_duplicate_autoXszTestEnum.test_duplicate_autoc Cs^Gdddt}z |dWn4tyP}z||jduWYd}~nd}~00tddS)Nc@seZdZdZdZdZdS)z,TestEnum.test_default_missing..ColorrrrN)rrrr'r(r)rrrrr`srrDException not raised.)rrrB __context__rwrCrexcrrrtest_default_missing_s  &zTestEnum.test_default_missingc CsGdddt}||d|jz |dWn4tyb}z||jduWYd}~nd}~00tdz |dWn6ty}z|t|jtWYd}~nd}~00tdz |dWn6t y}z|t|jtWYd}~nd}~00tddS)Nc@s$eZdZdZdZdZeddZdS)z$TestEnum.test_missing..ColorrrrcSs0|dkr|jS|dkrdS|dkr(tndSdS)Nr bad returnrn error out)rZeroDivisionError)ritemrrr _missing_psz.TestEnum.test_missing..Color._missing_N)rrrrrr classmethodrrrrrrls rrrDrrr) rrrrrBrrwrrvrrrrr test_missingks" & ( (zTestEnum.test_missingcsddl}ddl}GdddtjGddd}Gfddd}||}||}|||d||ddS)Nrc@seZdZdZdZdS)z8TestEnum.test_missing_exceptions_reset..TestEnumZval1Zval2N)rrrZVAL1ZVAL2rrrrrcsrcc@seZdZddZdS)z6TestEnum.test_missing_exceptions_reset..Class1cSs"z tWntyYn0dSr[rrrrrr`s  z?TestEnum.test_missing_exceptions_reset..Class1.__init__NrXrrrrClass1srcseZdZfddZdS)z6TestEnum.test_missing_exceptions_reset..Class2cs$z dWntyYn0dS)NZ invalid_valuerrrcrrr`s  z?TestEnum.test_missing_exceptions_reset..Class2.__init__NrXrrrrClass2sr)gcweakrefr?rrefZcollectr)rCrrrrZ class_1_refZ class_2_refrrrtest_missing_exceptions_resets  z&TestEnum.test_missing_exceptions_resetc CsGddd}Gddd}Gdddt}Gdddt}Gd d d |t}||jjd ||jjd ||jjd ||jd |t|jdGdd d ||t}||jjd ||jjd ||jjd ||jd |t|jdGdd d ||t}||jjd ||jjd ||jjd ||jd |t|jdGddd||t}||jjd ||jjd ||jjd |t|jd||jdGddd||t}||jjd ||jjd ||jjd |t|jd||jd||j dGddd|||}||jjd ||jjd ||jjd |t|jd||jd||j dGddd|||} || jjd || jjd || jjd |t| jd|| jd|| j dGddd|t ||} || jjd || jjd || jjd |t| jd|| jd|| j d| t | t dS)Nc@seZdZeddZdS)z.TestEnum.test_multiple_mixin..MaxMixincSst|}||_|Sr[)rMAX)rmaxrrrrsz2TestEnum.test_multiple_mixin..MaxMixin.MAXN)rrrrZrrrrrMaxMixinsrc@seZdZddZdS)z.TestEnum.test_multiple_mixin..StrMixincSs |jSr[r%lowerrrrrrsz6TestEnum.test_multiple_mixin..StrMixin.__str__Nr.rrrrStrMixinsrc@seZdZddZdS)z.TestEnum.test_multiple_mixin..SomeEnumcSsdS)Nbooyahrrrrrbehaviorsz7TestEnum.test_multiple_mixin..SomeEnum.behaviorN)rrrrrrrrSomeEnumsrc@seZdZddZddZdS)z1TestEnum.test_multiple_mixin..AnotherEnumcSsdS)Nnuhuh!rrrrrrsz:TestEnum.test_multiple_mixin..AnotherEnum.behaviorcSsdS)N what's up?rrrrrsocialsz8TestEnum.test_multiple_mixin..AnotherEnum.socialN)rrrrrrrrr AnotherEnumsrc@seZdZeZeZeZdSz+TestEnum.test_multiple_mixin..ColorNrrrr r'r(r)rrrrrsrrrr Color.BLUEc@seZdZeZeZeZdSrrrrrrrsrc@seZdZeZeZeZdSrrrrrrrsc@seZdZeZeZeZdS)z/TestEnum.test_multiple_mixin..CoolColorNrrrrr CoolColorsrrc@seZdZeZeZeZdS)z1TestEnum.test_multiple_mixin..CoolerColorNrrrrr CoolerColorsrrrc@seZdZeZeZeZdS)z2TestEnum.test_multiple_mixin..CoolestColorNrrrrr CoolestColorsrc@seZdZeZeZeZdS)z3TestEnum.test_multiple_mixin..ConfusedColorNrrrrr ConfusedColorsrc@seZdZeZeZeZdS)z3TestEnum.test_multiple_mixin..ReformedColorNrrrrr ReformedColorsr)rrr'rr(r)rr~rrrrB issubclassr) rCrrrrrrrrrrrrrtest_multiple_mixinsrzTestEnum.test_multiple_mixincCsNGdddtt}tGddd|}Gddd|}tGddd|}dS) Nc@seZdZddZdS)z7TestEnum.test_multiple_inherited_mixin..StrEnumc_sB|D]$}t|tstd|t|jfqtj|g|Ri|S)Nz%Enumeration '%s' (%s) is not a string)rvr~rrrr)rrkwargsrGrrrrs   z?TestEnum.test_multiple_inherited_mixin..StrEnum.__new__Nrrrrrr!sr!c@seZdZdZdZdZdS)z9TestEnum.test_multiple_inherited_mixin..Decision1REVERT REVERT_ALLRETRYNrrrrrrrrrr Decision1src@s eZdZdS)z6TestEnum.test_multiple_inherited_mixin..MyEnumNr9rrrrr=sr=c@seZdZdZdZdZdS)z9TestEnum.test_multiple_inherited_mixin..Decision2rrrNrrrrr Decision2!sr)r~rr)rCr!rr=rrrrtest_multiple_inherited_mixins z&TestEnum.test_multiple_inherited_mixincCsGdddt}Gddd}Gddd||tj}Gddd|}|t|j||t|jd Gd d d |}||jd dS) NcseZdZfddZZS)z5TestEnum.test_multiple_mixin_inherited..MyIntcst||Sr[)rrrBrrrr)sz=TestEnum.test_multiple_mixin_inherited..MyInt.__new__rrrrrrM(srMc@seZdZddZdS)z8TestEnum.test_multiple_mixin_inherited..HexMixincSst|Sr[r:rrrrr&-szATestEnum.test_multiple_mixin_inherited..HexMixin.__repr__Nr<rrrrHexMixin,src@s eZdZdS)z9TestEnum.test_multiple_mixin_inherited..MyIntEnumNr9rrrrr0src@seZdZdZdS)z3TestEnum.test_multiple_mixin_inherited..FoorN)rrrTESTrrrrFoo3srZ0x1c@seZdZdZddZdS)z3TestEnum.test_multiple_mixin_inherited..FeercSs|d7}t||}||_|Sr)rrrrrrrrrr:s z;TestEnum.test_multiple_mixin_inherited..Fee.__new__N)rrrrrrrrrFee8srr)rr?rrBrvrrr)rCrMrrrrrrrtest_multiple_mixin_inherited'sz&TestEnum.test_multiple_mixin_inheritedcCsGdddtt}Gdddtt}Gddd||}|}|t||j|j|jg||jd||jjd||d|j| |jj |d }|t||j|j|jg||jd||jjd||d|j| |jj | t ||| |j dS) Ncs eZdZefddZZS)zRTestEnum.test_miltuple_mixin_with_common_data_type..CaseInsensitiveStrEnumcs6|jD]}|j|kr |Sq t|Sr[) _member_map_valuesrrrrrrrrrCs z\TestEnum.test_miltuple_mixin_with_common_data_type..CaseInsensitiveStrEnum._missing_)rrrrrrrrrrCaseInsensitiveStrEnumBsrc@s,eZdZddZeddZeddZdS)zJTestEnum.test_miltuple_mixin_with_common_data_type..LenientStrEnumcWs d|_dS)NT_valid)rCrrrrr`KszSTestEnum.test_miltuple_mixin_with_common_data_type..LenientStrEnum.__init__cSs2|j||}d|_||_||_||j|<|S)NF)r7rrupperr%rr)rrunknownrrrrMs   zTTestEnum.test_miltuple_mixin_with_common_data_type..LenientStrEnum._missing_cSs|jSr[rrrrrvalidXszPTestEnum.test_miltuple_mixin_with_common_data_type..LenientStrEnum.validN)rrrr`rrrrrrrrLenientStrEnumJs  rc@seZdZdZdZdZdS)zETestEnum.test_miltuple_mixin_with_common_data_type..JobStatusactivependingZ terminatedN)rrrACTIVEPENDING TERMINATEDrrrr JobStatus\srrZActivemissing) r~rrrrrrrrrBrrvr>)rCrrrZJSrrrr)test_miltuple_mixin_with_common_data_typeAs"z2TestEnum.test_miltuple_mixin_with_common_data_typecCs(d}t|dd}i}i}t|||dS)Nz8from enum import Enum; Enum('Animal', 'ANT BEE CAT DOG')zexec)compiler)rCcodeZ global_nsZlocal_lsrrrtest_empty_globalsps  zTestEnum.test_empty_globalsNrrrz+private variables are now normal attributescCs|t Gdddt}Wdn1s00Y||jjdz>|t Gdddt}Wdn1s|0YWntyYn0dS)Nc@seZdZdZdS).PrivateRadarN)rrr_Private__corporalrrrrPrivatesrrc@seZdZdZdS)rZHoolihanN)rrrZ_Private__major_rrrrrs) assertWarnsDeprecationWarningrrrrr)rCrrrr"test_warning_for_private_variablesys . 2 z+TestEnum.test_warning_for_private_variables)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r,r8rJrOrPrWrXrZr\r`rarmrorrrurxryrzr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!r$r&r(r)r0r5r8r9r;rErKrLrPrUr[rdrmrqrwrzr~rrrrrrrrrrrrrrunittest skipUnlesssys version_inforrrrrrcs#              .                %999957         %"`/ rcc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS) TestOrdercCsGdddt}dS)Nc@seZdZdZdZdZdZdS)z*TestOrder.test_same_members..Colorred green bluerrrNrrr_order_rrrrrrrrsrrrrrrtest_same_membersszTestOrder.test_same_memberscCsGdddt}dS)Nc@s eZdZdZdZdZdZeZdS)z7TestOrder.test_same_members_with_aliases..ColorrrrrNrrrrrrrverderrrrrs rrrrrrtest_same_members_with_aliasessz(TestOrder.test_same_members_with_aliasescCs@|td Gdddt}Wdn1s20YdS)N#member order does not match _order_c@seZdZdZdZdZdZdS)z6TestOrder.test_same_members_wrong_order..ColorrrrrN)rrrrrrrrrrrrsrrNrrrrrrtest_same_members_wrong_ordersz'TestOrder.test_same_members_wrong_ordercCs@|td Gdddt}Wdn1s20YdS)Nrc@seZdZdZdZdZdZdS)z5TestOrder.test_order_has_extra_members..Colorred green blue purplerrrNrrrrrrsrrrrrrtest_order_has_extra_memberssz&TestOrder.test_order_has_extra_memberscCs@|td Gdddt}Wdn1s20YdS)Nrc@s eZdZdZdZdZdZeZdS)zBTestOrder.test_order_has_extra_members_with_aliases..ColorrrrrNrrrrrrs rrrrrr)test_order_has_extra_members_with_aliasessz3TestOrder.test_order_has_extra_members_with_aliasescCs@|td Gdddt}Wdn1s20YdS)Nrc@s eZdZdZdZdZdZdZdS)z4TestOrder.test_enum_has_extra_members..ColorrrrrrdN)rrrrrrrpurplerrrrrs rrrrrrtest_enum_has_extra_memberssz%TestOrder.test_enum_has_extra_memberscCs@|td Gdddt}Wdn1s20YdS)Nrc@s$eZdZdZdZdZdZdZeZdS)zATestOrder.test_enum_has_extra_members_with_aliases..ColorrrrrrdN) rrrrrrrrrrrrrrs rrrrrr(test_enum_has_extra_members_with_aliasessz2TestOrder.test_enum_has_extra_members_with_aliasesN) rrrrrrrrrrrrrrrs  rc@seZdZdZGdddeZGdddeZGdddeZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zejd4d5Z d6d7Z!d8S)9TestFlagzTests of the Flags.c@seZdZd\ZZZdS)z TestFlag.Perm)rdrrN)rrrRWXrrrrPermsrc@s eZdZdZdZdZdZdZdS)z TestFlag.OpenrrrrNrrrROWORWACCErrrrOpens rc@s$eZdZdZdZdZdZeeBZdS)zTestFlag.ColorrrrrdNrrrBLACKr'r(r)ZPURPLErrrrrs rcCs|j}|t|jd|t|jd|t|jd|t|j|jBd|t|j|jB|jBd|t|dd|t|jd|t|jd |t|jd|t|j|jBd|t|j|jB|jBd|t|d d|j}|t|jd |t|jd |t|j d |t|j|j Bd|t|j|j Bd|t|jd|t|jd|t|j d|t|j|j Bd |t|j|j BddS)NPerm.RPerm.WPerm.XPerm.R|W Perm.R|W|XrPerm.0Perm.W|XPerm.R|XOpen.ROOpen.WOOpen.ACOpen.CE Open.CE|WOOpen.CE|AC|RW|WO Open.CE|RWOpen.RW rrr~rrrrrrrrrCrrrrrtest_strs0 zTestFlag.test_strcCs|j}|t|jd|t|jd|t|jd|t|j|jBd|t|j|jB|jBd|t|dd|t|jd|t|jd |t|jd|t|j|jBd|t|j|jB|jBd|t|d d|j}|t|jd |t|jd |t|j d |t|j|j Bd|t|j|j Bd|t|jd|t|jd|t|j d|t|j|j Bd |t|j|j BddS)N r z z r zzz rrrrrrrrrrrrrrr test_reprs0 zTestFlag.test_reprcCs8|j}|t|jdd|t|j|jBdddS)NrrrrrrrrrCrrrr test_format szTestFlag.test_formatcCs|j}|D]X}|D]N}|||B||j|jB|||Bj|j|jB|t||B|qq |D]}|||B|qh|j}||j|jB|jdSr[rrrrrrrrrCrrjrrrrtest_or szTestFlag.test_orc Cs|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t||||||dg}|D]<}|D]2}|||@j|j|j@|t||@|qbqZ|D]4}|||@||||@||||@|q|j } || j | j @| j dSNr) rrrrrrrrrrrr rCrrRXWXRWXrrr-rrrrtest_and# s    zTestFlag.test_andcCs|j}|D]<}|D]2}|||Aj|j|jA|t||A|qq |D],}|||dA|||d|A|qL|j}||j|jA|j||j|jA|jdSr/r+r,rrrtest_xor5 szTestFlag.test_xorc Cs|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t||||||dg}|D]&}|t|||||qZ|D]}|||q|j}||j |j @|j ||j |j B|j @|j dSr/) rrrrrrrrrrrr rCrrr1r2r3rrrrrr test_invertB s   zTestFlag.test_invertcCsD|j}|D]}||q |j}|D]}|t|jt|q$dSr[rrBrrrrrCrfrrrrrR s  zTestFlag.test_boolcCstdd}t|}|t|t||t|d||||j|j|jgtdD]b\}}d|>}||}||j ||t |j t ||j || |||t ||q\dSNrR W XrrrrrrrrrrrrrrrrrrCrrrnrrrrr test_programatic_function_stringZ s  z)TestFlag.test_programatic_function_stringcCstdddd}t|}|t|t||t|d||||j|j|jgtdD]b\}}d|>}||}||j ||t |j t ||j || |||t ||q`dSNrr<rErrr=r>rrr+test_programatic_function_string_with_starti s z4TestFlag.test_programatic_function_string_with_startcCstdgd}t|}|t|t||t|d||||j|j|jgtdD]b\}}d|>}||}||j ||t |j t ||j || |||t ||q`dSNr)rrrrr<rr=r>rrr%test_programatic_function_string_listx s z.TestFlag.test_programatic_function_string_listcCstdd}t|}|t|t||t|d||||j|j|jgtdD]j\}}dd|d>}||}||j ||t |j t ||j || |||t ||q\dSNr))rr)rrE)rrhrr<rrr=r>rrr"test_programatic_function_iterable s  z+TestFlag.test_programatic_function_iterablecCstdtd}t|}|t|t||t|d||||j|j|jgtd D]j\}}dd|d>}||}||j ||t |j t ||j |||||t ||q`dSrE)rrrrrrrrrrrrrrrrr>rrr#test_programatic_function_from_dict s z,TestFlag.test_programatic_function_from_dictcCs2tttrtt|jtjtjBt|jtdSr[)rvr rwr4rrrrrrr test_pickle s zTestFlag.test_picklecCs|j}|j}||j|v||j|v|td|vWdn1sT0Y|td|vWdn1s0Y|td|vWdn1s0Y|td|vWdn1s0YdS)Nrrr)rrr>rrrrrCrrrrrr s & & & zTestFlag.test_containsc Cs|j}|\}}}||B}||B}||B}||B|B}|||v|||v|||v|||v|||v|||v|||v|||v|||v|||v|||v|||vdSr[)rrBr> rCrrrrrr1r2r3rrrtest_member_contains s$  zTestFlag.test_member_containscCs`Gdddt}|t||j|j|jg||jjd||jjd||jjddS)Nc@seZdZeZeZeZdS)z(TestFlag.test_auto_number..ColorNrxrrrrr srrrrd)rrrrrrrrrrrrz s zTestFlag.test_auto_numbercCs@|td Gdddt}Wdn1s20YdS)Nz Invalid Flag value: .not an int.c@seZdZdZeZdS)z0TestFlag.test_auto_number_garbage..Colorz not an intNrrrrrr sr)rNrrrrrrtest_auto_number_garbage sz!TestFlag.test_auto_number_garbagecCsGdddt}d}|td||d|td||d|td||d|td||d|td||d |td||d dS) Nc@seZdZdZdZdZdS)0TestFlag.test_cascading_failure..Bizarrerrdr@N)rrrrkdr:rrrrBizarre srOrMz5 is not a valid rnz2 is not a valid rz1 is not a valid r)rrNr)rCrOrrrrtest_cascading_failure szTestFlag.test_cascading_failurecCs0Gdddt}||j|j|jgt|dS)Nc@s"eZdZeZZeZeZdS)z+TestFlag.test_duplicate_auto..DupesNrrrrrr s rrrrrrr szTestFlag.test_duplicate_autocCs(Gdddt}|t|dddS)Nc@seZdZdZdZdZdS)z&TestFlag.test_bizarre..Bizarrerrdr@N)rrrrjrkrNrrrrrO srOrDz)rrr)rCrOrrr test_bizarre szTestFlag.test_bizarrecCsPGddd}Gddd}Gddd|t}||jjd||jjd||jjd ||jjd |t|jd Gd dd||t}||jjd||jjd||jjd ||jjd |t|jd Gddd||t}||jjd||jjd||jjd ||jjd |t|jd dS)Nc@seZdZeddZdS)z.TestFlag.test_multiple_mixin..AllMixincSs<t|}d}|r2|d}|ddD] }||O}q$||_|SrrALLrmembersZ all_valuerrrrrS s z2TestFlag.test_multiple_mixin..AllMixin.ALLNrrrrZrSrrrrAllMixin srWc@seZdZddZdS)z.TestFlag.test_multiple_mixin..StrMixincSs |jSr[rrrrrr sz6TestFlag.test_multiple_mixin..StrMixin.__str__Nr.rrrrr src@seZdZeZeZeZdSz+TestFlag.test_multiple_mixin..ColorNrrrrrr srrrrdrDrc@seZdZeZeZeZdSrXrrrrrr src@seZdZeZeZeZdSrXrrrrrr s)rrr'rr(r)rSr~rCrWrrrrrr s( zTestFlag.test_multiple_mixincsGdddttdfddfddtdD}t|Wdn1s`0Y|d |d td dS) Nc@sLeZdZeZeZeZeZeZeZ eZ eZ ddZ ddZ dS)z0TestFlag.test_unique_composite..TestFlagcSs||uSr[rr>rrrr1 sz7TestFlag.test_unique_composite..TestFlag.__eq__cSs t|jSr[hashrrrrr__hash__3 sz9TestFlag.test_unique_composite..TestFlag.__hash__Nrrrr rrrZfourZfiveZsixZsevenZeightrr\rrrrr( srFcs<z tdD]}|q Wnty6dYn0dSNTr0addrwrrfailedseenrr cycle_enum8 s   z2TestFlag.test_unique_composite..cycle_enumcsg|]}tjdqS)r3 threadingThreadrrOrfrrr? sz2TestFlag.test_unique_composite..rE;at least one thread failed while creating composite membersr_"too many composite members created)rrr0r start_threadsr>rrrCthreadsrrrfrdrertest_unique_composite% s  zTestFlag.test_unique_compositecs:Gfdddt}Gfddd|Gddd}Gddd|}jd d|jd d|jd d|jd d |jd d Gd d d |}Gddd|}Gddd|}|jd d|jd d |jd d |jd d |jd d dS)NcseZdZfddZZS)z+TestFlag.test_init_subclass..MyEnumcs0tjfi||jddd|_dS)N_testFr=)r__init_subclass__r>__dict__get_test1rkwds)rrCrrruM sz=TestFlag.test_init_subclass..MyEnum.__init_subclass__rrrrurrrrrr=L sr=cseZdZfddZZS)z.TestFlag.test_init_subclass..TheirEnumcs t|jfi|d|_dS)N TheirEnum)rru_test2ry)r|rrrruS sz@TestFlag.test_init_subclass..TheirEnum.__init_subclass__r{r)r|rrr|R sr|c@seZdZddZdS)z.TestFlag.test_init_subclass..WhoseEnumc[sdSr[rryrrrruW sz@TestFlag.test_init_subclass..WhoseEnum.__init_subclass__Nrrrrurrrr WhoseEnumV src@seZdZdZdS)z+TestFlag.test_init_subclass..NoEnumrNrrrrrrrrNoEnumY srrxr}Fc@seZdZddZdS)z,TestFlag.test_init_subclass..OurEnumc[s d|_dS)NOurEnum)r}ryrrrrub sz>TestFlag.test_init_subclass..OurEnum.__init_subclass__Nr~rrrrra src@seZdZddZdS)z.TestFlag.test_init_subclass..WhereEnumc[sdSr[rryrrrrue sz@TestFlag.test_init_subclass..WhereEnum.__init_subclass__Nr~rrrr WhereEnumd src@seZdZdZdS)z.TestFlag.test_init_subclass..NeverEnumrNrrrrr NeverEnumg sr)rrrvr>rw)rCr=rrrrrr)r|rCrtest_init_subclassK s"zTestFlag.test_init_subclassN)"rrrr"rrrrrr'r*r.r4r5r7rr@rBrDrFrGrHrrKrzrLrPrrQrr reap_threadsrsrrrrrrs:   + %rc@seZdZdZGdddeZGdddeZGdddeZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zejd.d/Zd0S)1 TestIntFlagzTests of the IntFlags.c@seZdZdZdZdZdS)zTestIntFlag.PermrrrdN)rrrrrrrrrrrs src@s eZdZdZdZdZdZdZdS)zTestIntFlag.OpenrrrrrNrrrrrrx s rc@s$eZdZdZdZdZdZeeBZdS)zTestIntFlag.ColorrrrrdNrrrrrr s rcCs|j}||jtu|j}|D]"}|t|||||jq |t|j|j B|||j|j Bd|D]"}|t|||||jqt|t|j |j B|||j |j BddS)Nr) rrBr7rrrvrrrrrr)rCrrr:rrr test_type szTestIntFlag.test_typecCsn|j}|t|jd|t|jd|t|jd|t|j|jBd|t|j|jB|jBd|t|jdBd|t|dd |t|dd |t|jd |t|jd |t|jd|t|j|jBd|t|j|jB|jBd |t|jdBd |t|dd|t|dd|j}|t|jd|t|jd|t|j d|t|j|j Bd|t|j|j Bd|t|dd|t|jd|t|jd|t|j d|t|j|j Bd|t|j|j Bd|t|dddS)Nrrr r r rEzPerm.8|Rrr zPerm.8r rzPerm.-8rrrrrrrdzOpen.4rrz Open.AC|RW|WOrrrrrrr s< zTestIntFlag.test_strcCsn|j}|t|jd|t|jd|t|jd|t|j|jBd|t|j|jB|jBd|t|jdBd|t|dd |t|dd |t|jd |t|jd |t|jd |t|j|jBd|t|j|jB|jBd|t|jdBd|t|dd|t|dd|j}|t|jd|t|jd|t|j d|t|j|j Bd|t|j|j Bd|t|dd|t|jd|t|jd|t|j d|t|j|j Bd|t|j|j Bd |t|d!d"dS)#NrrrrrrEzrr z zzzz z zrzrzr!r"r#r$r%rdz zzz zzrzr&rrrrr' s< zTestIntFlag.test_reprcCs8|j}|t|jdd|t|j|jBdddS)Nr45r(r)rrrr* szTestIntFlag.test_formatcCsL|j}|D]}|D]J}|||B|j|jB|||Bj|j|jB|t||B|qtdD]}|||B|j|B|||Bj|j|B|t||B||||B||jB|||Bj||jB|t||B|qfq |D]4}|||B|||dB||d|B|q|j}||j|jB|jdSNrEr rrrrrr0rrrr,rrrr. s& zTestIntFlag.test_orc Cs|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t||||||dg}|D]}|D]h}|||@|j|j@d||f|||@j|j|j@d||f|t||@|d||fqdt dD]}|||@|j|@|||@j|j|@|t||@||||@||j@|||@j||j@|t||@|qqZ|D]6}|||@|||d@||d|@|qf|j } || j | j @| j dS)Nrzi is %r, j is %rrErD) rrrrrrrrrr0rrrr0rrrr4 s0    "$  zTestIntFlag.test_andcCsR|j}|D]}|D]J}|||A|j|jA|||Aj|j|jA|t||A|qtdD]}|||A|j|A|||Aj|j|A|t||A||||A||jA|||Aj||jA|t||A|qfq |D]$}||dA||d|A|q|j}||j|jA|j||j|jA|jdSrrr,rrrr5 s& zTestIntFlag.test_xorc Cs|j}|j|jB}|j|jB}|j|jB}|j|jB|jB}t||||||dg}|D]L}|||j||j|j|t|||||qZ|D]}|||q|j }||j |j @|j ||j |j B|j @|j dSr/) rrrrrrrrrrrrrr6rrrr7! s    zTestIntFlag.test_invertcCstdd}t|}|t|t||t|d||||j|j|jgtdD]n\}}d|>}||}||j ||t |j t |||||j || |||t ||q\dSr;rrrrrrrrrrrrrrrr>rrrr@3 s   z,TestIntFlag.test_programatic_function_stringcCstdddd}t|}|t|t||t|d||||j|j|jgtdD]n\}}d|>}||}||j ||t |j t |||||j || |||t ||q`dSrArr>rrrrBC s  z7TestIntFlag.test_programatic_function_string_with_startcCstdgd}t|}|t|t||t|d||||j|j|jgtdD]n\}}d|>}||}||j ||t |j t |||||j || |||t ||q`dSrCrr>rrrrDS s  z1TestIntFlag.test_programatic_function_string_listcCstdd}t|}|t|t||t|d||||j|j|jgtdD]v\}}dd|d>}||}||j ||t |j t |||||j || |||t ||q\dSrErr>rrrrFc s   z.TestIntFlag.test_programatic_function_iterablecCstdtd}t|}|t|t||t|d||||j|j|jgtd D]v\}}dd|d>}||}||j ||t |j t |||||j |||||t ||q`dSrE)rrrrrrrrrrrrrrrrr>rrrrGs s  z/TestIntFlag.test_programatic_function_from_dictcCsxtdg}t|}|t|t||t|d|tdg}t|}|t|t||t|d|dS)NrrThingr?rrrrrrCrrrrrr)test_programatic_function_from_empty_list s  z5TestIntFlag.test_programatic_function_from_empty_listcCsptdd}t|}|t|t||t|d|tdd}|t|t||t|d|dS)Nrrrrrrrrr*test_programatic_function_from_empty_tuple s  z6TestIntFlag.test_programatic_function_from_empty_tuplecCs|j}|j}||j|v||j|v||j|v||j|v|td|vWdn1st0Y|td|vWdn1s0Y|td|vWdn1s0Y|td|vWdn1s 0YdS)Nr(rr)rrrBr(rr>rrrIrrrr s & & & zTestIntFlag.test_containsc Cs|j}|\}}}||B}||B}||B}||B|B}|||v|||v|||v|||v|||v|||v|||v|||v|||v|||v|||v|||v|t|d|vWdn1s 0YdS)Nr)rrBr>rrrJrrrrK s(   z TestIntFlag.test_member_containscCsD|j}|D]}||q |j}|D]}|t|jt|q$dSr[r8r9rrrr s  zTestIntFlag.test_boolcCsPGddd}Gddd}Gddd|t}||jjd||jjd||jjd ||jjd |t|jd Gd dd||t}||jjd||jjd||jjd ||jjd |t|jd Gddd||t}||jjd||jjd||jjd ||jjd |t|jd dS)Nc@seZdZeddZdS)z1TestIntFlag.test_multiple_mixin..AllMixincSs<t|}d}|r2|d}|ddD] }||O}q$||_|SrrRrTrrrrS s z5TestIntFlag.test_multiple_mixin..AllMixin.ALLNrVrrrrrW srWc@seZdZddZdS)z1TestIntFlag.test_multiple_mixin..StrMixincSs |jSr[rrrrrr sz9TestIntFlag.test_multiple_mixin..StrMixin.__str__Nr.rrrrr src@seZdZeZeZeZdSz.TestIntFlag.test_multiple_mixin..ColorNrrrrrr srrrrdrDrc@seZdZeZeZeZdSrrrrrrr src@seZdZeZeZeZdSrrrrrrr s)rrr'rr(r)rSr~rYrrrr s( zTestIntFlag.test_multiple_mixincsGdddttdfddfddtdD}t|Wdn1s`0Y|d |d td dS) Nc@sLeZdZeZeZeZeZeZeZ eZ eZ ddZ ddZ dS)z3TestIntFlag.test_unique_composite..TestFlagcSs||uSr[rr>rrrr sz:TestIntFlag.test_unique_composite..TestFlag.__eq__cSs t|jSr[rZrrrrr\ sz.TestFlag.__hash__Nr]rrrrr srFcs<z tdD]}|q Wnty6dYn0dSr^r`rbrcrrrf s   z5TestIntFlag.test_unique_composite..cycle_enumcsg|]}tjdqSrgrhrkrlrrr sz5TestIntFlag.test_unique_composite..rErmr_rn)rrr0rror>rrrprrrrrs s  z!TestIntFlag.test_unique_compositeN)rrrr"rrrrrrr'r*r.r4r5r7r@rBrDrFrGrrrrKrrrrrsrrrrrp s2!!  +rc@s$eZdZddZddZddZdS)TestEmptyAndNonLatinStringscCs8|ttdd}Wdn1s*0YdS)N empty_abc)rrqrrr)rCrrrrtest_empty_string s z-TestEmptyAndNonLatinStrings.test_empty_stringcCs&tdd}t|d}||jddS)N greek_abc)αrqrrrrrrrr)rCrrrrrtest_non_latin_character_string s  z;TestEmptyAndNonLatinStrings.test_non_latin_character_stringcCs&tdd}t|d}||jddS)N hebrew_123)א23rrr)rCrrrrrtest_non_latin_number_string# s  z8TestEmptyAndNonLatinStrings.test_non_latin_number_stringN)rrrrrrrrrrr src@s$eZdZddZddZddZdS) TestUniquecCs,tGdddt}tGdddt}dS)Nc@seZdZdZdZdZdS)z+TestUnique.test_unique_clean..Cleanrrg@NrrrrrrrrrrClean, src@seZdZdZdZdZdS)z-TestUnique.test_unique_clean..CleanerrrrN)rrrsingledoubletriplerrrrCleaner1 srrrr)rCrrrrrtest_unique_clean+ szTestUnique.test_unique_cleancCs|td$tGdddt}Wdn1s60Y|td$tGdddt}Wdn1sv0YdS)Nz tres.*onec@seZdZdZdZdZdS)z+TestUnique.test_unique_dirty..DirtyrrNrrrrrDirty9 srzdouble.*single.*turkey.*triplec@seZdZdZdZdZdZdS)z-TestUnique.test_unique_dirty..DirtierrrN)rrrrrrZturkeyrrrrDirtierB sr)rNrrrr)rCrrrrrtest_unique_dirty7 s0zTestUnique.test_unique_dirtycCs,tGdddt}tGdddt}dS)Nc@seZdZdZdZdZdS)z/TestUnique.test_unique_with_name..SillyrrrN)rrrrrrrrrrSillyJ src@seZdZdZdZdZdZdS)z1TestUnique.test_unique_with_name..SillierrrrrdN)rrrrrrrrrrrSillierO srr)rCrrrrrtest_unique_with_nameI sz TestUnique.test_unique_with_nameN)rrrrrrrrrrr) s raHelp on class Color in module %s: class Color(enum.Enum) | Color(value, names=None, *, module=None, qualname=None, type=None, start=1) | | An enumeration. | | Method resolution order: | Color | enum.Enum | builtins.object | | Data and other attributes defined here: | | blue = | | green = | | red = | | ---------------------------------------------------------------------- | Data descriptors inherited from enum.Enum: | | name | The name of the Enum member. | | value | The value of the Enum member. | | ---------------------------------------------------------------------- | Readonly properties inherited from enum.EnumMeta: | | __members__ | Returns a mapping of member name->value. | | This mapping lists all enum members, including aliases. Note that this | is a read-only view of the internal mapping.aHelp on class Color in module %s: class Color(enum.Enum) | Color(value, names=None, *, module=None, qualname=None, type=None, start=1) | | Method resolution order: | Color | enum.Enum | builtins.object | | Data and other attributes defined here: | | blue = | | green = | | red = | | ---------------------------------------------------------------------- | Data descriptors inherited from enum.Enum: | | name | | value | | ---------------------------------------------------------------------- | Data descriptors inherited from enum.EnumMeta: | | __members__c@s8eZdZdZGdddeZddZddZdd ZdS) TestStdLibNc@seZdZdZdZdZdS)zTestStdLib.ColorrrrNrrrrrr srcCsTtjdurtt}ntt}t}tj|d}||j| }| ||dS)N)output) r!r"!expected_help_output_without_docsrexpected_help_output_with_docsr pydocZHelperrgetvaluestripr)rCZ expected_textrhelperresultrrr test_pydoc s     zTestStdLib.test_pydocc Cstdtfdd|jjfdtfd|jjfd|jjfdtjdfd|jj fd tjd ff }tt |j}| | | d }| D]@}||||krttd d |||||d fd dd}q|r|ddS)Nr)r"An enumeration.rrrrrrrFz. %s key: %s result: %s expected: %s %s K===========================================================================rsepT/result does not equal expected, see print above)dictrrrrrrrrvrinspectZ getmembersrkeysrFfail)rCrrrdrrrrtest_inspect_getmembers s2        z"TestStdLib.test_inspect_getmemberscCs2ddlm}|ddttd|dd|jdd|dd ttjd|d d|jtd|d d|j|jjd|d d|j|jjd|d d|j|jj d|ddt t j dd|ddt t j ddg }|j dddt t|j}|j dddd}t||D],\}}||krtdd||dfddd}q|r.|ddS)Nr) Attributerdata)rkindZdefining_classr*r"rrrrrrrrrcSs|jSr[rrrrr rz>TestStdLib.test_inspect_classify_class_attrs..)keycSs|jSr[rrrrrr rFz %s %s %s %s rrrTr)rrr*rrrrrrrrrvsortrZclassify_class_attrsrprFr)rCrrrrdrrrrr!test_inspect_classify_class_attrs sN      z,TestStdLib.test_inspect_classify_class_attrs) rrrZmaxDiffrrrrrrrrrr s  rc@seZdZddZdS) MiscTestCasecCst|tdSr[)rZ check__all__r?rrrr test__all__ szMiscTestCase.test__all__N)rrrrrrrrr srrnc@sXeZdZddZddZeejdddkdd d Z eejd kd d dZ dS)TestIntEnumConvertcCs4tjjddtdkddd}||djddS) NUnittestConvertztest.test_enum__main__rcSs |dSNZ CONVERT_TEST_ startswithrrrrr rzGTestIntEnumConvert.test_convert_value_lookup_priority..filterrnCONVERT_TEST_NAME_A)r?r _convert_rrrrCrrrr"test_convert_value_lookup_priority s  z5TestIntEnumConvert.test_convert_value_lookup_prioritycCstjjddtdkddd}||j|j||jd||jd||j d||j d|jdd t |Dgd d dS) NrrrcSs |dSrrrrrrr rz1TestIntEnumConvert.test_convert..rrncSs g|]}|dddvr|qS)rr)ZCOrPr)rrrrrr sz3TestIntEnumConvert.test_convert..z&Names other than CONVERT_TEST_* found.)msg) r?rrrrCONVERT_TEST_NAME_FrCONVERT_TEST_NAME_BCONVERT_TEST_NAME_CCONVERT_TEST_NAME_DCONVERT_TEST_NAME_Errrrr test_convert s zTestIntEnumConvert.test_convertNr)rrEz_convert was deprecated in 3.8cCsL|t.tjjddtdkdddWdn1s>0YdS)NrrrcSs |dSrrrrrrr rz6TestIntEnumConvert.test_convert_warn..r)rrr?r_convertrrrrrtest_convert_warn s   z$TestIntEnumConvert.test_convert_warnrz_convert was removed in 3.9cCsL|t.tjjddtdkdddWdn1s>0YdS)NrrrcSs |dSrrrrrrr( rz7TestIntEnumConvert.test_convert_raise..r)rrr?rrrrrrrtest_convert_raise! s   z%TestIntEnumConvert.test_convert_raise) rrrrrrrrrrrrrrrr s   rr)N)Cr?rrrrri collectionsrrrrrrrr ior pickler r r rrrZ test.supportrrrrrwrrrr}rr r~r!r#rr&r)r*r-r4r7ZTestCaser8rZrcrrrrrrrrrrrrrrrrmainrrrrs $     >++/'P/