
    /hhh                         S SK Jr  S SKrS SKJr   " S S5      r " S S\5      r " S S	\5      r " S
 S\R                  5      r	\
S:X  a  \R                  " 5         gg)    )dequeN)NEVER_EQc                       \ rS rSrS rSrg)base_set   c                     Xl         g Nelselfr   s     ;/opt/python-3.13.8/usr/lib/python3.13/test/test_contains.py__init__base_set.__init__   s        r
   N)__name__
__module____qualname____firstlineno__r   __static_attributes__ r   r   r   r      s    r   r   c                       \ rS rSrS rSrg)myset
   c                      U R                   U:H  $ r	   r
   r   s     r   __contains__myset.__contains__   s    ww"}r   r   Nr   r   r   r   r   r   r   r   r   r   r   
   s    r   r   c                       \ rS rSrS rSrg)seq   c                 "    U R                   /U   $ r	   r
   )r   ns     r   __getitem__seq.__getitem__   s    y|r   r   N)r   r   r   r   r$   r   r   r   r   r    r       s    r   r    c                   ,    \ rS rSrS rS rS rS rSrg)TestContains   c                   ^ [        S5      m[        S5      n[        S5      nU R                  SU5        U R	                  SU5        U R                  SU5        U R	                  SU5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  SS5        U R	                  SS5        U R                  SS5        U R                  SS5        U R                  [        S	 5        g )
N   r   c                     > ST ;   $ Nr*   r   as   r   <lambda>0TestContains.test_common_tests.<locals>.<lambda>   s	    Q!Vr   c                     > ST ;  $ r,   r   r-   s   r   r/   r0      s	    QaZr   cabcd c                      S S;   $ )Nr3   r   r   r   r   r/   r0   %   s    TU]r   )r   r   r    assertInassertNotInassertRaises	TypeError)r   br2   r.   s      @r   test_common_testsTestContains.test_common_tests   s    QK!HFaAaA)^4)%78 	c5!e$b"b% )%:;r   c                 z   [        S5      nU H  nU R                  X!5        M     U R                  SU5        U R                  X5        [        U5      nU H  nU R                  X!5        M     U R                  SU5        U R                  X5         " S S5      nU R                  U" 5       UR                  5        g )Nr      c                   :    \ rS rSrSr\" \" S5      5      rS rSr	g):TestContains.test_builtin_sequence_types.<locals>.Deviant15   zBehaves strangely when compared

This class is designed to make sure that the contains code
works when the list is modified during the check.
   c                     US:X  aQ  U R                   R                  S5        U R                   R                  S5        U R                   R                  S5        g)N      r!   r   )aListremover   others     r   __eq__ATestContains.test_builtin_sequence_types.<locals>.Deviant1.__eq__<   sB    B;JJ%%b)JJ%%b)JJ%%b)r   r   N)
r   r   r   r   __doc__listrangerG   rK   r   r   r   r   Deviant1rA   5   s    
 rOEr   rP   )rO   r7   r8   tuplerG   )r   r.   irP   s       r   test_builtin_sequence_types(TestContains.test_builtin_sequence_types'   s    "IAMM! Q!HAMM! Q	 	 	X^^4r   c                 .   [        S5      SS S[        4n[        [        [        R
                  [        [        [        4nU HQ  nU" U5      nU H  nU R                  XT5        M     U R                  XC" U5      :H  5        U R                  XD:H  5        MS     g )Nnanr*   r3   )floatr   rN   rQ   dictfromkeysset	frozensetr   r7   
assertTrue)r   valuesconstructorsconstructor	containerelems         r   test_nonreflexiveTestContains.test_nonreflexiveE   s}     uq$x7UDMM3	5H'K#F+I!d. "OOIV)<<=OOI23 (r   c                    ^  " S S[         5      nU" 5       n " S SU5      nU" 5       mU R                  SU;   5        U R                  S[        T5      ;   5        U R                  [        U4S j5        g )Nc                       \ rS rSrS rSrg)4TestContains.test_block_fallback.<locals>.ByContainsT   c                     g)NFr   rI   s     r   r   ATestContains.test_block_fallback.<locals>.ByContains.__contains__U   s    r   r   Nr   r   r   r   
ByContainsrf   T   s    r   rj   c                   "    \ rS rSrSrS rSrSrg)7TestContains.test_block_fallback.<locals>.BlockContainsX   ad  Is 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.
c              3      #    g 7fr	   r   )r   s    r   __iter__@TestContains.test_block_fallback.<locals>.BlockContains.__iter__c   s     s   Nr   )r   r   r   r   rM   ro   r   r   r   r   r   BlockContainsrl   X   s    	  Lr   rq   r   c                     > ST ;   $ )Nr   r   )bcs   r   r/   2TestContains.test_block_fallback.<locals>.<lambda>j   s	    Q"Wr   )objectassertFalserN   r9   r:   )r   rj   r2   rq   rs   s       @r   test_block_fallback TestContains.test_block_fallbackR   se    	 	 L	 J 	  _a d2h')_5r   r   N)	r   r   r   r   r<   rS   rb   rw   r   r   r   r   r'   r'      s    <(5<46r   r'   __main__)collectionsr   unittesttest.supportr   r   r   r    TestCaser'   r   mainr   r   r   <module>r      s]      ! H ( X68$$ X6t zMMO r   