
    ѝi                         S r SSKJrJr  SSKrSSKJr  \" S5        SSKJrJ	r	J
r
   " S S\5      r " S	 S
\R                  5      r\S:X  a  \R                  " SS9  gg)zTest percolator, coverage 100%.    )
Percolator	DelegatorN)requiresgui)TextTkENDc                   D    \ rS rSrS rS rS rS
S jrS
S jrS
S jr	S	r
g)MyFilter
   c                 2    [         R                  " U S 5        g N)r   __init__selfs    3lib/python3.13/idlelib/idle_test/test_percolator.pyr   MyFilter.__init__   s    4&    c                 B    Xl         U R                  R                  " U6   g r   )insert_called_withdelegateinsertr   argss     r   r   MyFilter.insert       "&d#r   c                 B    Xl         U R                  R                  " U6   g r   )delete_called_withr   deleter   s     r   r   MyFilter.delete   r   r   Nc                 Z    UR                  5       nU R                  R                  X5        g r   )upperr   r   r   indexcharstagss       r   uppercase_insertMyFilter.uppercase_insert       U*r   c                 Z    UR                  5       nU R                  R                  X5        g r   )lowerr   r   r#   s       r   lowercase_insertMyFilter.lowercase_insert   r)   r   c                     g r    r#   s       r   dont_insertMyFilter.dont_insert   s    r   )r   r   r   )__name__
__module____qualname____firstlineno__r   r   r   r'   r,   r0   __static_attributes__r/   r   r   r   r   
   s     '$$++r   r   c                   p    \ rS rSr\S 5       r\S 5       rS rS rS r	S r
S rS	 rS
 rS rS rS rSrg)PercolatorTest"   c                 V    [        5       U l        [        U R                  5      U l        g r   )r   rootr   textclss    r   
setUpClassPercolatorTest.setUpClass$   s    4>r   c                 @    U ? U R                  R                  5         U ?g r   )r<   r;   destroyr=   s    r   tearDownClassPercolatorTest.tearDownClass)   s    HHr   c                    [        U R                  5      U l        [        5       U l        [        5       U l        U R                  R                  U R                  5        U R                  R                  U R
                  5        g r   )r   r<   
percolatorr   
filter_one
filter_twoinsertfilterr   s    r   setUpPercolatorTest.setUp/   sP    $TYY/"*"*$$T__5$$T__5r   c                 x    U R                   R                  5         U R                  R                  S[        5        g )N1.0)rF   closer<   r   r	   r   s    r   tearDownPercolatorTest.tearDown6   s&    		$r   c                    U R                  U R                  R                  5        U R                  U R                  R
                  U R                  5        U R                  U R                  R                  U R                  5        U R                  U R                  R                  U R                  R                  5        g r   )assertIsNotNonerG   r   assertEqualrF   toprH   bottomr   s    r   test_insertfilter PercolatorTest.test_insertfilter:   sz    T__556,,doo>114??C114??3I3IJr   c                 @   [        5       nU R                  R                  U R                  5        U R	                  U R                  R
                  U R                  5        U R                  U R                  R                  5        [        5       nU R                  R                  U R                  5        U R                  R                  U5        U R                  R                  U R                  5        U R	                  U R                  R
                  U5        U R	                  UR                  U R                  5        U R	                  U R                  R                  U R                  R                  5        U R                  U R                  R                  5        g r   )r   rF   removefilterrH   rS   rT   rG   assertIsNoner   rI   rU   r   filter_threes     r   test_removefilter PercolatorTest.test_removefilter@   s
   z$$T__5,,doo>$//223z$$T__5$$\2$$T__5,,l;..@114??3I3IJ$//223r   c                     U R                   R                  SS5        U R                  U R                   R                  S[        5      S5        U R                  U R                  R                  S5        g )Nr   foorM   zfoo
)r   r`   N)r<   r   rS   getr	   assertTupleEqualrG   r   r   s    r   test_insertPercolatorTest.test_insertO   sR    		5)uc2G<doo@@5	7r   c                     U R                   R                  U R                   l        U R                  R                  SS5        U R	                  U R                  R                  S[        5      S5        g )Nr   bArrM   zBAR
)rG   r'   r   r<   rS   ra   r	   r   s    r   test_modify_insert!PercolatorTest.test_modify_insertU   sK    !%!A!A		5)uc2G<r   c                 z   [        5       nU R                  R                  U5        U R                  R                  U R                  l        U R                  R                  U R                  l        U R                  R                  SS5        U R                  U R                  R                  S[        5      S5        g )Nr   BaRrM   zbar
)r   rF   rI   rH   r'   r   rG   r,   r<   rS   ra   r	   r[   s     r   test_modify_chain_insert'PercolatorTest.test_modify_chain_insertZ   sz    z$$\2!%!A!A!%!A!A		5)uc2G<r   c                    U R                   R                  U R                   l        U R                  R                  SS5        U R	                  U R                  R                  S[        5      S5        U R                   R                  U R                   l        U R                  R                  SS5        U R	                  U R                  R                  S[        5      S5        g )Nr   zfoo barrM   
)rG   r0   r   r<   rS   ra   r	   r   s    r   test_dont_insertPercolatorTest.test_dont_insertb   s    !%!<!<		9-uc2D9!%!<!<		9-uc2D9r   c                     U R                   R                  SS5        U R                  U R                   R                  SS5      S5        g )Nr   hellorM   endzhello
)r<   r   rS   ra   r   s    r   test_without_filter"PercolatorTest.test_without_filterj   s5    		7+ue4i@r   c                     U R                   R                  SS5        U R                   R                  SS5        U R                  U R                   R	                  S[
        5      S5        U R                  U R                  R                  S5        g )Nr   r`   rM   1.2zo
)rM   rw   )	r<   r   r   rS   ra   r	   rb   rG   r   r   s    r   test_deletePercolatorTest.test_deleten   sf    		5)		&uc2E:doo@@,	.r   )rG   rH   rF   N)r2   r3   r4   r5   classmethodr?   rC   rJ   rO   rV   r]   rc   rg   rk   ro   rt   rx   r6   r/   r   r   r8   r8   "   s\    " "  
6%K47=
=:A.r   r8   __main__   )	verbosity)__doc__idlelib.percolatorr   r   unittesttest.supportr   tkinterr   r   r	   r   TestCaser8   r2   mainr/   r   r   <module>r      sZ    ! 4  !  ! !y 0Q.X&& Q.f zMMA r   