asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T a bYhh @stddlmZddlZddlmZGdddZGdddeZGdd d eZGd d d ejZ e d krpe dS) )dequeN)NEVER_EQc@seZdZddZdS)base_setcCs ||_dSNelselfrr ./usr/local/lib/python3.9/test/test_contains.py__init__szbase_set.__init__N)__name__ __module__ __qualname__r r r r r rsrc@seZdZddZdS)mysetcCs |j|kSrrrr r r __contains__ szmyset.__contains__Nr rrrr r r r r src@seZdZddZdS)seqcCs |jg|Srr)r nr r r __getitem__szseq.__getitem__N)r rrrr r r r rsrc@s,eZdZddZddZddZddZd S) TestContainscstdtd}td}|d||d||d||d||tfdd|tfdd|dd|dd|d d |d d|td ddS) NrcsdvSNrr r ar r z0TestContains.test_common_tests..csdvSrr r rr r rrcabcdcSsddvS)Nrr r r r r r%r)rrrassertIn assertNotIn assertRaises TypeError)r brr rr test_common_testss        zTestContains.test_common_testscCstd}|D]}|||q |d||||t|}|D]}|||qB|d||||Gddd}|||jdS)N c@s$eZdZdZeedZddZdS)z:TestContains.test_builtin_sequence_types..Deviant1zBehaves strangely when compared This class is designed to make sure that the contains code works when the list is modified during the check. cSs0|dkr,|jd|jd|jddS)N r)aListremover otherr r r __eq__<s    zATestContains.test_builtin_sequence_types..Deviant1.__eq__N)r rr__doc__listranger-r1r r r r Deviant15s r5)r4r!r"tupler-)r rir5r r r test_builtin_sequence_types's    z(TestContains.test_builtin_sequence_typescCsptddddtf}tttjtttf}|D]B}||}|D]}| ||q8| |||k| ||kq(dS)Nnanrr) floatrr3r6dictfromkeysset frozensetrr!Z assertTrue)r valuesZ constructors constructor containerelemr r r test_nonreflexiveEszTestContains.test_nonreflexivecsdGdddt}|}Gddd|}||d|v|dtv|tfdddS)Nc@seZdZddZdS)z4TestContains.test_block_fallback..ByContainscSsdS)NFr r/r r r rUszATestContains.test_block_fallback..ByContains.__contains__Nrr r r r ByContainsTsrDc@seZdZdZddZdZdS)z7TestContains.test_block_fallback..BlockContainsaIs not a container This class is a perfectly good iterable (as tested by list(bc)), as well as inheriting from a perfectly good container, but __contains__ = None prevents the usual fallback to iteration in the container protocol. That is, normally, 0 in bc would fall back to the equivalent of any(x==0 for x in bc), but here it's blocked from doing so. cssdSrr )r r r r __iter__csz@TestContains.test_block_fallback..BlockContains.__iter__N)r rrr2rErr r r r BlockContainsXs rFrcsdvS)Nrr r Zbcr r rjrz2TestContains.test_block_fallback..)objectZ assertFalser3r#r$)r rDrrFr rGr test_block_fallbackRsz TestContains.test_block_fallbackN)r rrr&r8rCrIr r r r rs r__main__) collectionsrZunittestZ test.supportrrrrZTestCaserr mainr r r r s  Z