a 4êdgOã@shdZddlZddlmZe d¡ZGdd„dejƒZGdd„deƒZ Gd d „d eƒZ e d krde  ¡dS) z= Test implementation of the PEP 509: dictionary versionning. éN)ÚsupportÚ _testcapic@seZdZeZdd„Zdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!S)"ÚDictVersionTestscCstƒ|_d|_dS©N)ÚsetÚ seen_versionsÚdict)Úself©r ú2/usr/local/lib/python3.9/test/test_dict_version.pyÚsetUpszDictVersionTests.setUpcCs(t |¡}| ||j¡|j |¡dSr)rÚdict_get_versionZ assertNotInrÚadd)r ÚmydictÚversionr r r Úcheck_version_uniques z%DictVersionTests.check_version_uniquecOs||i|¤Ž}| |¡|Sr)r)r rÚmethodÚargsÚkwÚresultr r r Úcheck_version_changeds z&DictVersionTests.check_version_changedcOs@t |¡}|j |¡||i|¤Ž}t |¡}| ||d¡|S)Nzversion changed)rr rrZ assertEqual)r rrrrZversion1rZversion2r r r Úcheck_version_dont_changes    z*DictVersionTests.check_version_dont_changecOs|j|i|¤Ž}| |¡|Sr)Ú type2testr)r rrÚdr r r Únew_dict(s zDictVersionTests.new_dictcCs6| ¡}| ¡}| ¡}|jdd}|jddd}dS)NÚx)rÚy)rr)r)r Zempty1Zempty2Zempty3Z nonempty1Z nonempty2r r r Útest_constructor-s  z!DictVersionTests.test_constructorcCs*|jddd}| ||j¡}| |¡dS)Néé)ÚaÚb)rrÚcopyr©r rÚd2r r r Ú test_copy7szDictVersionTests.test_copycCsT| ¡}| ||jdd¡| ||jdd¡| ||jdd¡| ||jdd¡dS)Nrrrr)rrÚ __setitem__©r rr r r Ú test_setitem?s zDictVersionTests.test_setitemcCsdtƒ}| ¡}| ||jd|¡| ||jd|¡|j||j|d|j|d}| ||j|¡dS)NÚkey©r))Úobjectrrr&rÚupdate)r Úvaluerr$r r r Útest_setitem_same_valueJs z(DictVersionTests.test_setitem_same_valuecCsàGdd„dƒ}|ƒ}|ƒ}| ||k¡| ||k¡| ||¡| ¡}| ||jd|¡| |d|¡| ||jd|¡| |d|¡|j||j|d| |d|¡|j|d}| ||j|¡| |d|¡dS)Nc@seZdZdd„ZdS)z8DictVersionTests.test_setitem_equal..AlwaysEqualcSsdS)NTr )r Úotherr r r Ú__eq__^sz?DictVersionTests.test_setitem_equal..AlwaysEqual.__eq__N)Ú__name__Ú __module__Ú __qualname__r0r r r r Ú AlwaysEqual]sr4r)r*)Z assertTrueZ assertFalseZ assertIsNotrrr&ZassertIsr,)r r4Úvalue1Úvalue2rr$r r r Útest_setitem_equal\s   z#DictVersionTests.test_setitem_equalcCs0| ¡}| ||jdd¡| ||jdd¡dS)Nr)r5r6)rrÚ setdefaultrr'r r r Útest_setdefaultysz DictVersionTests.test_setdefaultcCs6|jdd}| ||jd¡| ||jt|jd¡dS©Nr-r*r))rrÚ __delitem__rÚ assertRaisesÚKeyErrorr'r r r Ú test_delitem‚s   ÿzDictVersionTests.test_delitemcCs6|jdd}| ||jd¡| ||jt|jd¡dSr:)rrÚpoprr<r=r'r r r Útest_popŒs   ÿzDictVersionTests.test_popcCs2|jdd}| ||j¡| ||jt|j¡dS©Nr-r*)rrÚpopitemrr<r=r'r r r Ú test_popitem–s   ÿzDictVersionTests.test_popitemcCsL|jdd}| ||j¡|j||jdd|jdd}| ||j|¡dS)Nr-r*z new valuezvalue 3)rrr,rr#r r r Ú test_update s   zDictVersionTests.test_updatecCs,|jdd}| ||j¡| ||j¡dSrA)rrÚclearrr'r r r Ú test_clear¬s zDictVersionTests.test_clearN)r1r2r3rrr rrrrrr%r(r.r7r9r>r@rCrDrFr r r r r s"        rc@s eZdZdS)ÚDictN)r1r2r3r r r r rG¶srGc@seZdZeZdS)ÚDictSubtypeVersionTestsN)r1r2r3rGrr r r r rHºsrHÚ__main__) Ú__doc__ZunittestÚtestrÚ import_modulerZTestCaserrrGrHr1Úmainr r r r Ús  +