a zekK@sVddlmZmZddlZddlZddlZdZdZGdddejZ e dkrRe dS))support seq_testsNFcseZdZeZddZfddZddZfddZfd d Z fd d Z fd dZ ddZ ddZ ddZddZddZddZejddZddZejdd Zejd!d"Zejd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZZS)/ TupleTestcCs@d}d}|t||dWdn1s20YdS)Nz(tuple indices must be integers or slicesa)assertRaisesRegex TypeError)selftmsgrrC/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_tuple.pytest_getitem_errorszTupleTest.test_getitem_errorcst|tdd}t|}|||u|tgd|tgdd|tdd|tdd|tddtdDd dS) Nr)rZspam)sprmcss|]}|dr|VqdS)rNr.0xrrr &z.TupleTest.test_constructors.. )rr )supertest_constructors assertEqualtuple assertTruerange)r Zt0_3Zt0_3_bis __class__rr rs zTupleTest.test_constructorscCs:|tdtddWdn1s,0YdS)Nzkeyword argumentr)Zsequence)rrr!r rrr test_keyword_args)szTupleTest.test_keyword_argscs"t|d|ddS)NT)*)r test_truthr"r&r$rr r)-s  zTupleTest.test_truthcs>t|tdd|tdd|tdddS)Nrrrrrrrr)rtest_lenr lenr&r$rr r,2s zTupleTest.test_lencs,td}|}|d7}|||udS)Nrrrr)r test_iaddr"r uu2r$rr r08s  zTupleTest.test_iaddcs,td}|}|d9}|||udS)Nr.r)r test_imulr"r1r$rr r4?s  zTupleTest.test_imulcCs*dd}|tt|ttddS)NcsstdD] }|VqdS)N)r#)irrr fHs z(TupleTest.test_tupleresizebug..fr5)r listr!r#)r r7rrr test_tupleresizebugFszTupleTest.test_tupleresizebugcsLfdd}|ddd|ddd|d d d |d d d|ddddS)NcsFt|}tjdkr|n|}||krBd|d|d|}|dS)N z FAIL hash(z) ==  != )hashr NHASHBITSfail)r Ze32Ze64gotexpectedr r&rr check_one_exactQs z2TupleTest.test_hash_exact..check_one_exactris,l{tYxYN}r*im ; zFAIL r;z ; pileup ,z mean z.1f zcoll z z z+.1f)file) collectionsrIr-rZcollision_statsmaxvaluesJUST_SHOW_HASH_RESULTSsysprint __stdout__r>)tagZnbinshashesr@zlimitrIZnballsmeanZsdevcZ collisionszZpileupr?Zfailedprefixr rRr&rr tryone_innerps0     z2TupleTest.test_hash_optional..tryone_innerc stj}ttt|}|d|dd|>||dkr8|n|||dkr|d|ddfdd|D||d |d dfd d|D||dS) NrJz-bit hash codesrr:z; 32-bit upper hash codeslcsg|] }|?qSrrrh)shiftrr rz@TupleTest.test_hash_optional..tryone..lz; 32-bit lower hash codescsg|] }|@qSrrr])maskrr r`r)rr=r8mapr<) rUZxsZnative32Znative64Zhi32Zlo32rWr=rV)r\)rar_r tryones.z,TupleTest.test_hash_optional..tryonezrange(100) by 3dr)repeatrB)rErirz -10 .. 8 by 4rEcSsg|] }|d>qS)<r)rnrrr r`rz0TupleTest.test_hash_optional..z0..99 << 60 by 3)iDrz [-3, 3] by 18)rr)rFrz[0, 0.5] by 18rC)rr)rr) rz 4-char tuplesabcdefghijklmnopqrstuvwxyzg@)rW2rzold tuple test)rr)41rcSsg|]}|dkr|qS)rfrrrrr r`rrcSsg|] }|fqSrrrrrrr r`rcSsg|] }|fqSrrrprrr r`ri*Dznew tuple test)r)NN)NNNNN) itertoolsrHRUN_ALL_HASH_TESTSr8r#zipr-)r rHrcZcandsLNbaseZxpZinpsrhABZL2ZL3ZL4Tr)r r\r test_hash_optionalfs~      zTupleTest.test_hash_optionalcCsjt}d}||}||}|t|t||t|t||t|d|t|ddS)Nr+z()z (0, 1, 2))r! type2testr strrepr)r Zl0l2Za0Za2rrr test_reprs  zTupleTest.test_reprcCs&tt|t||dSN)gccollectZ assertFalse is_trackedr r rrr _not_tracked szTupleTest._not_trackedcCs8|t||tt|t||dSr)r"rrrrrrr _trackedszTupleTest._trackedcCsddg}}}|d|d|d|d|ddd tf|tf|d|f|d f|gf|dgf|if|tf||||fdS) N?rr)rrr)rrrrr)NTFrr/)rintobjectrset)r ryrZrrr test_track_literalss      zTupleTest.test_track_literalscs^ddg}}}|r|jn|j}||g|t|d||g|ddd||fD|td||g|ddd||fD|tfddd||fD||g|||gg|||ig|dd|||fD|d d|||fD|tfd d|||fDdS) Nrrrcss|] }|VqdSrrrobjrrr r3rz0TupleTest.check_track_dynamic..css|]}t|gVqdSrr!rrrr r5rc3s|]}|gVqdSrrrtprr r6rcss|] }|VqdSrrrrrr r;rcss|]}t|gVqdSrrrrrr r<rc3s|]}|gVqdSrrrrrr r=r)rrrr!)r rZ always_trackrrrZcheckrrr check_track_dynamic+s    zTupleTest.check_track_dynamiccCs|tddS)NF)rr!r&rrr test_track_dynamic?szTupleTest.test_track_dynamiccCs Gdddt}||ddS)Nc@s eZdZdS)z.TupleTest.test_track_subtypes..MyTupleN__name__ __module__ __qualname__rrrr MyTupleGsrT)r!r)r rrrr test_track_subtypesDszTupleTest.test_track_subtypescCs |tddtdDdS)Ncss|]}tVqdSr)rr)rr6rrr rNrz)TupleTest.test_bug7466..e)rr!r#r&rrr test_bug7466KszTupleTest.test_bug7466cs fdd}|d|ddS)Ncs4d|}t|}|dddg|ddS)Nr*(z, 0))r~r join)rhlrr&rr rRs z(TupleTest.test_repr_large..checkri@Br)r rrr&r test_repr_largePs zTupleTest.test_repr_largecCs|gd}ttjdD]}t|}t||}t|}|t|t||||||t|}t |t||}|||||ddqdSN)rErrFrr) r|r#pickleHIGHEST_PROTOCOLiterdumpsloadsr typenextr dataprotoZitorgditrrr test_iterator_pickleZs    zTupleTest.test_iterator_picklecCs|gd}ttjdD]}t|}t||}t|}|t|t|||||t|t|}t |t||}||||t|ddqdSr) r|r#rrreversedrrr rrrrrr test_reversed_picklejs    zTupleTest.test_reversed_picklecCsLGdddt}|tdg|dWdn1s>0YdS)Nc@s eZdZdS)z+TupleTest.test_no_comdat_folding..TNrrrrr rz|rrzrr)r!Z assertRaisesr)r rzrrr test_no_comdat_foldingxs z TupleTest.test_no_comdat_foldingcCsF|ddg}|gd}|ddg}||||||dS)Nrr)rrrr)r|Z assertLess)r rbrYrrr test_lexicographic_orderings  z%TupleTest.test_lexicographic_ordering)rrrr!r|r rr'r)r,r0r4r9rGr{rrrrZ cpython_onlyrrrrrrrrrr __classcell__rrr$r rs:            r__main__) testrrZunittestrrrsrQZ CommonTestrrmainrrrr s V