a 4êdgó5ã@sNddlZddlZddlZddlZddlZGdd„dejƒZedkrJe  ¡dS)éNc@sŒeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!S)"Ú DictSetTestcCsvti ¡ƒ}| t|i¡| t|¡ti ¡ƒ}| t|i¡| t|¡ti ¡ƒ}| t|i¡| t|¡dS©N)ÚtypeÚkeysÚ assertRaisesÚ TypeErrorÚitemsÚvalues)ÚselfZktÚitZvt©r ú//usr/local/lib/python3.9/test/test_dictviews.pyÚtest_constructors_not_callable s     z*DictSetTest.test_constructors_not_callablecCsdddœ}| ¡}| t|ƒd¡| t|ƒddh¡| |ddh¡| |hd£¡| |ddh¡| |dh¡| |d ¡| d|¡| d|¡| d|¡| d |¡| | ¡| ¡¡d d dœ}| | ¡| ¡¡|d=| | ¡| ¡¡dS) Né ÚABC©éÚaérr>rrÚbré*ÚZé Údef)rÚ assertEqualÚlenÚsetÚassertNotEqualÚassertInÚ assertNotIn)r ÚdrÚer r r Útest_dict_keyss$       zDictSetTest.test_dict_keyscCs$dddœ}| ¡}| t|ƒd¡| t|ƒddh¡| |ddh¡| |hd£¡| |ddh¡| |dh¡| |d ¡| d|¡| d|¡| d |¡| d |¡| d |¡| d |¡| d|¡| | ¡| ¡¡| ¡}| | ¡| ¡¡d|d<| | ¡| ¡¡dS)Nrrrr©rr©rr>r$Zjunkr#)rrr)rrrr )r)rrérr)rrrrrrrÚcopy)r r rr!r r r Útest_dict_items(s*         zDictSetTest.test_dict_itemscCs@dddœ}dddœ}| | ¡| ¡¡| | ¡| ¡¡dS)Nré))rr)rrrr©rr)rrrr)r r r!r r r Útest_dict_mixed_keys_items?s  z&DictSetTest.test_dict_mixed_keys_itemscCs:dddœ}| ¡}| t|ƒddh¡| t|ƒd¡dS)Nrrrr)r rrr)r r r r r r Útest_dict_valuesEs zDictSetTest.test_dict_valuescCs¨dddœ}| t|ƒt¡t| ¡ƒ}| |t¡| |dkpD|dk¡t| ¡ƒ}| |t¡| |dkpr|dk¡t| ¡ƒ}| |t¡| |dkp |d k¡dS) Nrrrz#dict_items([('a', 'ABC'), (1, 10)])z#dict_items([(1, 10), ('a', 'ABC')])zdict_keys(['a', 1])zdict_keys([1, 'a'])zdict_values(['ABC', 10])zdict_values([10, 'ABC']))ÚassertIsInstanceÚreprÚstrrÚ assertTruerr ©r r Úrr r r Útest_dict_reprKs"    ÿ   ÿ   ÿzDictSetTest.test_dict_reprcs´dddœ}dddœ}dddœ}d di}G‡fd d „d tƒ‰| | ¡| ¡@d d h¡| | ¡| ¡@d h¡| | ¡| ¡@tƒ¡| | ¡t| ¡ƒ@d d h¡| | ¡t| ¡ƒ@d h¡| | ¡t| ¡ƒ@tƒ¡| | ¡t| ¡ƒ@d d h¡| | ¡| ¡@d h¡| | ¡| ¡@d h¡| | ¡t| ¡ƒ@d h¡| | ¡t| ¡ƒ@t¡| t| ¡ƒ| ¡@t¡| t| ¡ˆ| ¡ƒ@ƒt¡| t| ¡g@ƒt¡| tg| ¡@ƒt¡| | ¡| ¡Bd d h¡| | ¡| ¡Bhd£¡| | ¡| ¡Bhd£¡| | ¡t| ¡ƒBd d h¡| | ¡t| ¡ƒBhd£¡| | ¡t| ¡ƒBhd£¡| | ¡dBhd£¡| | ¡| ¡Atƒ¡| | ¡| ¡Ad dh¡| | ¡| ¡Ahd£¡| | ¡t| ¡ƒAtƒ¡| | ¡t| ¡ƒAd dh¡| | ¡t| ¡ƒAhd£¡| | ¡t| ¡ƒAd dh¡| | ¡| ¡tƒ¡| | ¡| ¡d h¡| | ¡| ¡d d h¡| | ¡t| ¡ƒtƒ¡| | ¡t| ¡ƒd h¡| | ¡t| ¡ƒd d h¡| | ¡dd d h¡| | ¡  | ¡¡¡| | ¡  | ¡¡¡| | ¡  t | ¡ƒ¡¡| | ¡  t| ¡ƒ¡¡|  | ¡  hd£¡¡|  | ¡  gd¢¡¡|  | ¡  tgd¢ƒ¡¡|  | ¡  tddgƒ¡¡|  | ¡  ddg¡¡|  | ¡  i¡¡|  | ¡  | ¡¡¡i}|  | ¡  tƒ¡¡|  | ¡  g¡¡|  | ¡  | ¡¡¡|  | ¡  dg¡¡dS)Nrr©rrr%)rÚcéé©r r!r cseZdZ‡‡fdd„Z‡ZS)z7DictSetTest.test_keys_set_operations..CustomSetcsˆtƒ |¡ƒSr)ÚsuperÚ intersection©r Úother)Ú CustomSetÚ __class__r r r9bszDDictSetTest.test_keys_set_operations..CustomSet.intersection)Ú__name__Ú __module__Ú __qualname__r9Ú __classcell__r ©r<)r=r r<asr<rr>rrr4>r rrr!r)>rrrrr4)rr¾ÚxÚzÚy©rDrFrErDrF) rrrÚtupler,Ú frozensetZassertIsrÚ assertFalseÚ isdisjointÚlistr/)r Úd1Úd2Úd3Zd4Úder rBr Útest_keys_set_operations[sz        ÿ ÿ  z$DictSetTest.test_keys_set_operationscCsØdddœ}dddœ}dddœ}| | ¡| ¡@ddh¡| | ¡| ¡@dh¡| | ¡| ¡@tƒ¡| | ¡t| ¡ƒ@ddh¡| | ¡t| ¡ƒ@dh¡| | ¡t| ¡ƒ@tƒ¡| | ¡| ¡Bddh¡| | ¡| ¡Bhd £¡| | ¡| ¡Bhd £¡| | ¡t| ¡ƒBddh¡| | ¡t| ¡ƒBhd £¡| | ¡t| ¡ƒBhd £¡| | ¡| ¡Atƒ¡| | ¡| ¡Add h¡| | ¡| ¡Ahd £¡| | ¡| ¡tƒ¡| | ¡| ¡dh¡| | ¡| ¡ddh¡| | ¡t| ¡ƒtƒ¡| | ¡t| ¡ƒdh¡| | ¡t| ¡ƒddh¡| | ¡ | ¡¡¡| | ¡ | ¡¡¡| | ¡ t| ¡ƒ¡¡| | ¡ t| ¡ƒ¡¡| | ¡ hd £¡¡| | ¡ gd ¢¡¡| | ¡ tgd ¢ƒ¡¡| | ¡ tddgƒ¡¡| | ¡ i¡¡| | ¡ | ¡¡¡i}| | ¡ tƒ¡¡| | ¡ g¡¡| | ¡ | ¡¡¡| | ¡ dg¡¡dS)Nrrr3r5r6r7©rr©rr>rSrR©rr>)r r5rSrR)r!r6rTrCrGrDrF)rrrrJrKrLr/)r rMrNrOrPr r r Útest_items_set_operations¡sv   ÿÿÿÿÿÿÿÿÿÿ z%DictSetTest.test_items_set_operationscCsôdddœ}| | ¡tddgƒ@dh¡| | ¡tddgƒBhd£¡| | ¡tddgƒAddh¡| | ¡tddgƒdh¡| ¡}| |tdgƒ@dh¡| |tdgƒAdh¡| |tdgƒBddh¡| |tdgƒdh¡dS) Nrr5)rr%r>rrr%r%r))r%r5)rrÚiterr)r Úoriginrr r r Ú!test_set_operations_with_iteratorÙs   z-DictSetTest.test_set_operations_with_iteratorcCs¼| t¡i ¡d@Wdƒn1s,0Y| t¡i ¡dBWdƒn1sb0Y| t¡i ¡dAWdƒn1s˜0Y| t¡i ¡dWdƒn1sÎ0Y| t¡i ¡d@Wdƒn1s0Y| t¡i ¡dBWdƒn1s>0Y| t¡i ¡dAWdƒn1sv0Y| t¡i ¡dWdƒn1s®0YdS)Nr)rrrr©r r r r Ú$test_set_operations_with_noniterableæs  * * * * , , , z0DictSetTest.test_set_operations_with_noniterablecCsHi}| ¡|d<t|ƒ}| |t¡| ¡|d<t|ƒ}| |t¡dS)Nr)r r-r,r.rr0r r r Útest_recursive_reprùs   zDictSetTest.test_recursive_reprcCs8i}tt ¡dƒD]}d| ¡i}q| tt|¡dS)Nédr)ÚrangeÚsysÚgetrecursionlimitr rÚRecursionErrorr-)r r Úir r r Útest_deeply_nested_reprsz#DictSetTest.test_deeply_nested_reprcCsJdddœ}| ttj| ¡¡| ttj| ¡¡| ttj| ¡¡dS)Nrrr)rrr&rr r©r r r r r Ú test_copy s zDictSetTest.test_copycsGdd„dtƒ‰G‡fdd„dƒ}|ƒ|ƒ}}|ƒ|ƒ}}||i}| ||¡| || ¡¡| || ¡¡| ||f| ¡¡| ˆ|j|¡| ˆ| ¡j|¡| ˆ| ¡j||f¡| ˆ| ¡j||f¡| ˆ¡|| ¡vWdƒn1s0YdS)Nc@s eZdZdS)z+DictSetTest.test_compare_error..ExcN)r>r?r@r r r r ÚExcsrecs eZdZdd„Z‡fdd„ZdS)z-DictSetTest.test_compare_error..BadEqcSsdS)Nér rYr r r Ú__hash__sz6DictSetTest.test_compare_error..BadEq.__hash__csˆ‚dSrr r:©rer r Ú__eq__sz4DictSetTest.test_compare_error..BadEq.__eq__N)r>r?r@rgrir rhr r ÚBadEqsrj)Ú Exceptionrrr rrÚ __contains__)r rjZk1Zk2Zv1Zv2r r rhr Útest_compare_errors  zDictSetTest.test_compare_errorcCsvdddœ}ttjdƒD]X}| ttjftj| ¡|¡| ttjftj| ¡|¡| ttjftj|  ¡|¡qdS)Nrrrr) r]ÚpickleÚHIGHEST_PROTOCOLrrÚ PicklingErrorÚdumpsrr r)r r Úprotor r r Ú test_pickle,s   ÿ  ÿ  ÿzDictSetTest.test_picklecCs:tdd}| | ¡tjj¡| | ¡tjj¡| | ¡tjj¡| | ¡tjj¡| | ¡tjj ¡| | ¡tjj ¡| |  ¡tjj ¡| |  ¡tjj¡| |  ¡tjj¡| |  ¡tjj¡| |  ¡tjj¡| |  ¡tjj¡| |  ¡tjj¡| |  ¡tjj ¡| |  ¡tjj ¡dS)Nr)r)Údictr,rÚ collectionsÚabcÚKeysViewÚ MappingViewÚSetÚSizedÚIterableÚ Containerr Ú ValuesViewrÚ ItemsViewrcr r r Útest_abc_registry6s  zDictSetTest.test_abc_registryN)r>r?r@rr"r'r*r+r2rQrUrXrZr[rbrdrmrsrr r r r rs  F8   rÚ__main__) Úcollections.abcrur&rnr^ZunittestZTestCaserr>Úmainr r r r ÚsG